Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Comment: | fixed ticket [e9cab7cd97] about OCI_SUCCESS_WITH_INFO not returning any data - thanks mpv for the patch! |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5cceb081ac484a49b1c83a924e2c3747 |
User & Date: | User 2014-07-31 20:09:42 |
2014-08-01
| ||
17:51 | continuing interface-based services client code generation for implementing [09ae8513eb], [168eb753e5] and [d7e5521da5] check-in: d6e2acd141 user: User tags: trunk | |
2014-07-31
| ||
20:09 | fixed ticket [e9cab7cd97] about OCI_SUCCESS_WITH_INFO not returning any data - thanks mpv for the patch! check-in: 5cceb081ac user: User tags: trunk | |
19:58 | huge enhancements for Delphi and SmartMobileStudio client code generation - see feature requests [09ae8513eb], [168eb753e5] and [d7e5521da5] check-in: d1d5435a5a user: User tags: trunk | |
Changes to SynDBOracle.pas.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 114 115 116 117 118 119 120 121 122 123 124 125 126 127 .... 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 .... 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 |
The Initial Developer of the Original Code is Arnaud Bouchez. Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): - richard6688 Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to ................................................................................ - when a column charset does not match the connection value, log a warning and force connection-level code page instead of raising an Exception - fixed ticket [4c68975022] about broken SQL statement when logging active - fixed ticket [545fbe7579] about TSQLDBConnection.LastErrorMessage not reset - fixed ticket [5df9d39858] about NULL bindings in TSQLDBOracleStatement - fixed ticket [aff1352239] to identify 9999-12-31 dates as valid - fixed ticket [73aec05724] about potential BLOB/CURSOR resource leaks - fixed truncated error message in TSQLDBOracleLib.HandleError() method - allow to return NULL columns (ex. "SELECT one, two, NULL AS three FROM table") - fix potential ORA-24333 error when using stored procedures - strip error text constants to decrease the generated .exe size by about 16KB - create environment with OCI_EVENTS + OCI_THREADED for ticket [7f23c8d8d4], and adding TSQLDBOracleConnectionProperties.EnvironmentInitializationMode - added TSQLDBOracleConnectionProperties.RowsPrefetchSize property ................................................................................ ErrorGet(ErrorHandle,1,nil,ErrNum,tmp,sizeof(tmp),OCI_HTYPE_ERROR); L := SynCommons.StrLen(@tmp); while (L>0) and (tmp[L-1]<' ') do begin tmp[L-1] := #0; // trim right #10 dec(L); end; if (Status=OCI_SUCCESS_WITH_INFO) and not InfoRaiseException then LogLevelNoRaise := sllInfo; msg := CurrentAnsiConvert.AnsiBufferToRawUTF8(tmp,L); end; OCI_NEED_DATA: msg := 'OCI_NEED_DATA'; OCI_NO_DATA: msg := 'OCI_NO_DATA'; OCI_INVALID_HANDLE: ................................................................................ end; end; procedure TSQLDBOracleStatement.FetchTest(Status: integer); begin fRowFetched := 0; case Status of OCI_SUCCESS: if fColumnCount<>0 then fRowFetched := fRowCount; OCI_NO_DATA: begin assert(fColumnCount<>0); OCI.AttrGet(fStatement,OCI_HTYPE_STMT,@fRowFetched,nil,OCI_ATTR_ROWS_FETCHED,fError); fRowFetchedEnded := true; end; else OCI.Check(Status,fError); // will raise error end; |
> > > | | > > > |
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 .... 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 .... 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 |
The Initial Developer of the Original Code is Arnaud Bouchez. Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): - richard6688 - mpv Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to ................................................................................ - when a column charset does not match the connection value, log a warning and force connection-level code page instead of raising an Exception - fixed ticket [4c68975022] about broken SQL statement when logging active - fixed ticket [545fbe7579] about TSQLDBConnection.LastErrorMessage not reset - fixed ticket [5df9d39858] about NULL bindings in TSQLDBOracleStatement - fixed ticket [aff1352239] to identify 9999-12-31 dates as valid - fixed ticket [73aec05724] about potential BLOB/CURSOR resource leaks - fixed ticket [e9cab7cd97] about OCI_SUCCESS_WITH_INFO not returning any data - fixed truncated error message in TSQLDBOracleLib.HandleError() method - allow to return NULL columns (ex. "SELECT one, two, NULL AS three FROM table") - fix potential ORA-24333 error when using stored procedures - strip error text constants to decrease the generated .exe size by about 16KB - create environment with OCI_EVENTS + OCI_THREADED for ticket [7f23c8d8d4], and adding TSQLDBOracleConnectionProperties.EnvironmentInitializationMode - added TSQLDBOracleConnectionProperties.RowsPrefetchSize property ................................................................................ ErrorGet(ErrorHandle,1,nil,ErrNum,tmp,sizeof(tmp),OCI_HTYPE_ERROR); L := SynCommons.StrLen(@tmp); while (L>0) and (tmp[L-1]<' ') do begin tmp[L-1] := #0; // trim right #10 dec(L); end; if (Status=OCI_SUCCESS_WITH_INFO) and not InfoRaiseException then if LogLevelNoRaise=sllNone then // may be e.g. sllWarning LogLevelNoRaise := sllInfo; msg := CurrentAnsiConvert.AnsiBufferToRawUTF8(tmp,L); end; OCI_NEED_DATA: msg := 'OCI_NEED_DATA'; OCI_NO_DATA: msg := 'OCI_NO_DATA'; OCI_INVALID_HANDLE: ................................................................................ end; end; procedure TSQLDBOracleStatement.FetchTest(Status: integer); begin fRowFetched := 0; case Status of OCI_SUCCESS, OCI_SUCCESS_WITH_INFO: begin if fColumnCount<>0 then fRowFetched := fRowCount; if Status = OCI_SUCCESS_WITH_INFO then OCI.Check(Status,fError,false,sllWarning); end; OCI_NO_DATA: begin assert(fColumnCount<>0); OCI.AttrGet(fStatement,OCI_HTYPE_STMT,@fRowFetched,nil,OCI_ATTR_ROWS_FETCHED,fError); fRowFetchedEnded := true; end; else OCI.Check(Status,fError); // will raise error end; |