1 /* Copyright (c) 2001-2016, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 
32 package org.hsqldb.error;
33 
34 /**
35  * SQL error codes.
36  *
37  * @author Fred Toussi (fredt@users dot sourceforge.net)
38  * @version 2.3.1
to_api_index(self) -> Result<HostApiIndex, PaError>39  * @since 1.9.0
40  */
41 public interface ErrorCode {
42 
43     // neutral placeholder strings
44     int TOKEN_REQUIRED    = 1;                     // $$ required: $$
45     int CONSTRAINT        = 2;                     // $$ table: $$
46     int COLUMN_CONSTRAINT = 3;                     // $$ table: $$ column: $$
47 
48     //
49     int M_ERROR_IN_BINARY_SCRIPT_1 = 21;           // \u0020table $$ row count error : $$ read, needed $$
50     int M_ERROR_IN_BINARY_SCRIPT_2 = 22;           // \u0020 wrong data for insert operation
51     int M_DatabaseManager_getDatabase = 23;        // attempt to connect while db opening /closing
52     int M_parse_line                = 24;          // \u0020line:\u0020
53     int M_DatabaseScriptReader_read = 25;          // \u0020line: $$ $$
54     int M_Message_Pair              = 26;          // \u0020$$ $$
55     int M_LOAD_SAVE_PROPERTIES      = 27;          // \u0020$$.properties $$
56     int M_HsqlProperties_load       = 28;          // properties name is null or empty
57 
58     //
59     int M_TEXT_SOURCE_FIELD_ERROR      = 41;       // S1000 Error in text source field
60     int M_TextCache_opening_file_error = 42;       // openning file: $$ error: $$
61     int M_TextCache_closing_file_error = 43;       // closing file: $$ error: $$
62     int M_TextCache_purging_file_error = 44;       // purging file: $$ error: $$
63 
64     //
65     int M_DataFileCache_makeRow = 51;              // error $$ reading row - file $$
66     int M_DataFileCache_open    = 52;              // error $$ opening file - file $$
67     int M_DataFileCache_close   = 53;              // error $$ closing file - file $$
68 
69     //
70     int M_SERVER_OPEN_SERVER_SOCKET_1 = 61;        // Invalid address : $$\nTry one of: $$
71     int M_SERVER_OPEN_SERVER_SOCKET_2 = 62;        // Invalid address : $$
72     int M_SERVER_SECURE_VERIFY_1      = 63;        // Server certificate has no Common Name
73     int M_SERVER_SECURE_VERIFY_2      = 64;        // Server certificate has empty Common Name
74     int M_SERVER_SECURE_VERIFY_3 = 65;             // Certificate Common Name[$$] does not match host name[$$]
75 
76     //
77     int M_RS_EMPTY        = 70;                    // ResultSet is empty
78     int M_RS_BEFORE_FIRST = 71;                    // ResultSet is positioned before first row
79     int M_RS_AFTER_LAST   = 72;                    // ResultSet is positioned after last row
80 
81     //
82     int M_INVALID_LIMIT = 81;                      // ; in LIMIT, OFFSET or FETCH
83 
84     // SQLSTATE definitions
85     // successful completion
86     int S_00000 = 0;                               // successful completion
87 
88     //
89     int U_S0500 = 201;                             // unsupported internal operation
90     int X_S0501 = 301;                             // no file name specified for source // TEXT_TABLE_SOURCE_FILENAME = 172
91     int X_S0502 = 302;                             // no value specified for field // TEXT_TABLE_SOURCE_VALUE_MISSING= 173
92     int X_S0503 = 303;                             // zero-length separator // TEXT_TABLE_SOURCE_SEPARATOR = 174
93     int X_S0504 = 304;                             // length of text quote character must be 1
94     int X_S0521 = 320;                             // operation is not allowed on text table with data
95     int X_S0522 = 321;                             // invalid statement - text table required
96     int X_S0531 = 331;                             // text file encode / decode error:
97     int X_S0532 = 332;                             // UTF-16 encoding string required
98 
99     // HSQLDB authentication
100     int PASSWORD_COMPLEXITY = 391;                 // S1000 password complexity
101 
102     // HSQLDB Server
103     int SERVER_TRANSFER_CORRUPTED    = 401;        // S1000 Transfer corrupted
104     int SERVER_DATABASE_DISCONNECTED = 402;        // S0504 database disconnected
105     int SERVER_VERSIONS_INCOMPATIBLE = 403;        // S0504 Client driver version greater than '$$' is required ....
106     int SERVER_UNKNOWN_CLIENT = 404;               // S0504 Network client is not a HSQLDB JDBC driver
107     int SERVER_HTTP_NOT_HSQL_PROTOCOL = 405;       // S0504 Client using HSQLDB http protocol instead of hsql
108     int SERVER_INCOMPLETE_HANDSHAKE_READ = 406;    // S0504 Incomplete read of handshaking bytes
109     int SERVER_NO_DATABASE = 407;                  // S1000 no valid database paths
110 
111     //
112     // HSQLDB JDBC
113     int JDBC_COLUMN_NOT_FOUND      = 421;          // S1000 Column not found
114     int JDBC_INPUTSTREAM_ERROR     = 422;          // S1000 InputStream error
115     int JDBC_INVALID_ARGUMENT      = 423;          // S1OO0 Invalid argument in JDBC call
116     int JDBC_PARAMETER_NOT_SET     = 424;          // S1000 Parameter not set
117     int JDBC_CONNECTION_NATIVE_SQL = 425;          // S1000 Unknown JDBC escape sequence: {
118 
119     // HSQLDB non-core and file errors
120     int LOCK_FILE_ACQUISITION_FAILURE = 451;       // S1000 Database lock acquisition failure
121     int FILE_IO_ERROR               = 452;         // S1000 File input/output error
122     int WRONG_DATABASE_FILE_VERSION = 453;         // S1000 unsupported database file version
123     int DATA_FILE_BACKUP_MISMATCH   = 454;         // S1000 Data file modified, no backup
124     int DATABASE_IS_READONLY        = 455;         // S1000 The database is in read only mode
125     int DATA_IS_READONLY            = 456;         // S1000 The table data is read only
126     int ACCESS_IS_DENIED            = 457;         // S1000 Access is denied
127     int GENERAL_ERROR               = 458;         // S1000 General error
128     int DATABASE_IS_MEMORY_ONLY     = 459;         // S1000 Database is memory only
129     int OUT_OF_MEMORY               = 460;         // S1000 Out of Memory
130     int ERROR_IN_SCRIPT_FILE        = 461;         // S1000 error in script file
131     int UNSUPPORTED_FILENAME_SUFFIX = 462;         // S1000 Unsupported suffix in file name '$$'.  (Supported suffixes:  $$)
132     int COMPRESSION_SUFFIX_MISMATCH = 463;         // S1000 Mismatch between specified compression mode '$$' and file name '$$'
133     int DATABASE_IS_NON_FILE = 464;                // S1000 Database is non-file type
134     int DATABASE_NOT_EXISTS  = 465;                // S1000 Database does not exist
135     int DATA_FILE_ERROR      = 466;                // S1000 Data File input/output error
136     int GENERAL_IO_ERROR     = 467;                // S1000 IO error
137     int DATA_FILE_IS_FULL    = 468;                // S1000 Data file size limit is reached
138     int DATA_FILE_IN_USE     = 469;                // S1000 Data file is in use
139     int BACKUP_ERROR         = 470;                // S1000 Backup error
140     int DATA_CACHE_IS_FULL   = 471;                // S1000 Data cache size limit is reached
141     int ERROR_IN_LOG_FILE    = 472;                // S1000 problem with log file
142 
143     // HSQLDB Text tables
144     int TEXT_TABLE_UNKNOWN_DATA_SOURCE = 481;      // S1000 The table's data source for has not been defined
145     int TEXT_TABLE_SOURCE = 482;                   // S1000 Invalid TEXT table source string
146     int TEXT_FILE         = 483;                   // S1000 bad TEXT table source file - line number: $$ $$
147     int TEXT_FILE_IO            = 484;             // S1000 TEXT table source file - IO error:
148     int TEXT_STRING_HAS_NEWLINE = 485;             // S1000 end-of-line characters not allowed
149     int TEXT_TABLE_HEADER            = 486;        // S1000 Header not allowed or too long
150     int TEXT_SOURCE_EXISTS           = 487;        // S1000 Text source file already exists
151     int TEXT_SOURCE_NO_END_SEPARATOR = 488;        // S1000 No end sep.
152 
153     // warning
154     int W_01000 = 1000;                            // warning - generic
155     int W_01001 = 1001;                            // cursor operation conflict - 200x
156     int W_01002 = 1002;                            // disconnect error - 200x
157     int W_01003 = 1003;                            // null value eliminated in set function - 200x
158     int W_01004 = 1004;                            // string data, right truncation - 200x
159     int W_01005 = 1005;                            // insufficient item descriptor areas - 200x
160     int W_01006 = 1006;                            // privilege not revoked - 200x
161     int W_01007 = 1007;                            // privilege not granted - 200x
162     int W_01009 = 1009;                            // search condition too long for information schema - 200x
163     int W_0100A = 1010;                            // query expression too long for information schema - 200x
164     int W_0100B = 1011;                            // default value too long for information schema - 200x
165     int W_0100C = 1012;                            // result sets returned - 200x
166     int W_0100D = 1013;                            // additional result sets returned - 200x
167     int W_0100E = 1014;                            // attempt to return too many result sets - 200x
168     int W_0100F = 1015;                            // statement too long for information schema - 200x
169     int W_01011 = 1016;                            // SQL-Java path too long for information schema
170     int W_0102F = 1017;                            // array data, right truncation - 200x
171 
172     // no data - 200x
173     int N_02000 = 1100;                            // no data - generic
174     int N_02001 = 1101;                            // no data: no additional result sets returned
175 
176     // dynamic SQL error - 200x
177     int X_07000 = 1200;                            // dynamic SQL error
178     int X_07001 = 1201;                            // dynamic SQL error: using clause does not match dynamic parameter specifications
179     int X_07002 = 1202;                            // dynamic SQL error: using clause does not match target specifications
180     int X_07003 = 1203;                            // dynamic SQL error: cursor specification cannot be executed
181     int X_07004 = 1204;                            // dynamic SQL error: using clause required for dynamic parameters
182     int X_07005 = 1205;                            // dynamic SQL error: prepared statement not a cursor specification
183     int X_07006 = 1206;                            // dynamic SQL error: restricted data type attribute violation
184     int X_07007 = 1207;                            // dynamic SQL error: using clause required for result fields
185     int X_07008 = 1208;                            // dynamic SQL error: invalid descriptor count
186     int X_07009 = 1209;                            // dynamic SQL error: invalid descriptor index
187     int X_0700B = 1211;                            // dynamic SQL error: data type transform function violation
188     int X_0700C = 1212;                            // dynamic SQL error: undefined DATA value
189     int X_0700D = 1213;                            // dynamic SQL error: invalid DATA target
190     int X_0700E = 1214;                            // dynamic SQL error: invalid LEVEL value
191     int X_0700F = 1215;                            // dynamic SQL error: invalid DATETIME_INTERVAL_CODE
192 
193     // HSQLDB
194     int X_07501 = 1251;                            // statement is closed
195     int X_07502 = 1252;                            // statement is invalid
196     int X_07503 = 1253;                            // statement does not generate a row count
197     int X_07504 = 1254;                            // statement does not generate a result set
198     int X_07505 = 1255;                            // statement is in batch mode
199     int X_07506 = 1256;                            // statement is not in batch mode
200 
201     // connection exception - 200x
202     int X_08000 = 1300;                            // connection exception
203     int X_08001 = 1301;                            // connection exception: SQL-client unable to establish SQL-connection
204     int X_08002 = 1302;                            // connection exception: connection name in use
205     int X_08003 = 1303;                            // connection exception: connection does not exist
206     int X_08004 = 1304;                            // connection exception: SQL-server rejected establishment of SQL-connection
207     int X_08006 = 1305;                            // connection exception: connection failure
208     int X_08007 = 1306;                            // connection exception: transaction resolution unknown
209 
210     // HSQLDB connection
211     int X_08501 = 1351;                            // connection exception: timed out
212     int X_08502 = 1352;                            // warning: unsupported client info
213     int X_08503 = 1353;                            // connection exception: closed
214 
215     // triggered action exception - 200x
216     int X_09000 = 1400;                            // triggered action exception
217 
218     // feature not supported - 200x
219     int X_0A000 = 1500;                            // feature not supported
220     int X_0A001 = 1501;                            // feature not supported: multiple server transactions
221 
222     // HSQLDB feature not supported
223     int X_0A501 = 1551;                            // feature not supported:
224 
225     // invalid target type specification - 200x
226     int X_0D000 = 1600;                            // invalid target type specification
227 
228     // invalid schema name list specification - 200x
229     int X_0E000 = 1700;                            // invalid schema name list specification
230 
231     // locator exception - 2003
232     int X_0F000 = 1800;                            // locator exception
233     int X_0F001 = 1801;                            // locator exception: invalid specification
234 
235     // HSQLDB locator
236     int X_0F502 = 1852;                            // lob is no longer valid
237     int X_0F503 = 1853;                            // lob stream is closed
238 
239     // resignal when handler not active - xxxx
240     int X_0K000 = 1900;                            // resignal when handler not active
241 
242     // invalid grantor - 2003
243     int X_0L000 = 2000;                            // invalid grantor
244 
245     // HSQLDB
246     int X_0L501 = 2051;                            // invalid grantor - lacks CREATE_SCHEMA privilege
247 
248     // invalid SQL-invoked procedure reference - 2003
249     int X_0M000 = 2100;                            // invalid SQL-invoked procedure reference
250 
251     // invalid role specification - 2003
252     int X_0P000 = 2200;                            // invalid role specification
253 
254     // HSQLDB
255     int X_0P501 = 2251;                            // invalid role specification - circular grant
256     int X_0P502 = 2252;                            // invalid role specification - already granted
257     int X_0P503 = 2253;                            // invalid role specification - does not have role
258 
259     // invalid transform group name specification - 2003
260     int X_0S000 = 2300;                            // invalid transform group name specification
261 
262     // target table disagrees with cursor specification - 2003
263     int X_0T000 = 2400;                            // target table disagrees with cursor specification
264 
265     // attempt to assign to non-updatable column - 2003
266     int X_0U000 = 2500;                            // attempt to assign to non-updatable column
267 
268     // attempt to assign to ordering column - 2003
269     int X_0V000 = 2600;                            // attempt to assign to ordering column
270 
271     // prohibited statement encountered during trigger execution - 2003
272     int X_0W000 = 2700;                            // prohibited statement encountered during trigger execution
273 
274     // invalid foreign server specification - xxxx
275     int X_0X000 = 2800;                            // invalid foreign server specification
276 
277     // pass-through specific condition - xxxx
278     int X_0Y000 = 2900;                            // pass-through specific condition
279     int X_0Y001 = 2901;                            // pass-through specific condition: invalid cursor option
280     int X_0Y002 = 2902;                            // pass-through specific condition: invalid cursor allocation
281 
282     // diagnostics exception - 2003
283     int X_0Z000 = 3000;                            // diagnostics exception
284     int X_0Z001 = 3001;                            // diagnostics exception: maximum number of stacked diagnostics areas exceeded
285 
286     // 04-PSM - xxxx
287     int X_0Z002 = 3003;                            // diagnostics exception: stacked diagnostics accessed without active handler
288 
289     // 04-PSM - 2003
290     int X_20000 = 3100;                            // case not found for case statement
291 
292     // cardinality violation - 2003
293     int X_21000 = 3201;                            // cardinality violation
294 
295     // data exception - xxxx
296     int X_22000 = 3400;                            // data exception - generic
297     int X_22001 = 3401;                            // data exception: string data, right truncation - 200x
298     int X_22002 = 3402;                            // data exception: null value, no indicator parameter - 200x
299     int X_22003 = 3403;                            // data exception: numeric value out of range - 200x
300     int X_22004 = 3404;                            // data exception: null value not allowed - 200x
301     int X_22005 = 3405;                            // data exception: error in assignment - 200x
302     int X_22006 = 3406;                            // data exception: invalid interval format - 200x
303     int X_22007 = 3407;                            // data exception: invalid datetime format - 200x
304     int X_22008 = 3408;                            // data exception: datetime field overflow - 200x
305     int X_22009 = 3409;                            // data exception: invalid time zone displacement value - 200x
306     int X_2200B = 3410;                            // data exception: escape character conflict - 200x
307     int X_2200C = 3411;                            // data exception: invalid use of escape character - 200x
308     int X_2200D = 3412;                            // data exception: invalid escape octet - 200x
309     int X_2200E = 3413;                            // data exception: null value in array target - 200x
310     int X_2200F = 3414;                            // data exception: zero-length character string - 200x
311     int X_2200G = 3415;                            // data exception: most specific type mismatch - 200x
312     int X_2200H = 3416;                            // data exception: sequence generator limit exceeded - 200x
313     int X_2200J = 3417;                            // data exception: nonidentical notations with the same name - xxxx
314     int X_2200K = 3418;                            // data exception: nonidentical unparsed entities with the same name - xxxx
315     int X_2200L = 3419;                            // data exception: not an XML document - xxxx
316     int X_2200M = 3420;                            // data exception: invalid XML document - xxxx
317     int X_2200N = 3421;                            // data exception: invalid XML content - xxxx
318     int X_2200P = 3422;                            // data exception: interval value out of range - 200x
319     int X_2200Q = 3423;                            // data exception: multiset value overflow - 200x
320     int X_2200R = 3424;                            // data exception: XML value overflow - xxxx
321     int X_2200S = 3425;                            // data exception: invalid comment - xxxx
322     int X_2200T = 3426;                            // data exception: invalid processing instruction - xxxx
323     int X_2200U = 3427;                            // data exception: not an XQuery document node - xxxx
324     int X_2200V = 3428;                            // data exception: invalid XQuery context item - xxxx
325     int X_2200W = 3429;                            // data exception: XQuery serialization error - xxxx
326     int X_22010 = 3430;                            // data exception: invalid indicator parameter value - 200x
327     int X_22011 = 3431;                            // data exception: substring error - 200x
328     int X_22012 = 3432;                            // data exception: division by zero - 200x
329     int X_22013 = 3433;                            // data exception: invalid preceding or following size in window function - 200x
330     int X_22014 = 3434;                            // data exception: invalid argument for NTILE function - 200x
331     int X_22015 = 3435;                            // data exception: interval field overflow - 200x
332     int X_22016 = 3436;                            // data exception: invalid argument for NTH_VALUE function - 200x
333     int X_22017 = 3437;                            // data exception: invalid data specified for datalink - xxxx
334     int X_22018 = 3438;                            // data exception: invalid character value for cast - 200x
335     int X_22019 = 3439;                            // data exception: invalid escape character - 200x
336     int X_2201A = 3440;                            // data exception: null argument passed to datalink constructor
337     int X_2201B = 3441;                            // data exception: invalid regular expression - 200x
338     int X_2201C = 3442;                            // data exception: null row not permitted in table - 200x
339     int X_2201D = 3443;                            // data exception: datalink value exceeds maximum length
340     int X_2201E = 3444;                            // data exception: invalid argument for natural logarithm - 200x
341     int X_2201F = 3445;                            // data exception: invalid argument for power function - 200x
342     int X_2201G = 3446;                            // data exception: invalid argument for width bucket function - 200x
343     int X_2201J = 3447;                            // data exception: XQuery sequence cannot be validated
344     int X_2201S = 3448;                            // data exception: invalid XQuery regular expression - 200x
345     int X_2201T = 3449;                            // data exception: invalid XQuery option flag - 200x
346     int X_2201U = 3450;                            // data exception: attempt to replace a zero-length string - 200x
347     int X_2201V = 3451;                            // data exception: invalid XQuery replacement string - 200x
348     int X_2201W = 3452;                            // data exception: invalid row count in fetch first clause - 200x
349     int X_2201X = 3453;                            // data exception: invalid row count in result offset clause - 200x
350     int X_22021 = 3454;                            // data exception: character not in repertoire - 200x
351     int X_22022 = 3455;                            // data exception: indicator overflow - 200x
352     int X_22023 = 3456;                            // data exception: invalid parameter value - 200x
353     int X_22024 = 3457;                            // data exception: unterminated C string - 200x
354     int X_22025 = 3458;                            // data exception: invalid escape sequence - 200x
355     int X_22026 = 3459;                            // data exception: string data, length mismatch - 200x
356     int X_22027 = 3460;                            // data exception: trim error - 200x
357     int X_22029 = 3461;                            // data exception: noncharacter in UCS string - 200x
358     int X_22020 = 3462;                            // data exception: invalid period value - 200x
359 
360     // HSQLDB data exception
361     int X_22501 = 3471;                            // value cannot be converted to target type
362     int X_22511 = 3472;                            // invalid function argument
363     int X_22521 = 3473;                            // object serialization failure
364     int X_22522 = 3474;                            // query execution reached limit of recursion
365 
366     // 04-PSM - xxxx
367     int X_2202A = 3488;                            // data exception: null value in field reference
368     int X_2202D = 3489;                            // data exception: null value substituted for mutator subject parameter - 200x
369     int X_2202E = 3490;                            // data exception: array element error
370     int X_2202F = 3491;                            // data exception: array data, right truncation - 200x
371     int X_2202G = 3492;                            // data exception: invalid repeat argument in a sample clause - 200x
372     int X_2202H = 3493;                            // data exception: invalid sample size - 200x
373 
374     // integrity constraint violation - xxxx
375     int X_23000 = 3500;                            // integrity constraint violation - 200x
376     int X_23001 = 3501;                            // integrity constraint violation: restrict violation - 200x
377     int X_23502 = 10;                              // integrity constraint violation: NOT NULL check constraint
378     int X_23503 = 177;                             // integrity constraint violation: foreign key no parent
379     int X_23504 = 8;                               // integrity constraint violation: foreign key no action
380     int X_23505 = 104;                             // integrity constraint violation: unique constraint or index
381     int X_23513 = 157;                             // integrity constraint violation: check constraint
382 
383     // invalid cursor state - xxxx
384     int X_24000 = 3600;                            // invalid cursor state - 2003
385     int X_24501 = 3601;                            // invalid cursor state: identified cursor is not open
386     int X_24502 = 3602;                            // invalid cursor state: identified cursor is already open
387     int X_24504 = 3603;                            // invalid cursor state: identifier cursor not positioned on row in UPDATE, DELETE, SET, or GET statement
388     int X_24513 = 3604;                            // invalid cursor state: cannot FETCH NEXT, PRIOR, CURRENT, or RELATIVE, cursor position is unknown
389     int X_24514 = 3605;                            // invalid cursor state: cursor disabled by previous error
390     int X_24515 = 3606;                            // invalid cursor state: all column must be set before insert
391     int X_24521 = 3621;                            // invalid cursor state: row has been modified outside the cursor
392 
393     // invalid transaction state - 200x
394     int X_25000 = 3700;                            // invalid transaction state
395     int X_25001 = 3701;                            // invalid transaction state: active SQL-transaction
396     int X_25002 = 3702;                            // invalid transaction state: branch transaction already active
397     int X_25003 = 3703;                            // invalid transaction state: inappropriate access mode for branch transaction
398     int X_25004 = 3704;                            // invalid transaction state: inappropriate isolation level for branch transaction
399     int X_25005 = 3705;                            // invalid transaction state: no active SQL-transaction for branch transaction
400     int X_25006 = 3706;                            // invalid transaction state: read-only SQL-transaction
401     int X_25007 = 3707;                            // invalid transaction state: schema and data statement mixing not supported
402     int X_25008 = 3708;                            // invalid transaction state: held cursor requires same isolation level
403 
404     // invalid SQL statement name - 2003
405     int X_26000 = 3800;                            // invalid SQL statement name
406 
407     // triggered data change violation - 2003
408     int X_27000 = 3900;                            // triggered data change violation
409 
410     // invalid authorization specification - 2003
411     int X_28000 = 4000;                            // invalid authorization specification
412 
413     // HSQLDB invalid authorization specification
414     int X_28501 = 4001;                            // invalid authorization specification - not found
415     int X_28502 = 4002;                            // invalid authorization specification - system identifier
416     int X_28503 = 4003;                            // invalid authorization specification - already exists
417 
418     // syntax error or access rule violation in direct statement
419     int X_2A000 = 4100;                            // syntax error or access rule violation in direct statement
420 
421     // dependent privilege descriptors still exist
422     int X_2B000 = 4200;                            // dependent privilege descriptors still exist
423 
424     // invalid character set name
425     int X_2C000 = 4300;                            // invalid character set name
426 
427     // invalid transaction termination
428     int X_2D000 = 4400;                            // invalid transaction termination
429     int X_2D522 = 4401;                            // invalid transaction termination: COMMIT and ROLLBACK not allowed in ATOMIC compound statement
430 
431     // invalid connection name
432     int X_2E000 = 4500;                            //invalid connection name
433 
434     // SQL routine exception
435     int X_2F000 = 4600;                            // SQL routine exception
436     int X_2F002 = 4602;                            // SQL routine exception: modifying SQL-data not permitted
437     int X_2F003 = 4603;                            // SQL routine exception: prohibited SQL-statement attempted
438     int X_2F004 = 4604;                            // SQL routine exception: reading SQL-data not permitted
439     int X_2F005 = 4605;                            // SQL routine exception: function did not execute return statement
440 
441     // invalid collation name
442     int X_2H000 = 4650;                            // invalid collation name
443 
444     // invalid SQL statement identifier
445     int X_30000 = 4660;                            // invalid SQL statement identifier
446 
447     // invalid SQL descriptor name
448     int X_33000 = 4670;                            // invalid SQL descriptor name
449 
450     // invalid cursor name
451     int X_34000 = 4680;                            // invalid cursor name
452 
453     // invalid condition number
454     int X_35000 = 4690;                            // invalid condition number
455 
456     // cursor sensitivity exception - 200x
457     int X_36000 = 4700;                            // cursor sensitivity exception
458     int X_36001 = 4701;                            // cursor sensitivity exception: request rejected
459     int X_36002 = 4702;                            // cursor sensitivity exception: request failed
460 
461     // cursor compatibility warnings
462     int W_36501 = 4711;                            // cursor sensitivity mismatch
463     int W_36502 = 4712;                            // cursor updatability mismatch
464     int W_36503 = 4713;                            // cursor holdability mismatch
465 
466     // syntax error or access rule violation in dynamic statement - xxxx
467     int X_37000 = 4790;                            // syntax error or access rule violation in dynamic statement
468 
469     // external routine exception - 2003
470     int X_38000 = 4800;                            // external routine exception
471     int X_38001 = 4801;                            // external routine exception: containing SQL not permitted
472     int X_38002 = 4802;                            // external routine exception: modifying SQL-data not permitted
473     int X_38003 = 4803;                            // external routine exception: prohibited SQL-statement attempted
474     int X_38004 = 4804;                            // external routine exception: reading SQL-data not permitted
475 
476     // external routine invocation exception - 200x
477     int X_39000 = 4810;                            // external routine invocation exception
478     int X_39004 = 4811;                            // external routine invocation exception: null value not allowed
479 
480     // savepoint exception - 200x
481     int X_3B000 = 4820;                            // savepoint exception
482     int X_3B001 = 4821;                            // savepoint exception: invalid specification
483     int X_3B002 = 4822;                            // savepoint exception: too many
484 
485     // ambiguous cursor name - 200x
486     int X_3C000 = 4830;                            // ambiguous cursor name
487 
488     // invalid catalog name - 200x
489     int X_3D000 = 4840;                            // invalid catalog name
490 
491     // invalid schema name - 200x
492     int X_3F000 = 4850;                            // invalid schema name
493 
494     // transaction rollback - 200x
495     int X_40000 = 4860;                            // transaction rollback - generic
496     int X_40001 = 4861;                            // serialization failure
497     int X_40002 = 4862;                            // integrity constraint violation
498     int X_40003 = 4863;                            // statement completion unknown
499     int X_40004 = 4864;                            // triggered action exception
500 
501     // HSQLDB internal tx management
502     int X_40501 = 4871;                            // MVCC transaction data change conflict
503     int X_40502 = 4872;                            // statement execution aborted: timeout reached
504 
505     // syntax error or access rule violation - xxxx
506     int X_42000 = 5000;                            // syntax error or access rule violation - generic - 200x
507 
508     // HSQLDB database object names
509     int X_42501 = 5501;                            // user lacks privilege or object not found
510     int X_42502 = 5502;                            // dependent objects exist
511     int X_42503 = 5503;                            // system object cannot be modified
512     int X_42504 = 5504;                            // object name already exists
513     int X_42505 = 5505;                            // invalid schema name - name mismatch
514     int X_42506 = 5506;                            // invalid catalog name
515     int X_42507 = 5507;                            // admin rights required
516     int X_42508 = 5508;                            // label not found
517     int X_42509 = 5509;                            // type not found or user lacks privilege
518     int X_42510 = 5510;                            // name too long
519 
520     // generated columns
521     int X_42512 = 5512;                            // invalid expression in CHECK or GENERATED clause
522     int X_42513 = 5513;                            // assignment to generated column
523 
524     // constraint definition issues
525     int X_42520 = 5520;                            // SET NULL requires nullable column
526     int X_42521 = 5521;                            // SET DEFAULT requires column default expression for
527     int X_42522 = 5522;                            // a UNIQUE constraint already exists on the set of columns
528     int X_42523 = 5523;                            // table has no primary key
529     int X_42524 = 5524;                            // constraint definition not allowed
530     int X_42525 = 5525;                            // identity definition not allowed
531     int X_42526 = 5526;                            // column is in primary key
532     int X_42527 = 5527;                            // column is in constraint
533     int X_42528 = 5528;                            // a FOREIGN KEY constraint already exists on the set of columns
534     int X_42529 = 5529;                            // a UNIQUE constraint does not exist on referenced columns
535     int X_42530 = 5530;                            // primary key definition not allowed
536     int X_42531 = 5531;                            // default expression needed
537     int X_42532 = 5532;                            // primary key already exist
538     int X_42533 = 5533;                            // is referenced by FOREIGN KEY constraint
539     int X_42534 = 5534;                            // column of LOB or ARRAY type cannot be used in operation
540 
541     // other definition issues
542     int X_42535 = 5535;                            // not an identity column
543     int X_42536 = 5536;                            // column is referenced in
544     int X_42537 = 5537;                            // cannot use WITH CHECK option for read-only view
545     int X_42538 = 5538;                            // TRIGGER definition not compatible with table
546     int X_42539 = 5539;                            // cannot drop a user that is currently connected
547 
548     // DML
549     int X_42541 = 5541;                            // requires DEFAULT keyword
550     int X_42542 = 5542;                            // requires OVERRIDING clause
551     int X_42543 = 5543;                            // requires either DEFAULT keyword or OVERRIDING clause
552     int X_42544 = 5544;                            // DEFAULT keyword cannot be used as column has no DEFAULT
553     int X_42545 = 5545;                            // INSERT, UPDATE, DELETE or TRUNCATE not permitted for table or view
554     int X_42546 = 5546;                            // number of target columns does not match that of query expression
555     int X_42547 = 5547;                            // merge when matched already used
556     int X_42548 = 5548;                            // merge when not matched already used
557     int X_42549 = 5549;                            // LIMIT, OFFSET or FETCH already used
558 
559     //
560     int X_42551 = 5551;                            // too many identifier parts
561     int X_42555 = 5555;                            // invalid property name
562     int X_42556 = 5556;                            // invalid property value
563 
564     // HSQLDB type conversion
565     int X_42561 = 5561;                            // incompatible data type in conversion
566     int X_42562 = 5562;                            // incompatible data types in combination
567     int X_42563 = 5563;                            // incompatible data type in operation
568     int X_42564 = 5564;                            // row column count mismatch
569     int X_42565 = 5565;                            // row expression not allowed
570     int X_42566 = 5566;                            // interval qualifier missing or not valid
571     int X_42567 = 5567;                            // data type cast needed for parameter or null literal
572     int X_42568 = 5568;                            // data type of expression is not boolean
573     int X_42569 = 5569;                            // quoted identifier required
574     int X_42570 = 5570;                            // concatenation exceeds maximum type length
575 
576     //
577     int X_42571 = 5571;                            // NULL literal not allowed
578     int X_42572 = 5572;                            // invalid GROUP BY expression
579     int X_42573 = 5573;                            // invalid HAVING expression
580     int X_42574 = 5574;                            // expression not in aggregate or GROUP BY columns
581     int X_42575 = 5575;                            // parameter marker not allowed
582     int X_42576 = 5576;                            // invalid ORDER BY expression
583     int X_42577 = 5577;                            // duplicate name in column list
584     int X_42578 = 5578;                            // duplicate column name in derived table
585     int X_42579 = 5579;                            // duplicate update of column
586     int X_42580 = 5580;                            // ambiguous column reference
587 
588     // lexical elements
589     int X_42581 = 5581;                            // unexpected token
590     int X_42582 = 5582;                            // unknown token
591     int X_42583 = 5583;                            // malformed quoted identifier
592     int X_42584 = 5584;                            // malformed string
593     int X_42585 = 5585;                            // malformed numeric constant
594     int X_42586 = 5586;                            // malformed unicode string
595     int X_42587 = 5587;                            // malformed binary string
596     int X_42588 = 5588;                            // malformed bit string
597     int X_42589 = 5589;                            // malformed comment
598     int X_42590 = 5590;                            // unexpected end of statement
599 
600     // other
601     int X_42591 = 5591;                            // needs column or cannot drop sole column of table
602     int X_42592 = 5592;                            // precision or scale out of range
603     int X_42593 = 5593;                            // column count mismatch in column name list
604     int X_42594 = 5594;                            // column count mismatch in UNION, INTERSECT, EXCEPT operation
605     int X_42595 = 5595;                            // invalid privilege specified - ALL PRIVILEGES required
606     int X_42596 = 5596;                            // schema qualifier does not match enclosing create schema statement.
607     int X_42597 = 5597;                            // number out of the valid range for sequence generator
608     int X_42598 = 5598;                            // sequence expression cannot be specified in this context
609     int X_42599 = 5599;                            // length must be specified in type definition
610 
611     // HSQLDB - PSM definition
612     int X_42601 = 5601;                            // repeat handler declaration
613     int X_42602 = 5602;                            // invalid statement in routine
614     int X_42603 = 5603;                            // dynamic parameter or variable required as INOUT or OUT argument
615     int X_42604 = 5604;                            // incompatible declaration attributes
616     int X_42605 = 5605;                            // routine signature already exists
617     int X_42606 = 5606;                            // routine variable name already exists
618     int X_42607 = 5607;                            // invalid SQLSTATE value
619     int X_42608 = 5608;                            // wrong or missing data impact clause in declaration
620     int X_42609 = 5609;                            // routine signature not found for
621     int X_42610 = 5610;                            // wrong arguments for AGGREGATE function
622     int X_42611 = 5611;                            // type incompatible with declared return type
623     int X_42612 = 5612;                            // SQL exception already used
624 
625     // with check option violation - 200x
626     int X_44000 = 5700;                            // with check option violation
627 
628     // 04-PSM
629     // unhandled user-defined exception - 200x
630     int X_45000 = 5800;                            // unhandled user-defined exception
631 
632     // SQL/JRT
633     int X_46000 = 6000;                            // Java execution / Java DDL - generic
634     int X_46001 = 6001;                            // invalid URL
635     int X_46002 = 6002;                            // invalid JAR name
636     int X_46003 = 6003;                            // invalid class deletion
637     int X_46005 = 6004;                            // invalid replacement
638     int X_4600A = 6007;                            // attempt to replace uninstalled JAR
639     int X_4600B = 6008;                            // attempt to remove uninstalled JAR
640     int X_4600C = 6009;                            // invalid JAR removal
641     int X_4600D = 6010;                            // invalid path
642     int X_4600E = 6011;                            // self-referencing path
643     int X_46102 = 6012;                            // invalid JAR name in path
644     int X_46103 = 6013;                            // unresolved class or method name
645 
646     // HSQLDB - SQL/JRT
647     int X_46511 = 6021;                            // declared parameter types do not match method signature
648 
649     // Unknown Error: Catch-All - xxxx
650     int X_99000 = 6500;                            // Unknown Error: Catch-All
651     int X_99099 = 6501;                            // Error converting vendor code to SQL state code
652 
653     // FDW-specific condition - xxxx
654     int X_HV000 = 6600;                            // FDW-specific condition - generic
655     int X_HV001 = 6601;                            // memory allocation error
656     int X_HV002 = 6602;                            // dynamic parameter value needed
657     int X_HV004 = 6603;                            // invalid data type
658     int X_HV005 = 6604;                            // column name not found
659     int X_HV006 = 6605;                            // invalid data type descriptors
660     int X_HV007 = 6606;                            // invalid column name
661     int X_HV008 = 6607;                            // invalid column number
662     int X_HV009 = 6608;                            // invalid use of null pointer
663     int X_HV00A = 6609;                            // invalid string format
664     int X_HV00B = 6610;                            // invalid handle
665     int X_HV00C = 6611;                            // invalid option index
666     int X_HV00D = 6612;                            // invalid option name
667     int X_HV00J = 6613;                            // option name not found
668     int X_HV00K = 6614;                            // reply handle
669     int X_HV00L = 6615;                            // unable to create execution
670     int X_HV00M = 6616;                            // unable to create reply
671     int X_HV00N = 6617;                            // unable to establish connection
672     int X_HV00P = 6618;                            // no schemas
673     int X_HV00Q = 6619;                            // schema not found
674     int X_HV00R = 6620;                            // table not found
675     int X_HV010 = 6621;                            // function sequence error
676     int X_HV014 = 6622;                            // limit on number of handles exceeded
677     int X_HV021 = 6623;                            // inconsistent descriptor information
678     int X_HV024 = 6624;                            // invalid attribute value
679     int X_HV090 = 6625;                            // invalid string length or buffer length
680     int X_HV091 = 6626;                            // invalid descriptor field identifier
681 
682     // datalink exception - 200x
683     int X_HW000 = 6700;                            // datalink exception - generic
684     int X_HW001 = 6701;                            // external file not linked
685     int X_HW002 = 6702;                            // external file already linked
686     int X_HW003 = 6703;                            // referenced file does not exist
687     int X_HW004 = 6704;                            // invalid write token
688     int X_HW005 = 6705;                            // invalid datalink construction
689     int X_HW006 = 6706;                            // invalid write permission for update
690     int X_HW007 = 6707;                            // referenced file not valid
691 
692     // CLI-specific condition - 200x
693     int X_HY093 = 6800;                            // CLI-specific condition: invalid datalink value
694 }
695