ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBMessages.pas
(Generate patch)

Comparing:
ibx/trunk/fbintf/client/FBMessages.pas (file contents), Revision 263 by tony, Thu Dec 6 15:55:01 2018 UTC vs.
ibx/branches/udr/client/FBMessages.pas (file contents), Revision 370 by tony, Wed Jan 5 14:59:15 2022 UTC

# Line 60 | Line 60
60   {                                                                        }
61   {************************************************************************}
62   unit FBMessages;
63 < {$IFDEF MSWINDOWS}
64 < {$DEFINE WINDOWS}
63 > {$IFDEF MSWINDOWS}
64 > {$DEFINE WINDOWS}
65   {$ENDIF}
66  
67   {$IFDEF FPC}
# Line 75 | Line 75 | uses
75    Classes, SysUtils;
76  
77   type
78  TIBDataBaseErrorMessage    = (ShowSQLCode,
79                                  ShowIBMessage,
80                                  ShowSQLMessage);
81
82  TIBDataBaseErrorMessages   = set of TIBDataBaseErrorMessage;
78    TIBClientError            = (
84      ibxeUnknownError,
79        ibxeInterBaseMissing,
86      ibxeInterBaseInstallMissing,
80        ibxeIB60feature,
81        ibxeNotSupported,
82        ibxeNotPermitted,
90      ibxeFileAccessError,
91      ibxeConnectionTimeout,
92      ibxeCannotSetDatabase,
93      ibxeCannotSetTransaction,
94      ibxeOperationCancelled,
95      ibxeDPBConstantNotSupported,
96      ibxeDPBConstantUnknown,
97      ibxeTPBConstantNotSupported,
98      ibxeTPBConstantUnknown,
83        ibxeDatabaseClosed,
100      ibxeDatabaseOpen,
101      ibxeDatabaseNameMissing,
84        ibxeNotInTransaction,
103      ibxeInTransaction,
104      ibxeTimeoutNegative,
105      ibxeNoDatabasesInTransaction,
106      ibxeUpdateWrongDB,
107      ibxeUpdateWrongTR,
108      ibxeDatabaseNotAssigned,
85        ibxeTransactionNotAssigned,
110      ibxeXSQLDAIndexOutOfRange,
111      ibxeXSQLDANameDoesNotExist,
86        ibxeEOF,
87        ibxeBOF,
88        ibxeInvalidStatementHandle,
115      ibxeSQLOpen,
89        ibxeSQLClosed,
117      ibxeDatasetOpen,
118      ibxeDatasetClosed,
90        ibxeUnknownSQLDataType,
91        ibxeInvalidColumnIndex,
121      ibxeInvalidParamColumnIndex,
92        ibxeInvalidDataConversion,
123      ibxeColumnIsNotNullable,
93        ibxeBlobCannotBeRead,
94        ibxeBlobCannotBeWritten,
95        ibxeBlobNotOpen,
96        ibxeEmptyQuery,
128      ibxeCannotOpenNonSQLSelect,
129      ibxeNoFieldAccess,
130      ibxeFieldReadOnly,
97        ibxeFieldNotFound,
132      ibxeNotEditing,
133      ibxeCannotInsert,
134      ibxeCannotPost,
135      ibxeCannotUpdate,
136      ibxeCannotDelete,
137      ibxeCannotRefresh,
138      ibxeBufferNotSet,
139      ibxeCircularReference,
98        ibxeSQLParseError,
141      ibxeUserAbort,
142      ibxeDataSetUniDirectional,
143      ibxeCannotCreateSharedResource,
144      ibxeWindowsAPIError,
145      ibxeColumnListsDontMatch,
146      ibxeColumnTypesDontMatch,
147      ibxeCantEndSharedTransaction,
148      ibxeFieldUnsupportedType,
149      ibxeCircularDataLink,
150      ibxeEmptySQLStatement,
99        ibxeIsASelectStatement,
152      ibxeRequiredParamNotSet,
153      ibxeNoStoredProcName,
100        ibxeIsAExecuteProcedure,
155      ibxeUpdateFailed,
156      ibxeNotCachedUpdates,
157      ibxeNotLiveRequest,
158      ibxeNoProvider,
159      ibxeNoRecordsAffected,
160      ibxeNoTableName,
161      ibxeCannotCreatePrimaryIndex,
162      ibxeCannotDropSystemIndex,
163      ibxeTableNameMismatch,
164      ibxeIndexFieldMissing,
165      ibxeInvalidCancellation,
166      ibxeInvalidEvent,
101        ibxeMaximumEvents,
168      ibxeNoEventsRegistered,
169      ibxeInvalidQueueing,
170      ibxeInvalidRegistration,
171      ibxeInvalidBatchMove,
172      ibxeSQLDialectInvalid,
173      ibxeSPBConstantNotSupported,
174      ibxeSPBConstantUnknown,
102        ibxeServiceActive,
103        ibxeServiceInActive,
104        ibxeServerNameMissing,
178      ibxeQueryParamsError,
179      ibxeStartParamsError,
105        ibxeOutputParsingError,
181      ibxeUseSpecificProcedures,
182      ibxeSQLMonitorAlreadyPresent,
183      ibxeCantPrintValue,
184      ibxeEOFReached,
185      ibxeEOFInComment,
186      ibxeEOFInString,
187      ibxeParamNameExpected,
188      ibxeSuccess,
189      ibxeDelphiException,
190      ibxeNoOptionsSet,
191      ibxeNoDestinationDirectory,
192      ibxeNosourceDirectory,
193      ibxeNoUninstallFile,
194      ibxeOptionNeedsClient,
195      ibxeOptionNeedsServer,
196      ibxeInvalidOption,
197      ibxeInvalidOnErrorResult,
198      ibxeInvalidOnStatusResult,
199      ibxeDPBConstantUnknownEx,
200      ibxeTPBConstantUnknownEx,
201      ibxeSV5APIError,
202      ibxeThreadFailed,
203      ibxeFieldSizeError,
204      ibxeTransactionNotEnding,
205      ibxeDscInfoTokenMissing,
206      ibxeNoLoginDialog,
106        ibxeEmptyAttachmentsList,
208      ibxeFirebirdLibraryLoaded,
209      ibxeInfoBufferIndexError,
107        ibxeInfoBufferTypeError,
211      ibxeInfoBufferOverflow,
108        ibxServiceRequestIndexError,
109        ibxServiceParamTypeError,
110        ibxeOutputBlockIndexError,
# Line 226 | Line 122 | type
122        ibxArrayBoundsCantIncrease ,
123        ibxeStatementNotPrepared,
124        ibxeInterfaceOutofDate,
229      ibxeUnexpectedDatabaseInfoResp,
125        ibxeInvalidBlobMetaData,
126        ibxeNoDPB,
127        ibxeInEventWait,
# Line 234 | Line 129 | type
129        ibxeMissingColumnName,
130        ibxStringTooLong,
131        ibxFieldNotinDataSet,
237      ibxeNotCurrentArray,
132        ibxeNoDefaultCharacterSet,
133        ibxeParamBufferOverflow,
134        ibxeInvalidParamCount,
135        ibxeInvalidVariantType,
242      ibxeServiceRunning,
243      ibxeUniqueRelationReqd,
136        ibxeInterfaceNotSupported,
137        ibxeCharacterSetExists,
138        ibxeUnknownUserCharSet,
139        ibxeUninitializedInputParameter,
248      ibxeNegativeGenerator,
249      ibxeServiceUnavailable,
250      ibxeBadConnectString,
251      ibxeServiceNotStarted,
252      ibxeNotRequiredDataSetSource,
253      ibxeNoLimboTransactionInsert,
254      ibxeDatabaseNotConnected,
140        ibxeMultiThreadRequired,
256      ibxeODSVersionRequired,
141        ibxeTokenQueueOverflow,
142        ibxeTokenQueueUnderflow,
143        ibxErrorParsing,
144        ibxeDLInfoError,
145 <      ibxeDifferentAPIs
145 >      ibxeDifferentAPIs,
146 >      ibxeInvalidDateTimeStr,
147 >      ibxeBadTimeZoneID,
148 >      ibxeBadBCDConversion,
149 >      ibxeBadTimeZoneName,
150 >      ibxeTimeZoneUnknown,
151 >      ibxeBadTimeSpecification,
152 >      ibxeBCDTooBig,
153 >      ibxeInvalidTimeZoneID,
154 >      ibxeBadTimestampOrNoTimeZoneDBEntry,
155 >      ibxeBCDOverflow,
156 >      ibxeNoTimezoneSupport,
157 >      ibxeDecFloatNotSupported,
158 >      ibxeInt128NotSupported,
159 >      ibxeUnknownParamTypeName,
160 >      ibxInvalidQueryAction,
161 >      ibxeSQLTypeUnchangeable,
162 >      ibxeCannotIncreaseMetadatasize,
163 >      ibxeBatchModeNotSupported,
164 >      ibxeNotInBatchMode,
165 >      ibxeInBatchMode,
166 >      ibxeInvalidBatchQuery,
167 >      ibxeBatchRowBufferOverflow,
168 >      ibxeBatchBufferSizeTooBig,
169 >      ibxeNoScrollableCursors
170        );
171  
172   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
173  
174 + {IBError is used internally and by IBX to throw an EIBClientError}
175 +
176 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
177 +
178   resourcestring
179    { generic strings used in code }
268  SEOFReached = 'SEOFReached';
269  SEOFInComment = 'EOF in comment detected';
270  SEOFInString = 'EOF in string detected';
180    SParamNameExpected = 'Parameter name expected';
272  SCantPrintValue = 'Cannot print value';
273  SSuccess = 'Successful execution';
274  SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
275  SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
181    sSQLErrorSeparator = ' When Executing: ';
277  SNoDataSet = 'No dataset association';
278  SSQLGenSelect = 'Must select at least one key field and one update field';
279  SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
280  SSQLDataSetOpen = 'Unable to determine field names for %s';
281  SDefaultTransaction = '%s, Default';
182    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
283  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
284  {$IFDEF WINDOWS}
285  SLibraryNameFilter = 'DLLs (*.dll)|*.dll|All files (*.*)|*.*';
286  {$ELSE}
287  SLibraryNameFilter = 'All files (*.*)|*.*';
288  {$ENDIF}
183    STrue = 'true';
184    SFalse = 'false';
185    SArray = '(array)';
186 <  SBlob = '(blob)';
186 >  SBatchCompletionError = 'Error Processing update/insert batch on row number %d - ';
187  
188   implementation
189  
190 < uses IBUtils;
190 > uses IBUtils, IB;
191  
192   resourcestring
193  
194   { strings used in error messages}
301  SUnknownError = 'Unknown error';
195    SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
303  SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
196    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
197    SNotSupported = 'Unsupported feature';
198    SNotPermitted = 'Not permitted';
307  SFileAccessError = 'Temporary file access error';
308  SConnectionTimeout = 'Database connection timed out';
309  SCannotSetDatabase = 'Cannot set database';
310  SCannotSetTransaction = 'Cannot set transaction';
311  SOperationCancelled = 'Operation cancelled at user''s request';
312  SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
313  SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
314  STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
315  STPBConstantUnknown = 'TPB Constant (%d) is unknown';
199    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
317  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
318  SDatabaseNameMissing = 'Database name is missing';
200    SNotInTransaction = 'Transaction is not active';
320  SInTransaction = 'Transaction is active';
321  STimeoutNegative = 'Timeout values cannot be negative';
322  SNoDatabasesInTransaction = 'No databases are listed in transaction component';
323  SUpdateWrongDB = 'Updating wrong database';
324  SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
325  SDatabaseNotAssigned = 'Database not assigned';
201    STransactionNotAssigned = 'Transaction not assigned';
327  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
328  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
202    SEOF = 'End of file';
203    SBOF = 'Beginning of file';
204    SInvalidStatementHandle = 'Invalid statement handle';
332  SSQLOpen = 'IBSQL Open';
205    SSQLClosed = 'IBSQL Closed';
334  SDatasetOpen = 'Dataset open';
335  SDatasetClosed = 'Dataset closed';
206    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
207    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
208 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
339 <  SInvalidDataConversion = 'Invalid data conversion';
340 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
208 >  SInvalidDataConversion = 'Invalid data conversion from %s';
209    SBlobCannotBeRead = 'Blob stream cannot be read';
210    SBlobCannotBeWritten = 'Blob stream cannot be written';
211    SBlobNotOpen = 'The Blob is not open';
212    SEmptyQuery = 'Empty query';
345  SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
346  SNoFieldAccess = 'No access to field "%s"';
347  SFieldReadOnly = 'Field "%s" is read-only';
213    SFieldNotFound = 'Field "%s" not found';
349  SNotEditing = 'Not in edit mode';
350  SCannotInsert = 'Cannot insert into dataset. (No insert query)';
351  SCannotPost = 'Cannot post. (No update/insert query)';
352  SCannotUpdate = 'Cannot update. (No update query)';
353  SCannotDelete = 'Cannot delete from dataset. (No delete query)';
354  SCannotRefresh = 'Cannot refresh row. (No refresh query)';
355  SBufferNotSet = 'Buffer not set';
356  SCircularReference = 'Circular references not permitted';
214    SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
358  SUserAbort = 'User abort';
359  SDataSetUniDirectional = 'Data set is uni-directional';
360  {$IFDEF UNIX}
361  SCannotCreateSharedResource = 'Cannot create shared resource. %s';
362  {$ELSE}
363  SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
364  {$ENDIF}
365  SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
366  SColumnListsDontMatch = 'Column lists do not match';
367  SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
368  SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
369                             'to the transaction''s TimeoutAction';
370  SFieldUnsupportedType = 'Unsupported Field Type';
371  SCircularDataLink = 'Circular DataLink Reference';
372  SEmptySQLStatement = 'Empty SQL Statement';
215    SIsASelectStatement = 'use Open for a Select Statement';
374  SRequiredParamNotSet = 'Required parameter "%s" value not set';
375  SNoStoredProcName = 'No Stored Procedure Name assigned';
216    SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
377  SUpdateFailed = 'Update Failed';
378  SNotCachedUpdates = 'CachedUpdates not enabled';
379  SNotLiveRequest = 'Request is not live - cannot modify';
380  SNoProvider = 'No Provider';
381  SNoRecordsAffected = 'No Records Affected';
382  SNoTableName = 'No Table Name assigned';
383  SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
384  SCannotDropSystemIndex = 'Cannot Drop System Index';
385  STableNameMismatch = 'Table Name Mismatch';
386  SIndexFieldMissing = 'Index Field Missing';
387  SInvalidCancellation = 'Cannot Cancel events while processing';
388  SInvalidEvent = 'Invalid Event';
217    SMaximumEvents = 'Exceded Maximum Event limits';
390  SNoEventsRegistered = 'No Events Registered';
391  SInvalidQueueing = 'Invalid Queueing';
392  SInvalidRegistration = 'Invalid Registration';
393  SInvalidBatchMove = 'Invalid Batch Move';
394  SSQLDialectInvalid = 'SQL Dialect Invalid';
395  SSPBConstantNotSupported = 'SPB Constant Not supported';
396  SSPBConstantUnknown = 'SPB Constant Unknown';
218    SServiceActive = 'Cannot perform operation -- service is not attached';
219    SServiceInActive = 'Cannot perform operation -- service is attached';
220    SServerNameMissing = 'Server Name Missing';
400  SQueryParamsError = 'Query Parameters missing or incorrect';
401  SStartParamsError = 'start Parameters missing or incorrect';
221    SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
403  SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
404  SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
405  SDelphiException = 'DelphiException %s';
406  SNoOptionsSet = 'No Install Options selected';
407  SNoDestinationDirectory = 'DestinationDirectory is not set';
408  SNosourceDirectory = 'SourceDirectory is not set';
409  SNoUninstallFile = 'Uninstall File Name is not set';
410  SOptionNeedsClient = '%s component requires Client to function properly';
411  SOptionNeedsServer = '%s component requires Server to function properly';
412  SInvalidOption = 'Invalid option specified';
413  SInvalidOnErrorResult = 'Unexpected onError return value';
414  SInvalidOnStatusResult = 'Unexpected onStatus return value';
415
416  SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
417  STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
418  SSV5APIError = 'SV5 API API Error - %s';
419  SThreadFailed = '%s Thread failed with Exception: %s';
420  sFieldSizeError = 'Field %s is too small to receive the data';
421  STransactionNotEnding = 'Transaction is not being completed';
422  SDscInfoTokenMissing = '%s token not found';
423  SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
424                   'in your program uses list?';
222    SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
426  SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
427  SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
223    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
429  SInfoBufferOverflow = 'Info Buffer overlow';
224    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
225    SServiceParamTypeError = 'Invalid Request for Service Param Type';
226    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 444 | Line 238 | resourcestring
238    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
239    SStatementNotPrepared = 'The Statement has not been prepared';
240    SInterfaceOutofDate = 'This interface is no longer up-to-date';
447  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
241    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
242    SNoDPB = 'A DPB must be provided';
243    SInEventWait = 'Already in Event Wait State';
# Line 452 | Line 245 | resourcestring
245    SMissingColumnName = 'Relation or Column Name Missing';
246    SStringTooLong = 'String "%s" is too long. Max %d characters';
247    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
455  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
248    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
249    SParamBufferOverflow = 'Parameter Buffer Overflow';
250    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
251    SInvalidVariantType = 'Invalid variant type';
460  SServiceRunning = 'Cannot start a new service while an existing service is running';
461  SUniqueRelationReqd = 'All Output Fields must derived from the same table';
252    SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
253    SCharacterSetExists = 'Character set "%s" is already defined';
254    SUnknownUserCharSet = 'Unknown user character set "%s"';
255    SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
466  SNegativeGenerator = 'A Generator Increment cannot be negative';
467  SServiceUnavailable = 'Request Service is not available';
468  SBadConnectString = 'Parse Error in Connect String';
469  SServiceNotStarted = 'Cannot Query running service until the service has been started';
470  SNotRequiredDataSetSource = 'Object of class %s is not a valid dataset source';
471  SNoLimboTransactionInsert = 'You cannot add to a Limbo Transaction list';
472  SDatabaseNotConnected = 'Cannot connect using an unattached database';
256    SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
257                           'Hint: you probably need to add -dUseCThreads to the Custom Options.';
475  SODSVersionRequired = 'This feature requires ODS Version %s or later';
258    STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
259    STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
260    SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
261    SDLInfoError = 'dlinfo returned error - %s';
262    SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
263 +  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
264 +  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
265 +  SBadBCDConversion = 'Conversion to BCD failed';
266 +  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
267 +  STimeZoneUnknown = 'Time Zone Unknown';
268 +  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
269 +  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
270 +  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
271 +  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
272 +  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
273 +  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
274 +  SDecFloatNotSupported = 'DecFloat Data Type not supported';
275 +  SInt128NotSupported = 'INT128 Data Type not supported';
276 +  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
277 +  SInvalidQueryAction = 'Query Action only valid for an Update or Insert Query';
278 +  SSQLTypeUnchangeable = 'Cannot change SQL Type from %s to %s';
279 +  SCannotIncreaseMetadatasize = 'Cannot increase Metadata size from %d to %d';
280 +  SBatchModeNotSupported = 'Batch Mode is not available. Firebird 4 or later client and server is required';
281 +  SNotInBatchMode = 'Not in Batch Mode - have you called AddToBatch?';
282 +  SInBatchMode = 'Invalid Operation: a Batch is pending';
283 +  SInvalidBatchQuery = 'This query type (%s) cannot be batched';
284 +  SBatchRowBufferOverflow = 'Adding Row No. %d - batch buffer size limit (%d bytes) exceeded';
285 +  SBatchBufferSizeTooBig = 'Requested Batch Buffer Size (%d bytes) exceeds 256MB limit';
286 +  SNoScrollableCursors = 'Scrollable cursors are not supported';
287  
288   const
289    IBErrorMessages: array[TIBClientError] of string = (
484    SUnknownError,
290      SInterBaseMissing,
486    SInterBaseInstallMissing,
291      SIB60feature,
292      SNotSupported,
293      SNotPermitted,
490    SFileAccessError,
491    SConnectionTimeout,
492    SCannotSetDatabase,
493    SCannotSetTransaction,
494    SOperationCancelled,
495    SDPBConstantNotSupported,
496    SDPBConstantUnknown,
497    STPBConstantNotSupported,
498    STPBConstantUnknown,
294      SDatabaseClosed,
500    SDatabaseOpen,
501    SDatabaseNameMissing,
295      SNotInTransaction,
503    SInTransaction,
504    STimeoutNegative,
505    SNoDatabasesInTransaction,
506    SUpdateWrongDB,
507    SUpdateWrongTR,
508    SDatabaseNotAssigned,
296      STransactionNotAssigned,
510    SXSQLDAIndexOutOfRange,
511    SXSQLDANameDoesNotExist,
297      SEOF,
298      SBOF,
299      SInvalidStatementHandle,
515    SSQLOpen,
300      SSQLClosed,
517    SDatasetOpen,
518    SDatasetClosed,
301      SUnknownSQLDataType,
302      SInvalidColumnIndex,
521    SInvalidParamColumnIndex,
303      SInvalidDataConversion,
523    SColumnIsNotNullable,
304      SBlobCannotBeRead,
305      SBlobCannotBeWritten,
306      SBlobNotOpen,
307      SEmptyQuery,
528    SCannotOpenNonSQLSelect,
529    SNoFieldAccess,
530    SFieldReadOnly,
308      SFieldNotFound,
532    SNotEditing,
533    SCannotInsert,
534    SCannotPost,
535    SCannotUpdate,
536    SCannotDelete,
537    SCannotRefresh,
538    SBufferNotSet,
539    SCircularReference,
309      SSQLParseError,
541    SUserAbort,
542    SDataSetUniDirectional,
543    SCannotCreateSharedResource,
544    SWindowsAPIError,
545    SColumnListsDontMatch,
546    SColumnTypesDontMatch,
547    SCantEndSharedTransaction,
548    SFieldUnsupportedType,
549    SCircularDataLink,
550    SEmptySQLStatement,
310      SIsASelectStatement,
552    SRequiredParamNotSet,
553    SNoStoredProcName,
311      SIsAExecuteProcedure,
555    SUpdateFailed,
556    SNotCachedUpdates,
557    SNotLiveRequest,
558    SNoProvider,
559    SNoRecordsAffected,
560    SNoTableName,
561    SCannotCreatePrimaryIndex,
562    SCannotDropSystemIndex,
563    STableNameMismatch,
564    SIndexFieldMissing,
565    SInvalidCancellation,
566    SInvalidEvent,
312      SMaximumEvents,
568    SNoEventsRegistered,
569    SInvalidQueueing,
570    SInvalidRegistration,
571    SInvalidBatchMove,
572    SSQLDialectInvalid,
573    SSPBConstantNotSupported,
574    SSPBConstantUnknown,
313      SServiceActive,
314      SServiceInActive,
315      SServerNameMissing,
578    SQueryParamsError,
579    SStartParamsError,
316      SOutputParsingError,
581    SUseSpecificProcedures,
582    SSQLMonitorAlreadyPresent,
583    SCantPrintValue,
584    SEOFReached,
585    SEOFInComment,
586    SEOFInString,
587    SParamNameExpected,
588    SSuccess,
589    SDelphiException,
590    SNoOptionsSet,
591    SNoDestinationDirectory,
592    SNosourceDirectory,
593    SNoUninstallFile,
594    SOptionNeedsClient,
595    SOptionNeedsServer,
596    SInvalidOption,
597    SInvalidOnErrorResult,
598    SInvalidOnStatusResult,
599    SDPBConstantUnknownEx,
600    STPBConstantUnknownEx,
601    SSV5APIError,
602    SThreadFailed,
603    SFieldSizeError,
604    STransactionNotEnding,
605    SDscInfoTokenMissing,
606    SNoLoginDialog,
317      SEmptyAttachmentsList,
608    SFirebirdLibraryLoaded,
609    SInfoBufferIndexError,
318      SInfoBufferTypeError,
611    SInfoBufferOverflow,
319      SServiceRequestIndexError,
320      SServiceParamTypeError,
321      SOutputBlockIndexError,
# Line 626 | Line 333 | const
333      SArrayBoundsCantIncrease,
334      SStatementNotPrepared,
335      SInterfaceOutofDate,
629    SUnexpectedDatabaseInfoResp,
336      SInvalidBlobMetaData,
337      SNoDPB,
338      SInEventWait,
# Line 634 | Line 340 | const
340      SMissingColumnName,
341      SStringTooLong,
342      SFieldNotinDataSet,
637    SNotCurrentArray,
343      SNoDefaultCharacterSet,
344      SParamBufferOverflow,
345      SInvalidParamCount,
346      SInvalidVariantType,
642    SServiceRunning,
643    SUniqueRelationReqd,
347      SInterfaceNotSupported,
348      SCharacterSetExists,
349      SUnknownUserCharSet,
350      SUninitializedInputParameter,
648    SNegativeGenerator,
649    SServiceUnavailable,
650    SBadConnectString,
651    SServiceNotStarted,
652    SNotRequiredDataSetSource,
653    SNoLimboTransactionInsert,
654    SDatabaseNotConnected,
351      SMultiThreadRequired,
656    SODSVersionRequired,
352      STokenQueueOverflow,
353      STokenQueueUnderflow,
354      SErrorParsing,
355      SDLInfoError,
356 <    SDifferentAPIs
356 >    SDifferentAPIs,
357 >    SInvalidDateTimeStr,
358 >    SBadTimeZoneID,
359 >    SBadBCDConversion,
360 >    SBadTimeZoneName,
361 >    STimeZoneUnknown,
362 >    SBadTimeSpecification,
363 >    SBCDTooBig,
364 >    SInvalidTimeZoneID,
365 >    SBadTimestampOrNoTimeZoneDBEntry,
366 >    SBCDOverflow,
367 >    SNoTimezoneSupport,
368 >    SDecFloatNotSupported,
369 >    SInt128NotSupported,
370 >    SUnknownParamTypeName,
371 >    SInvalidQueryAction,
372 >    SSQLTypeUnchangeable,
373 >    SCannotIncreaseMetadatasize,
374 >    SBatchModeNotSupported,
375 >    SNotInBatchMode,
376 >    SInBatchMode,
377 >    SInvalidBatchQuery,
378 >    SBatchRowBufferOverflow,
379 >    SBatchBufferSizeTooBig,
380 >    SNoScrollableCursors
381    );
382  
383   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
# Line 666 | Line 385 | begin
385    Result := IBErrorMessages[ErrMess];
386   end;
387  
388 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
389 + begin
390 +  raise EIBClientError.Create(Ord(ErrMess),
391 +                              Format(GetErrorMessage(ErrMess), Args));
392 + end;
393 +
394 +
395   end.
396  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines