Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / MyDerby-10.3 / java / shared / org / apache / derby / shared / common / reference / SQLState.java
diff --git a/JMCR-Stable/real-world application/MyDerby-10.3/java/shared/org/apache/derby/shared/common/reference/SQLState.java b/JMCR-Stable/real-world application/MyDerby-10.3/java/shared/org/apache/derby/shared/common/reference/SQLState.java
new file mode 100644 (file)
index 0000000..325fac6
--- /dev/null
@@ -0,0 +1,1738 @@
+/*\r
+\r
+   Derby - Class org.apache.derby.shared.common.reference.SQLState\r
+\r
+   Licensed to the Apache Software Foundation (ASF) under one or more\r
+   contributor license agreements.  See the NOTICE file distributed with\r
+   this work for additional information regarding copyright ownership.\r
+   The ASF licenses this file to You under the Apache License, Version 2.0\r
+   (the "License"); you may not use this file except in compliance with\r
+   the License.  You may obtain a copy of the License at\r
+\r
+      http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+\r
+ */\r
+\r
+package org.apache.derby.shared.common.reference;\r
+\r
+\r
+/**\r
+       List of error message identifiers.\r
+       This is the set of message identifiers. The message identifier\r
+       also encodes the SQLState as the first five characters.\r
+       StandardExceptions must be created using the static\r
+       StandardException.newException() method calls, passing in a\r
+       field from this class.\r
+       <BR>\r
+       The five character SQL State is obtained from a StandardException\r
+       using the zero-argument StandardException.getSQLState() method.\r
+       <BR>\r
+       The message identifier (ie. the value that matches a field in this class)\r
+       is obtained using the zero-argument StandardException.getMessageId() method.\r
+       <BR>\r
+       Thus if checking for a specific error using a field from this interface\r
+       the correct code is\r
+       <PRE>\r
+               if (se.getMessageId().equals(SQLState.DEADLOCK))\r
+       </PRE>\r
+       <BR>\r
+       A utility static method StandardException.getSQLState(String messageId)\r
+       exists to convert an field from this class into a five character SQLState.\r
+       <P>\r
+\r
+       <P>\r
+       The SQL state of an error message dictates the error's severity.\r
+       The severity is determined from the first two characters of the\r
+       state if the state is five characters long, otherwise the state\r
+       is expected to be 7 characters long and the last character determines\r
+       the state. If the state is seven characters long then only the first\r
+       five will be seen by the error reporting code and exception.\r
+       <BR>\r
+       If the state is 9 characters long, the last two characters encode\r
+       an exception category, which Synchronization uses to determine whether\r
+       the error causes REFRESH to halt or to simply skip the failed transaction.\r
+       All 5 and 7 character states default to the ENVIRONMENTAL exception\r
+       category.\r
+       <BR>\r
+       Here is the encoding of the SQL state, broken down by severity.\r
+       <UL>\r
+       <LI> <B> SYSTEM_SEVERITY </B>\r
+               xxxxx.M\r
+               \r
+       <LI> <B> DATABASE_SEVERITY </B>\r
+               xxxxx.D\r
+\r
+       <LI> <B> SESSION_SEVERITY </B>\r
+           08xxx\r
+               xxxxx.C\r
+\r
+       <LI> <B> TRANSACTION_SEVERITY </B>\r
+               40xxx or xxxxx.T\r
+\r
+       <LI> <B> STATEMENT_SEVERITY </B>\r
+               {2,3}xxxx, 42xxx,  07xxx  or xxxxx.S\r
+\r
+       <LI> <B> WARNING_SEVERITY </B>\r
+               01xxx <EM> SQL State rules require that warnings have states starting with 01</EM>\r
+\r
+       <LI> <B> NO_APPLICABLE_SEVERITY </B>\r
+               YYxxx (YY means none of the above) or xxxxx.U\r
+\r
+       <LI> <B> TRANSIENT exception category </B>\r
+               xxxxx.Y#T (Y can be any of the preceding severities)\r
+\r
+       <LI> <B> CONSISTENCY exception category </B>\r
+               xxxxx.Y#C (Y can be any of the preceding severities)\r
+\r
+       <LI> <B> ENVIRONMENTAL exception category (the default)</B>\r
+               xxxxx.Y#E (Y can be any of the preceding severities)\r
+\r
+       <LI> <B> WRAPPED exception category</B>\r
+               xxxxx.Y#W (Y can be any of the preceding severities)\r
+\r
+       </UL>\r
+       <HR>\r
+       <P>\r
+       <B>SQL State ranges</B>\r
+       <UL>\r
+       <LI>Basic Services\r
+         <UL>\r
+         <LI> XBCA CacheService\r
+         <LI> XBCM ClassManager\r
+         <LI> XBCX     Cryptography\r
+         <LI> XBM0     Monitor\r
+         <LI> XBDA DataComm\r
+         <LI> XCY0 Properties\r
+         </UL>\r
+\r
+       <LI>Connectivity\r
+         <UL>\r
+         <LI> 08XXX Connection Exceptions\r
+         </UL>\r
+\r
+\r
+       <LI>Language\r
+         <UL>\r
+               <LI> 2200J-2200R for SQL/XML errors (based on SQL/XML[2006]) </LI>\r
+               <LI> 42800-? for compatible DB2 errors\r
+               <LI> 42X00-42Zxx for compilation errors </LI>\r
+               <LI> 43X00-43Yxx  for org.apache.derby.impl.sql.execute.rts\r
+               <LI> 44X00  for all other org.apache.derby.catalog.types\r
+               <LI> 46000  for SQLJ errors (for now, leave this range empty) </LI>\r
+               <LI> 38000  SQL3 ranges  </LI>\r
+               <LI> XD00x  Dependency mgr </LI>\r
+               <LI> XMLxx  Misc XML errors not covered by SQL standard </LI>\r
+         <LI> \r
+         </UL>\r
+\r
+       <LI>Store\r
+         <UL>\r
+         <LI> XSCG0 Conglomerate\r
+         <LI> XSCH0 Heap\r
+         </UL>\r
+\r
+       <LI>Security\r
+         <UL>\r
+         <LI> XK...\r
+         </UL>\r
+\r
+    <LI>Reserved for IBM Use: XQC00 - XQCZZ\r
+       </UL>\r
+*/\r
+\r
+public interface SQLState {\r
+\r
+       /*\r
+       ** BasicServices\r
+       */\r
+\r
+       /*\r
+       ** Monitor\r
+       */\r
+       String SERVICE_STARTUP_EXCEPTION                        = "XBM01.D";\r
+       String SERVICE_MISSING_IMPLEMENTATION           = "XBM02.D";\r
+       String MISSING_PRODUCT_VERSION                          = "XBM05.D";\r
+       String SERVICE_WRONG_BOOT_PASSWORD                      = "XBM06.D";\r
+       String SERVICE_BOOT_PASSWORD_TOO_SHORT          = "XBM07.D";\r
+       String MISSING_ENCRYPTION_PROVIDER                      = "XBM0G.D";\r
+       String SERVICE_DIRECTORY_CREATE_ERROR           = "XBM0H.D";\r
+       String SERVICE_DIRECTORY_REMOVE_ERROR           = "XBM0I.D";\r
+       String SERVICE_DIRECTORY_EXISTS_ERROR           = "XBM0J.D";\r
+       String PROTOCOL_UNKNOWN                                         = "XBM0K.D";\r
+\r
+       // these were originally ModuleStartupExceptions\r
+       String AUTHENTICATION_NOT_IMPLEMENTED           = "XBM0L.D";\r
+       String AUTHENTICATION_SCHEME_ERROR                      = "XBM0M.D";\r
+       String JDBC_DRIVER_REGISTER                                     = "XBM0N.D";\r
+       String READ_ONLY_SERVICE                                        = "XBM0P.D";\r
+       String UNABLE_TO_RENAME_FILE                            = "XBM0S.D";\r
+       String AMBIGIOUS_PROTOCOL                                       = "XBM0T.D";\r
+\r
+       String REGISTERED_CLASS_NONE                            = "XBM0U.S";\r
+       String REGISTERED_CLASS_LINAKGE_ERROR           = "XBM0V.S";\r
+       String REGISTERED_CLASS_INSTANCE_ERROR          = "XBM0W.S";\r
+       String INVALID_LOCALE_DESCRIPTION                       = "XBM0X.D";\r
+       String INVALID_COLLATION                                = "XBM03.D";\r
+       String COLLATOR_NOT_FOUND_FOR_LOCALE        = "XBM04.D";\r
+       String SERVICE_DIRECTORY_NOT_IN_BACKUP      = "XBM0Y.D";\r
+       String UNABLE_TO_COPY_FILE_FROM_BACKUP      = "XBM0Z.D";\r
+       String PROPERTY_FILE_NOT_FOUND_IN_BACKUP    = "XBM0Q.D";\r
+       String UNABLE_TO_DELETE_FILE                = "XBM0R.D";\r
+    String INSTANTIATE_STORAGE_FACTORY_ERROR    = "XBM08.D";\r
+\r
+       /*\r
+       ** Upgrade\r
+       */\r
+       String UPGRADE_UNSUPPORTED                              = "XCW00.D";\r
+       // Note: UPGRADE_SPSRECOMPILEFAILED is now in the warnings section.\r
+       \r
+       /*\r
+       ** ContextService\r
+       */\r
+       String CONN_INTERRUPT                                   = "08000";\r
+\r
+\r
+       /*\r
+       ** ClassManager\r
+       */\r
+       String GENERATED_CLASS_LINKAGE_ERROR    = "XBCM1.S";\r
+       String GENERATED_CLASS_INSTANCE_ERROR   = "XBCM2.S";\r
+       String GENERATED_CLASS_NO_SUCH_METHOD   = "XBCM3.S";\r
+       String GENERATED_CLASS_LIMIT_EXCEEDED   = "XBCM4.S";\r
+\r
+       /*\r
+       ** Cryptography\r
+       */\r
+       String CRYPTO_EXCEPTION                         = "XBCX0.S";\r
+       String ILLEGAL_CIPHER_MODE                      = "XBCX1.S";\r
+       String ILLEGAL_BP_LENGTH                        = "XBCX2.S";\r
+       String NULL_BOOT_PASSWORD                       = "XBCX5.S";\r
+       String NON_STRING_BP                            = "XBCX6.S";\r
+       String WRONG_PASSWORD_CHANGE_FORMAT = "XBCX7.S";\r
+       String DATABASE_NOT_ENCRYPTED           = "XBCX8.S";\r
+       String DATABASE_READ_ONLY                       = "XBCX9.S";\r
+       String WRONG_BOOT_PASSWORD                      = "XBCXA.S";\r
+    String ENCRYPTION_BAD_PADDING       = "XBCXB.S";\r
+    String ENCRYPTION_NOSUCH_ALGORITHM  = "XBCXC.S";\r
+    String ENCRYPTION_NOCHANGE_ALGORITHM     = "XBCXD.S";\r
+    String ENCRYPTION_NOCHANGE_PROVIDER = "XBCXE.S";\r
+    String ENCRYPTION_NO_PROVIDER_CLASS = "XBCXF.S";\r
+    String ENCRYPTION_BAD_PROVIDER      = "XBCXG.S";\r
+    String ENCRYPTION_BAD_ALG_FORMAT    = "XBCXH.S";\r
+    String ENCRYPTION_BAD_FEEDBACKMODE  = "XBCXI.S";\r
+    String ENCRYPTION_BAD_JCE           = "XBCXJ.S";\r
+    String ENCRYPTION_BAD_EXTERNAL_KEY  = "XBCXK.S";\r
+    String ENCRYPTION_UNABLE_KEY_VERIFICATION  = "XBCXL.S";\r
+    String ENCRYPTION_INVALID_EXKEY_LENGTH          = "XBCXM.S";\r
+    String ENCRYPTION_ILLEGAL_EXKEY_CHARS           = "XBCXN.S";\r
+    String ENCRYPTION_PREPARED_XACT_EXIST             = "XBCXO.S";\r
+    String REENCRYPTION_PREPARED_XACT_EXIST           = "XBCXP.S";\r
+    String CANNOT_ENCRYPT_READONLY_DATABASE           = "XBCXQ.S";\r
+    String CANNOT_REENCRYPT_READONLY_DATABASE         = "XBCXR.S";\r
+    String CANNOT_ENCRYPT_LOG_ARCHIVED_DATABASE       = "XBCXS.S";\r
+    String CANNOT_REENCRYPT_LOG_ARCHIVED_DATABASE     = "XBCXT.S";\r
+    String DATABASE_ENCRYPTION_FAILED                 = "XBCXU.S";\r
+    String DATABASE_REENCRYPTION_FAILED               = "XBCXV.S";\r
+\r
+       /*\r
+       ** Cache Service\r
+       */\r
+       String OBJECT_EXISTS_IN_CACHE           = "XBCA0.S";\r
+\r
+       /*\r
+       ** Properties\r
+       */\r
+       String PROPERTY_INVALID_VALUE           = "XCY00.S";\r
+       String PROPERTY_UNSUPPORTED_CHANGE  = "XCY02.S";\r
+       String PROPERTY_MISSING                         = "XCY03.S";\r
+       String PROPERTY_SYNTAX_INVALID          = "XCY04.S";\r
+\r
+       /*\r
+       ** LockManager\r
+       */\r
+       String DEADLOCK = "40001";\r
+       String LOCK_TIMEOUT = "40XL1";\r
+    String LOCK_TIMEOUT_LOG = "40XL2";\r
+\r
+       /*\r
+       ** Store - access.protocol.Interface statement exceptions\r
+       */\r
+       String STORE_CONGLOMERATE_DOES_NOT_EXIST                    = "XSAI2.S";\r
+       String STORE_FEATURE_NOT_IMPLEMENTED                        = "XSAI3.S";\r
+\r
+       /*\r
+       ** Store - access.protocol.Interface RunTimeStatistics property names\r
+       ** and values.\r
+       */\r
+       String STORE_RTS_SCAN_TYPE                                                                      = "XSAJ0.U";\r
+       String STORE_RTS_NUM_PAGES_VISITED                                                      = "XSAJ1.U";\r
+       String STORE_RTS_NUM_ROWS_VISITED                                                       = "XSAJ2.U";\r
+       String STORE_RTS_NUM_DELETED_ROWS_VISITED                                       = "XSAJ3.U";\r
+       String STORE_RTS_NUM_ROWS_QUALIFIED                                                     = "XSAJ4.U";\r
+       String STORE_RTS_NUM_COLUMNS_FETCHED                                            = "XSAJ5.U";\r
+       String STORE_RTS_COLUMNS_FETCHED_BIT_SET                                        = "XSAJ6.U";\r
+       String STORE_RTS_TREE_HEIGHT                                                            = "XSAJ7.U";\r
+       String STORE_RTS_SORT_TYPE                                                                      = "XSAJ8.U";\r
+       String STORE_RTS_NUM_ROWS_INPUT                                                         = "XSAJA.U";\r
+       String STORE_RTS_NUM_ROWS_OUTPUT                                                        = "XSAJB.U";\r
+       String STORE_RTS_NUM_MERGE_RUNS                                                         = "XSAJC.U";\r
+       String STORE_RTS_MERGE_RUNS_SIZE                                                        = "XSAJD.U";\r
+       String STORE_RTS_ALL                                                                            = "XSAJE.U";\r
+       String STORE_RTS_BTREE                                                                          = "XSAJF.U";\r
+       String STORE_RTS_HEAP                                                                           = "XSAJG.U";\r
+       String STORE_RTS_SORT                                                                           = "XSAJH.U";\r
+       String STORE_RTS_EXTERNAL                                                                       = "XSAJI.U";\r
+       String STORE_RTS_INTERNAL                                                                       = "XSAJJ.U";\r
+\r
+       /*\r
+       ** Store - access.protocol.XA statement exceptions\r
+       */\r
+       String STORE_XA_PROTOCOL_VIOLATION                          = "XSAX0.S";\r
+    // STORE_XA_PROTOCOL_VIOLATION_SQLSTATE has no associated message it is\r
+    // just a constant used by the code so that an exception can be caught \r
+    // and programatically determined to be a STORE_XA_PROTOCOL_VIOLATION.\r
+       String STORE_XA_PROTOCOL_VIOLATION_SQLSTATE                 = "XSAX0";\r
+       String STORE_XA_XAER_DUPID                                  = "XSAX1.S";\r
+    // STORE_XA_XAER_DUPID_SQLSTATE has no associated message it is\r
+    // just a constant used by the code so that an exception can be caught \r
+    // and programatically determined to be a STORE_XA_XAER_DUPID.\r
+       String STORE_XA_XAER_DUPID_SQLSTATE                         = "XSAX1";\r
+\r
+       /*\r
+       ** Store - Conglomerate\r
+       */\r
+    String CONGLOMERATE_TEMPLATE_CREATE_ERROR                   = "XSCG0.S";\r
+\r
+       /*\r
+       ** Store - AccessManager\r
+       */\r
+       String AM_NO_FACTORY_FOR_IMPLEMENTATION                     = "XSAM0.S";\r
+       String AM_NO_SUCH_CONGLOMERATE_DROP                         = "XSAM2.S";\r
+       String AM_NO_SUCH_CONGLOMERATE_TYPE                         = "XSAM3.S";\r
+       String AM_NO_SUCH_SORT                                      = "XSAM4.S";\r
+       String AM_SCAN_NOT_POSITIONED                               = "XSAM5.S";\r
+       String AM_RECORD_NOT_FOUND                                  = "XSAM6.S";\r
+       \r
+\r
+       /*\r
+       ** Store - Heap\r
+       */\r
+       String HEAP_CANT_CREATE_CONTAINER                           = "XSCH0.S";\r
+       String HEAP_CONTAINER_NOT_FOUND                             = "XSCH1.S";\r
+       String HEAP_COULD_NOT_CREATE_CONGLOMERATE                   = "XSCH4.S";\r
+       String HEAP_TEMPLATE_MISMATCH                               = "XSCH5.S";\r
+       String HEAP_IS_CLOSED                                       = "XSCH6.S";\r
+       String HEAP_SCAN_NOT_POSITIONED                             = "XSCH7.S";\r
+       String HEAP_UNIMPLEMENTED_FEATURE                           = "XSCH8.S";\r
+\r
+       /*\r
+       ** Store - BTree\r
+       */\r
+       String BTREE_CANT_CREATE_CONTAINER                          = "XSCB0.S";\r
+       String BTREE_CONTAINER_NOT_FOUND                            = "XSCB1.S";\r
+       String BTREE_PROPERTY_NOT_FOUND                             = "XSCB2.S";\r
+       String BTREE_UNIMPLEMENTED_FEATURE                          = "XSCB3.S";\r
+       String BTREE_SCAN_NOT_POSITIONED                            = "XSCB4.S";\r
+       String BTREE_ROW_NOT_FOUND_DURING_UNDO                      = "XSCB5.S";\r
+       String BTREE_NO_SPACE_FOR_KEY                               = "XSCB6.S";\r
+       String BTREE_SCAN_INTERNAL_ERROR                            = "XSCB7.S";\r
+       String BTREE_IS_CLOSED                                      = "XSCB8.S";\r
+       String BTREE_ABORT_THROUGH_TRACE                            = "XSCB9.S";\r
+\r
+       /*\r
+       ** Store - Sort\r
+       */\r
+       String SORT_IMPROPER_SCAN_METHOD                            = "XSAS0.S";\r
+       String SORT_SCAN_NOT_POSITIONED                             = "XSAS1.S";\r
+\r
+\r
+       String SORT_TYPE_MISMATCH                                   = "XSAS3.S";\r
+       String SORT_COULD_NOT_INIT                                  = "XSAS6.S";\r
+\r
+       /*\r
+       ** RawStore\r
+       */\r
+\r
+       /*\r
+       ** RawStore - protocol.Interface statement exceptions\r
+       */\r
+    String RAWSTORE_NESTED_FREEZE                               = "XSRS0.S";\r
+    String RAWSTORE_CANNOT_BACKUP_TO_NONDIRECTORY               = "XSRS1.S";\r
+    String RAWSTORE_ERROR_RENAMING_FILE                         = "XSRS4.S";\r
+    String RAWSTORE_ERROR_COPYING_FILE                          = "XSRS5.S";\r
+    String RAWSTORE_CANNOT_CREATE_BACKUP_DIRECTORY              = "XSRS6.S";\r
+    String RAWSTORE_UNEXPECTED_EXCEPTION                        = "XSRS7.S";\r
+    String RAWSTORE_CANNOT_CHANGE_LOGDEVICE                     = "XSRS8.S";\r
+    String RAWSTORE_RECORD_VANISHED                             = "XSRS9.S";\r
+    String BACKUP_BLOCKING_OPERATIONS_IN_PROGRESS               = "XSRSA.S";\r
+    String BACKUP_OPERATIONS_NOT_ALLOWED                        = "XSRSB.S";\r
+    String RAWSTORE_CANNOT_BACKUP_INTO_DATABASE_DIRECTORY       = "XSRSC.S";\r
+\r
+       /*\r
+       ** RawStore - Log.Generic statement exceptions\r
+       */\r
+       String LOG_WRITE_LOG_RECORD                                 = "XSLB1.S";\r
+       String LOG_BUFFER_FULL                                      = "XSLB2.S";\r
+       String LOG_TRUNC_LWM_NULL                                   = "XSLB4.S";\r
+       String LOG_TRUNC_LWM_ILLEGAL                                = "XSLB5.S";\r
+       String LOG_ZERO_LENGTH_LOG_RECORD                           = "XSLB6.S";\r
+       String LOG_RESET_BEYOND_SCAN_LIMIT                          = "XSLB8.S";\r
+       String LOG_FACTORY_STOPPED                                  = "XSLB9.S";\r
+\r
+       /*\r
+       ** RawStore - Log.Generic database exceptions\r
+       */\r
+       String LOG_CANNOT_FLUSH                                     = "XSLA0.D";\r
+       String LOG_DO_ME_FAIL                                       = "XSLA1.D";\r
+       String LOG_IO_ERROR                                         = "XSLA2.D";\r
+       String LOG_CORRUPTED                                        = "XSLA3.D";\r
+       String LOG_FULL                                             = "XSLA4.D";\r
+       String LOG_READ_LOG_FOR_UNDO                                = "XSLA5.D";\r
+       String LOG_RECOVERY_FAILED                                  = "XSLA6.D";\r
+       String LOG_REDO_FAILED                                      = "XSLA7.D";\r
+       String LOG_UNDO_FAILED                                      = "XSLA8.D";\r
+       String LOG_STORE_CORRUPT                                    = "XSLAA.D";\r
+       String LOG_FILE_NOT_FOUND                                   = "XSLAB.D";\r
+       String LOG_INCOMPATIBLE_FORMAT                              = "XSLAC.D";\r
+       String LOG_RECORD_CORRUPTED                                 = "XSLAD.D";\r
+       String LOG_CONTROL_FILE                                     = "XSLAE.D";\r
+       String LOG_READ_ONLY_DB_NEEDS_UNDO                          = "XSLAF.D";\r
+       String LOG_READ_ONLY_DB_UPDATE                              = "XSLAH.D";\r
+       String LOG_CANNOT_LOG_CHECKPOINT                            = "XSLAI.D";\r
+       String LOG_NULL                                             = "XSLAJ.D";\r
+       String LOG_EXCEED_MAX_LOG_FILE_NUMBER                       = "XSLAK.D";\r
+       String LOG_EXCEED_MAX_LOG_FILE_SIZE                         = "XSLAL.D";\r
+       String LOG_CANNOT_VERIFY_LOG_FORMAT                         = "XSLAM.D";\r
+       String LOG_INCOMPATIBLE_VERSION                             = "XSLAN.D";\r
+       String LOG_UNEXPECTED_RECOVERY_PROBLEM                      = "XSLAO.D";\r
+       String LOG_CANNOT_UPGRADE_BETA                              = "XSLAP.D";\r
+       String LOG_SEGMENT_NOT_EXIST                                = "XSLAQ.D";\r
+       String UNABLE_TO_COPY_LOG_FILE                              = "XSLAR.D";\r
+       String LOG_DIRECTORY_NOT_FOUND_IN_BACKUP                    = "XSLAS.D";\r
+       String LOG_SEGMENT_EXIST                                    = "XSLAT.D";\r
+\r
+\r
+       /*\r
+       ** RawStore - Transactions.Basic statement exceptions\r
+       */\r
+       String XACT_MAX_SAVEPOINT_LEVEL_REACHED                     = "3B002.S";\r
+       //Bug 4466 - changed sqlstate for following two to match DB2 sqlstates.\r
+       String XACT_SAVEPOINT_EXISTS                                = "3B501.S";\r
+       String XACT_SAVEPOINT_NOT_FOUND                             = "3B001.S";\r
+       //Bug 4468 - release/rollback of savepoint failed because it doesn't exist \r
+       String XACT_SAVEPOINT_RELEASE_ROLLBACK_FAIL                 = "3B502.S";\r
+       String XACT_TRANSACTION_ACTIVE                              = "XSTA2.S";\r
+\r
+       /*\r
+       ** RawStore - Transactions.Basic transaction exceptions\r
+       */\r
+       String TRANSACTION_PREFIX="40";\r
+\r
+       String XACT_PROTOCOL_VIOLATION                              = "40XT0";\r
+       String XACT_COMMIT_EXCEPTION                                = "40XT1";\r
+       String XACT_ROLLBACK_EXCEPTION                              = "40XT2";\r
+       String XACT_TRANSACTION_NOT_IDLE                            = "40XT4";\r
+       String XACT_INTERNAL_TRANSACTION_EXCEPTION                  = "40XT5";\r
+       String XACT_CANNOT_ACTIVATE_TRANSACTION                     = "40XT6";\r
+       String XACT_NOT_SUPPORTED_IN_INTERNAL_XACT                  = "40XT7";\r
+\r
+       /*\r
+       ** RawStore - Transactions.Basic system exceptions\r
+       */\r
+       String XACT_ABORT_EXCEPTION                                 = "XSTB0.M";\r
+       String XACT_CANNOT_LOG_CHANGE                               = "XSTB2.M";\r
+       String XACT_CANNOT_ABORT_NULL_LOGGER                        = "XSTB3.M";\r
+       String XACT_CREATE_NO_LOG                                   = "XSTB5.M";\r
+       String XACT_TRANSACTION_TABLE_IN_USE                        = "XSTB6.M";\r
+\r
+       \r
+       /*\r
+       ** RawStore - Data.Generic statement exceptions\r
+       */\r
+       String DATA_SLOT_NOT_ON_PAGE                                = "XSDA1.S";\r
+       String DATA_UPDATE_DELETED_RECORD                           = "XSDA2.S";\r
+       String DATA_NO_SPACE_FOR_RECORD                             = "XSDA3.S";\r
+       String DATA_UNEXPECTED_EXCEPTION                            = "XSDA4.S";\r
+       String DATA_UNDELETE_RECORD                                 = "XSDA5.S";\r
+       String DATA_NULL_STORABLE_COLUMN                            = "XSDA6.S";\r
+       String DATA_STORABLE_READ_MISMATCH                          = "XSDA7.S";\r
+       String DATA_STORABLE_READ_EXCEPTION                         = "XSDA8.S";\r
+       String DATA_STORABLE_READ_MISSING_CLASS                     = "XSDA9.S";\r
+       String DATA_TIME_STAMP_ILLEGAL                              = "XSDAA.S";\r
+       String DATA_TIME_STAMP_NULL                                 = "XSDAB.S";\r
+       String DATA_DIFFERENT_CONTAINER                             = "XSDAC.S";\r
+       String DATA_NO_ROW_COPIED                                   = "XSDAD.S";\r
+       String DATA_CANNOT_MAKE_RECORD_HANDLE                       = "XSDAE.S";\r
+       String DATA_INVALID_RECORD_HANDLE                           = "XSDAF.S";\r
+       String DATA_ALLOC_NTT_CANT_OPEN                             = "XSDAG.S";\r
+       String DATA_CANNOT_GET_DEALLOC_LOCK                         = "XSDAI.S";\r
+       String DATA_STORABLE_WRITE_EXCEPTION                        = "XSDAJ.S";\r
+       String DATA_WRONG_PAGE_FOR_HANDLE                           = "XSDAK.S";\r
+       String DATA_UNEXPECTED_OVERFLOW_PAGE                        = "XSDAL.S";\r
+    String DATA_SQLDATA_READ_INSTANTIATION_EXCEPTION            = "XSDAM.S";\r
+    String DATA_SQLDATA_READ_ILLEGAL_ACCESS_EXCEPTION           = "XSDAN.S";\r
+\r
+       /*\r
+       ** RawStore - Data.Generic transaction exceptions\r
+       */\r
+       String DATA_CORRUPT_PAGE                                    = "XSDB0.D";\r
+       String DATA_UNKNOWN_PAGE_FORMAT                             = "XSDB1.D";\r
+       String DATA_UNKNOWN_CONTAINER_FORMAT                        = "XSDB2.D";\r
+       String DATA_CHANGING_CONTAINER_INFO                         = "XSDB3.D";\r
+       String DATA_MISSING_LOG                                     = "XSDB4.D";\r
+       String DATA_MISSING_PAGE                                    = "XSDB5.D";\r
+       String DATA_MULTIPLE_JBMS_ON_DB                             = "XSDB6.D";\r
+       String DATA_MULTIPLE_JBMS_WARNING                           = "XSDB7.D";\r
+       String DATA_MULTIPLE_JBMS_FORCE_LOCK                        = "XSDB8.D";\r
+       String DATA_CORRUPT_STREAM_CONTAINER                        = "XSDB9.D";\r
+       String DATA_OBJECT_ALLOCATION_FAILED                        = "XSDBA.D";\r
+\r
+       /*\r
+       ** RawStore - Data.Filesystem statement exceptions\r
+       */\r
+       String FILE_EXISTS                                          = "XSDF0.S";\r
+       String FILE_CREATE                                          = "XSDF1.S";\r
+       String FILE_CREATE_NO_CLEANUP                               = "XSDF2.S";\r
+       String FILE_CANNOT_CREATE_SEGMENT                           = "XSDF3.S";\r
+       String FILE_CANNOT_REMOVE_FILE                              = "XSDF4.S";\r
+       String FILE_NO_ALLOC_PAGE                                   = "XSDF6.S";\r
+       String FILE_NEW_PAGE_NOT_LATCHED                            = "XSDF7.S";\r
+       String FILE_REUSE_PAGE_NOT_FOUND                            = "XSDF8.S";\r
+       String FILE_READ_ONLY                                       = "XSDFB.S";\r
+       String FILE_IO_GARBLED                                      = "XSDFD.S";\r
+       String FILE_UNEXPECTED_EXCEPTION                            = "XSDFF.S";\r
+    String BACKUP_FILE_IO_ERROR                                 = "XSDFH.S";\r
+       String FILE_NEW_PAGE_DURING_RECOVERY                        = "XSDFI.S";\r
+\r
+       /*\r
+       ** RawStore - Data.FSLDemo transaction exceptions\r
+       */\r
+\r
+       /*\r
+       ** RawStore - Data.Filesystem database exceptions\r
+       */\r
+       String FILE_READ_PAGE_EXCEPTION                             = "XSDG0.D";\r
+       String FILE_WRITE_PAGE_EXCEPTION                            = "XSDG1.D";\r
+       String FILE_BAD_CHECKSUM                                    = "XSDG2.D";\r
+       String FILE_CONTAINER_EXCEPTION                             = "XSDG3.D";\r
+       String FILE_DATABASE_NOT_IN_CREATE                          = "XSDG5.D";\r
+       String DATA_DIRECTORY_NOT_FOUND_IN_BACKUP                   = "XSDG6.D";\r
+       String UNABLE_TO_REMOVE_DATA_DIRECTORY                      = "XSDG7.D";\r
+       String UNABLE_TO_COPY_DATA_DIRECTORY                        = "XSDG8.D";\r
+\r
+\r
+\r
+       /*\r
+       ** InternalUtil - Id Parsing \r
+       ** Note that the code catches ID parsing errors.\r
+       ** (Range XCXA0-XCXAZ)\r
+       */\r
+       String ID_PARSE_ERROR               ="XCXA0.S";\r
+\r
+       /*\r
+       ** InternalUtil - Database Class Path Parsing\r
+       ** Note that the code catches database class path parsing errors.\r
+       ** (Range XCXB0-XCXBZ)\r
+       */\r
+       String DB_CLASS_PATH_PARSE_ERROR="XCXB0.S";\r
+\r
+       /*\r
+       ** InternalUtil - Id List Parsing\r
+       ** Note that the code catches id list parsing errors.\r
+       ** (Range XCXC0-XCXCZ)\r
+       */\r
+       String ID_LIST_PARSE_ERROR="XCXC0.S";\r
+\r
+       /*\r
+       ** InternalUtil - IO Errors\r
+       ** (Range XCXD0-XCXDZ)\r
+       */\r
+\r
+       /*\r
+       ** InternalUtil - LocaleFinder interface\r
+       */\r
+       String NO_LOCALE="XCXE0.S";\r
+\r
+       String DATA_CONTAINER_CLOSED                = "40XD0";\r
+       String DATA_CONTAINER_READ_ONLY             = "40XD1";\r
+       String DATA_CONTAINER_VANISHED              = "40XD2";\r
+\r
+       /*\r
+       ** Connectivity - Connection Exceptions: 08XXX\r
+       */\r
+       String CONNECTIVITY_PREFIX="08";\r
+\r
+\r
+    /*\r
+       ** Language\r
+       */\r
+\r
+       /*\r
+       ** Language Statement Exception\r
+       */\r
+       String LSE_COMPILATION_PREFIX="42";\r
+\r
+       /*\r
+       ** Language\r
+       **\r
+       ** The entries in this file are sorted into groups.  Add your entry\r
+       ** to the appropriate group. Language errors are divided into 3 groups:\r
+       ** A group for standard SQLExceptions.\r
+       **\r
+       ** 2200J-00R - For SQL/XML errors (based on SQL/XML[2006]).\r
+       ** 4250x - access rule violations\r
+       ** 428?? - adding some DB2 compatible errors\r
+       ** 42X00-42Zxx for compilation errors \r
+       ** 46000  for SQLJ errors (for now, leave this range empty)\r
+       ** 38000  SQL3 ranges \r
+       ** 39001  SQL3\r
+       ** X0X00-X0Xxx for implementation-defined execution errors.\r
+       **\r
+       ** NOTE: If an error can occur during both compilation and execution, then\r
+       ** you need 2 different errors.  \r
+       **\r
+       ** In addition to the above groups, this file also contains SQLStates\r
+       ** for language transaction severity errors. These are in the range\r
+       **\r
+       **      40XC0 - 40XCZ\r
+       **\r
+       ** implementation-defined range reserved for class 23 is L01-LZZ\r
+       **\r
+       **\r
+       ** Errors that have standard SQLStates\r
+       **\r
+       ** Implementation-defined subclasses must begin with a digit from 5 through 9,\r
+       ** or a letter from I through Z (capitals only).\r
+       **\r
+       */\r
+\r
+       /*\r
+       **\r
+       ** SQL-J ERRORS -- see jamie for further info\r
+       **\r
+       ** DDL\r
+       **      46001 - invalid URL\r
+       **      46002 - invalid JAR name\r
+       **      46003 - invalid class deletion\r
+       **      46004 - invalid JAR name\r
+       **      46005 - invalid replacement\r
+       **      46006 - invalid grantee\r
+       **      46007 - invalid signature\r
+       **      46008 - invalid method specification\r
+       **      46009 - invalid REVOKE\r
+       **\r
+       ** Execution\r
+       **      46102 - invalid jar name in path\r
+       **      46103 - unresolved class name\r
+       **      0100E - too many result sets\r
+       **      39001 - invalid SQLSTATE\r
+       **      39004 - invalid null value\r
+       **      38000 - uncaught java exception\r
+       **      38mmm - user defined error numbers\r
+       ** to be used in the future\r
+       ** InvalidNullValue.sqlstate=39004\r
+       */\r
+\r
+       // WARNINGS (start with 01)\r
+       String LANG_CONSTRAINT_DROPPED                                                                     = "01500";\r
+       String LANG_VIEW_DROPPED                                                                                   = "01501";\r
+       String LANG_TRIGGER_DROPPED                                                                                = "01502";\r
+       String LANG_COL_NOT_NULL                                                                                   = "01503";\r
+       String LANG_INDEX_DUPLICATE                                                                                = "01504";\r
+       String LANG_VALUE_TRUNCATED                                        = "01505";\r
+       String LANG_SYNONYM_UNDEFINED                                      = "01522";\r
+       String LANG_NULL_ELIMINATED_IN_SET_FUNCTION                                                = "01003";\r
+       String LANG_PRIVILEGE_NOT_REVOKED                                                                  = "01006";\r
+       \r
+       String LANG_NO_ROW_FOUND                                                                                   = "02000";\r
+\r
+       String LANG_TOO_MANY_DYNAMIC_RESULTS_RETURNED                                      = "0100E";\r
+    \r
+\r
+       // TRANSACTION severity language errors. These are in the range:\r
+       // 40XC0 - 40XCZ\r
+       String LANG_DEAD_STATEMENT                                         = "40XC0";\r
+\r
+       /*\r
+       ** SQL Data exceptions\r
+       */\r
+       String SQL_DATA_PREFIX="22";\r
+       \r
+       String LANG_MISSING_PARMS                                          = "07000";\r
+       String LANG_SCALAR_SUBQUERY_CARDINALITY_VIOLATION                  = "21000";\r
+       String LANG_STRING_TRUNCATION                                      = "22001";\r
+       String LANG_CONCAT_STRING_OVERFLOW                                      = "54006";\r
+       String LANG_OUTSIDE_RANGE_FOR_DATATYPE                             = "22003";\r
+    String YEAR_EXCEEDS_MAXIMUM                                        = "22003.S.1";\r
+    String DECIMAL_TOO_MANY_DIGITS                                     = "22003.S.2";\r
+    String NUMERIC_OVERFLOW                                            = "22003.S.3";\r
+    String CLIENT_LENGTH_OUTSIDE_RANGE_FOR_DATATYPE                    = "22003.S.4";\r
+\r
+       String LANG_DATA_TYPE_GET_MISMATCH                                 = "22005"; // same 22005 error\r
+    String UNSUPPORTED_ENCODING                                        = "22005.S.1";\r
+    String CHARACTER_CONVERTER_NOT_AVAILABLE                           = "22005.S.2";\r
+    String CANT_CONVERT_UNICODE_TO_EBCDIC                              = "22005.S.3";\r
+    String NET_UNRECOGNIZED_JDBC_TYPE                                  = "22005.S.4";\r
+    String NET_INVALID_JDBC_TYPE_FOR_PARAM                             = "22005.S.5";\r
+    String UNRECOGNIZED_JAVA_SQL_TYPE                                  = "22005.S.6";\r
+\r
+       String LANG_DATE_RANGE_EXCEPTION                                   = "22007.S.180";\r
+       String LANG_DATE_SYNTAX_EXCEPTION                                  = "22007.S.181";\r
+    String LANG_INVALID_FUNCTION_ARGUMENT                              = "22008.S";\r
+       String LANG_SUBSTR_START_OR_LEN_OUT_OF_RANGE                        = "22011";\r
+       String LANG_DIVIDE_BY_ZERO                                         = "22012";\r
+    String LANG_SQRT_OF_NEG_NUMBER                                     = "22013";\r
+    String LANG_INVALID_PARAMETER_FOR_SEARCH_POSITION                  = "22014";\r
+    String LANG_INVALID_TYPE_FOR_LOCATE_FUNCTION                       = "22015";\r
+    String LOSS_OF_PRECISION_EXCEPTION                                 = "22015.S.1";\r
+       String LANG_FORMAT_EXCEPTION                                       = "22018";\r
+       String LANG_INVALID_ESCAPE_CHARACTER                               = "22019";\r
+       String LANG_INVALID_TRIM_CHARACTER                                 = "22020";\r
+       String LANG_INVALID_ESCAPE_SEQUENCE                                = "22025";\r
+       String LANG_INVALID_TRIM_SET                                       = "22027";\r
+    String LANG_STRING_TOO_LONG                                        = "22028";\r
+       String LANG_ESCAPE_IS_NULL                                         = "22501";\r
+\r
+\r
+       /*\r
+       ** Integrity violations.\r
+       */\r
+       String INTEGRITY_VIOLATION_PREFIX="23";\r
+       \r
+       String LANG_NULL_INTO_NON_NULL                                     = "23502";\r
+       String LANG_DUPLICATE_KEY_CONSTRAINT                               = "23505";\r
+       String LANG_FK_VIOLATION                                           = "23503";\r
+       String LANG_CHECK_CONSTRAINT_VIOLATED                              = "23513";\r
+\r
+       // From SQL/XML[2006] spec; there are others, but\r
+       // these are the ones we actually use with our\r
+       // current XML support.\r
+       String LANG_XML_QUERY_ERROR                                        = "10000";\r
+       String LANG_NOT_AN_XML_DOCUMENT                                    = "2200L";\r
+       String LANG_INVALID_XML_DOCUMENT                                   = "2200M";\r
+       String LANG_INVALID_XML_CONTEXT_ITEM                               = "2200V";\r
+       String LANG_XQUERY_SERIALIZATION_ERROR                             = "2200W";\r
+\r
+       String LANG_INVALID_TRANSACTION_STATE                              = "25000";\r
+    String CANNOT_CLOSE_ACTIVE_CONNECTION                              = "25001";\r
+\r
+\r
+       String LANG_UNEXPECTED_USER_EXCEPTION                              = "38000";\r
+       String EXTERNAL_ROUTINE_NO_SQL                                                                     = "38001";\r
+       String EXTERNAL_ROUTINE_NO_MODIFIES_SQL                                                    = "38002";\r
+       String EXTERNAL_ROUTINE_NO_READS_SQL                                                       = "38004";\r
+\r
+       String LANG_NULL_TO_PRIMITIVE_PARAMETER                            = "39004";\r
+       String LANG_SYNTAX_OR_ACCESS_VIOLATION                             = "42000";\r
+\r
+       // Fix for Derby-1828 - access rule violations should use SQL state 42\r
+       String AUTH_NO_TABLE_PERMISSION                                    = "42500";\r
+       String AUTH_NO_TABLE_PERMISSION_FOR_GRANT                          = "42501";\r
+       String AUTH_NO_COLUMN_PERMISSION                                   = "42502";\r
+       String AUTH_NO_COLUMN_PERMISSION_FOR_GRANT                         = "42503";\r
+       String AUTH_NO_EXECUTE_PERMISSION                                  = "42504";\r
+       String AUTH_NO_EXECUTE_PERMISSION_FOR_GRANT                        = "42505";\r
+       String AUTH_NOT_OWNER                                              = "42506";\r
+       String AUTH_NO_ACCESS_NOT_OWNER                                    = "42507";\r
+       String AUTH_NOT_DATABASE_OWNER                                     = "42508";\r
+       String AUTH_GRANT_REVOKE_NOT_ALLOWED                               = "42509";\r
+       String AUTH_NO_OBJECT_PERMISSION                                   = "4250A";\r
+       String AUTH_INVALID_AUTHORIZATION_PROPERTY                         = "4250B";\r
+       String AUTH_USER_IN_READ_AND_WRITE_LISTS                           = "4250C";\r
+       String AUTH_DUPLICATE_USERS                                        = "4250D";\r
+       String AUTH_INTERNAL_BAD_UUID                                      = "4250E";\r
+\r
+       String LANG_DB2_NOT_NULL_COLUMN_INVALID_DEFAULT                    = "42601";\r
+       String LANG_DB2_INVALID_HEXADECIMAL_CONSTANT                    = "42606";\r
+       String LANG_DB2_STRING_CONSTANT_TOO_LONG                    = "54002";\r
+       String LANG_DB2_NUMBER_OF_ARGS_INVALID                   = "42605";\r
+       String LANG_DB2_COALESCE_FUNCTION_ALL_PARAMS                   = "42610";\r
+       String LANG_DB2_LENGTH_PRECISION_SCALE_VIOLATION                   = "42611";\r
+       String LANG_DB2_MULTIPLE_ELEMENTS                                                                  = "42613";\r
+       String LANG_DB2_INVALID_CHECK_CONSTRAINT                           = "42621";\r
+       String LANG_DB2_DUPLICATE_NAMES                                                                    = "42734";\r
+       String LANG_DB2_INVALID_COLS_SPECIFIED                             = "42802";\r
+        String LANG_DB2_INVALID_SELECT_COL_FOR_HAVING = "42803";\r
+       String LANG_DB2_ADD_UNIQUE_OR_PRIMARY_KEY_ON_NULL_COLS                     = "42831";\r
+       String LANG_DB2_REPLACEMENT_ERROR                                                                  = "42815.S.713";\r
+       String LANG_DB2_COALESCE_DATATYPE_MISMATCH                                                                 = "42815.S.171";\r
+       String LANG_DB2_TOO_LONG_FLOATING_POINT_LITERAL                            = "42820";\r
+       String LANG_DB2_LIKE_SYNTAX_ERROR                                                          = "42824";\r
+       String LANG_INVALID_FK_COL_FOR_SETNULL                             = "42834";\r
+       String LANG_INVALID_ALTER_TABLE_ATTRIBUTES                         = "42837";\r
+       String LANG_DB2_FUNCTION_INCOMPATIBLE                              = "42884";\r
+\r
+\r
+       String LANG_DB2_PARAMETER_NEEDS_MARKER                                                     = "42886";\r
+    String LANG_DB2_INVALID_DEFAULT_VALUE                              = "42894";\r
+\r
+       String LANG_NO_AGGREGATES_IN_WHERE_CLAUSE                          = "42903";\r
+       String LANG_DB2_VIEW_REQUIRES_COLUMN_NAMES                         = "42908";\r
+       String LANG_TABLE_REQUIRES_COLUMN_NAMES                            = "42909";\r
+       String LANG_DELETE_RULE_VIOLATION                                                              = "42915";\r
+       String LANG_SYNONYM_CIRCULAR                                                               = "42916";\r
+       String LANG_DB2_ON_CLAUSE_INVALID                                                              = "42972";\r
+       String LANG_SYNTAX_ERROR                                           = "42X01";\r
+       String LANG_LEXICAL_ERROR                                          = "42X02";\r
+       String LANG_AMBIGUOUS_COLUMN_NAME                                  = "42X03";\r
+       String LANG_COLUMN_NOT_FOUND                                       = "42X04";\r
+       String LANG_TABLE_NOT_FOUND                                        = "42X05";\r
+       String LANG_TOO_MANY_RESULT_COLUMNS                                = "42X06";\r
+       String LANG_NULL_IN_VALUES_CLAUSE                                  = "42X07";\r
+       String LANG_DOES_NOT_IMPLEMENT                                            = "42X08";\r
+       String LANG_FROM_LIST_DUPLICATE_TABLE_NAME                         = "42X09";\r
+       String LANG_EXPOSED_NAME_NOT_FOUND                                 = "42X10";\r
+       String LANG_IDENTIFIER_TOO_LONG                                    = "42622";\r
+       String LANG_DUPLICATE_COLUMN_NAME_CREATE                           = "42X12";\r
+       String LANG_TOO_MANY_COLUMNS_IN_TABLE_OR_VIEW                         = "54011";\r
+       String LANG_TOO_MANY_INDEXES_ON_TABLE                         = "42Z9F";\r
+       String LANG_DUPLICATE_COLUMN_NAME_INSERT                           = "42X13";\r
+       String LANG_COLUMN_NOT_FOUND_IN_TABLE                              = "42X14";\r
+       String LANG_ILLEGAL_COLUMN_REFERENCE                               = "42X15";\r
+       String LANG_DUPLICATE_COLUMN_NAME_UPDATE                           = "42X16";\r
+       String LANG_INVALID_JOIN_ORDER_SPEC                                = "42X17";\r
+       String LANG_NOT_COMPARABLE                                         = "42818";\r
+       String LANG_NON_BOOLEAN_WHERE_CLAUSE                               = "42X19";\r
+       String LANG_CURSOR_NOT_UPDATABLE                                   = "42X23";\r
+       String LANG_INVALID_COL_HAVING_CLAUSE                              = "42X24";\r
+       String LANG_UNARY_FUNCTION_BAD_TYPE                                = "42X25";\r
+       String LANG_TYPE_DOESNT_EXIST                                      = "42X26";\r
+       String LANG_CURSOR_DELETE_MISMATCH                                 = "42X28";\r
+       String LANG_CURSOR_UPDATE_MISMATCH                                 = "42X29";\r
+       String LANG_CURSOR_NOT_FOUND                                       = "42X30";\r
+       String LANG_COLUMN_NOT_UPDATABLE_IN_CURSOR                         = "42X31";\r
+       String LANG_CORRELATION_NAME_FOR_UPDATABLE_COLUMN_DISALLOWED_IN_CURSOR = "42X42";\r
+       String LANG_DERIVED_COLUMN_LIST_MISMATCH                           = "42X32";\r
+       String LANG_DUPLICATE_COLUMN_NAME_DERIVED                          = "42X33";\r
+       String LANG_PARAM_IN_SELECT_LIST                                   = "42X34";\r
+       String LANG_BINARY_OPERANDS_BOTH_PARMS                             = "42X35";\r
+       String LANG_UNARY_OPERAND_PARM                                     = "42X36";\r
+       String LANG_UNARY_ARITHMETIC_BAD_TYPE                              = "42X37";\r
+       String LANG_CANT_SELECT_STAR_SUBQUERY                              = "42X38";\r
+       String LANG_NON_SINGLE_COLUMN_SUBQUERY                             = "42X39";\r
+       String LANG_UNARY_LOGICAL_NON_BOOLEAN                              = "42X40";\r
+       String LANG_INVALID_FROM_LIST_PROPERTY                             = "42X41";\r
+       String LANG_NOT_STORABLE                                           = "42821";\r
+       String LANG_NULL_RESULT_SET_META_DATA                              = "42X43";\r
+       String LANG_INVALID_COLUMN_LENGTH                                  = "42X44";\r
+       String LANG_INVALID_FUNCTION_ARG_TYPE                              = "42X45";\r
+       String LANG_AMBIGUOUS_FUNCTION_NAME                                = "42X46";\r
+       String LANG_AMBIGUOUS_PROCEDURE_NAME                               = "42X47";\r
+       String LANG_INVALID_PRECISION                                      = "42X48";\r
+       String LANG_INVALID_INTEGER_LITERAL                                = "42X49";\r
+       String LANG_NO_METHOD_FOUND                                        = "42X50";\r
+       String LANG_TYPE_DOESNT_EXIST2                                     = "42X51";\r
+       String LANG_PRIMITIVE_RECEIVER                                     = "42X52";\r
+       String LANG_LIKE_BAD_TYPE                                          = "42X53";\r
+       String LANG_PARAMETER_RECEIVER                                     = "42X54";\r
+       String LANG_TABLE_NAME_MISMATCH                                    = "42X55";\r
+       String LANG_VIEW_DEFINITION_R_C_L_MISMATCH                         = "42X56";\r
+       String LANG_INVALID_V_T_I_COLUMN_COUNT                             = "42X57";\r
+       String LANG_UNION_UNMATCHED_COLUMNS                                = "42X58";\r
+       String LANG_ROW_VALUE_CONSTRUCTOR_UNMATCHED_COLUMNS                = "42X59";\r
+       String LANG_INVALID_INSERT_MODE                                    = "42X60";\r
+       String LANG_NOT_UNION_COMPATIBLE                                   = "42X61";\r
+       String LANG_NO_USER_DDL_IN_SYSTEM_SCHEMA                           = "42X62";\r
+       String LANG_NO_ROWS_FROM_USING                                     = "42X63";\r
+       String LANG_INVALID_STATISTICS_SPEC                                                                = "42X64";\r
+       String LANG_INDEX_NOT_FOUND                                        = "42X65";\r
+       String LANG_DUPLICATE_COLUMN_NAME_CREATE_INDEX                     = "42X66";\r
+       //42X67\r
+       String LANG_NO_FIELD_FOUND                                         = "42X68";\r
+       String LANG_PRIMITIVE_REFERENCING_EXPRESSION                       = "42X69";\r
+       String LANG_TABLE_DEFINITION_R_C_L_MISMATCH                        = "42X70";\r
+       String LANG_INVALID_COLUMN_TYPE_CREATE_TABLE                       = "42X71";\r
+       String LANG_NO_STATIC_FIELD_FOUND                                  = "42X72";\r
+       String LANG_AMBIGUOUS_METHOD_INVOCATION                            = "42X73";\r
+       String LANG_INVALID_CALL_STATEMENT                                 = "42X74";\r
+       String LANG_NO_CONSTRUCTOR_FOUND                                   = "42X75";\r
+       String LANG_ADDING_PRIMARY_KEY_ON_EXPLICIT_NULLABLE_COLUMN         = "42X76";\r
+       String LANG_COLUMN_OUT_OF_RANGE                                    = "42X77";\r
+       String LANG_ORDER_BY_COLUMN_NOT_FOUND                              = "42X78";\r
+       String LANG_DUPLICATE_COLUMN_FOR_ORDER_BY                          = "42X79";\r
+       String LANG_QUALIFIED_COLUMN_NAME_NOT_ALLOWED                      = "42877";\r
+        String LANG_UNION_ORDER_BY                                         = "42878";\r
+       String LANG_DISTINCT_ORDER_BY                                      = "42879";\r
+       String LANG_DISTINCT_ORDER_BY_EXPRESSION                           = "4287A";\r
+       String LANG_EMPTY_VALUES_CLAUSE                                    = "42X80";\r
+       String LANG_USING_CARDINALITY_VIOLATION                            = "42X82";\r
+       String LANG_ADDING_COLUMN_WITH_NULL_AND_NOT_NULL_CONSTRAINT        = "42X83";\r
+       String LANG_CANT_DROP_BACKING_INDEX                                = "42X84";\r
+       String LANG_CONSTRAINT_SCHEMA_MISMATCH                             = "42X85";\r
+       String LANG_DROP_NON_EXISTENT_CONSTRAINT                           = "42X86";\r
+       String LANG_ALL_RESULT_EXPRESSIONS_PARAMS                          = "42X87";\r
+       String LANG_CONDITIONAL_NON_BOOLEAN                                = "42X88";\r
+       String LANG_NOT_TYPE_COMPATIBLE                                    = "42X89";\r
+       String LANG_TOO_MANY_PRIMARY_KEY_CONSTRAINTS                       = "42X90";\r
+       String LANG_DUPLICATE_CONSTRAINT_NAME_CREATE                       = "42X91";\r
+       String LANG_DUPLICATE_CONSTRAINT_COLUMN_NAME                       = "42X92";\r
+       String LANG_INVALID_CREATE_CONSTRAINT_COLUMN_LIST                  = "42X93";\r
+       String LANG_OBJECT_NOT_FOUND                                       = "42X94";\r
+       String LANG_DB_CLASS_PATH_HAS_MISSING_JAR                          = "42X96";\r
+       String LANG_NO_PARAMS_IN_VIEWS                                     = "42X98";\r
+       String LANG_NO_PARAMS_IN_TABLES                                    = "42X99";\r
+       String LANG_INVALID_USER_AGGREGATE_DEFINITION2                     = "42Y00";\r
+       String LANG_INVALID_CHECK_CONSTRAINT                               = "42Y01";\r
+       // String LANG_NO_ALTER_TABLE_COMPRESS_ON_TARGET_TABLE                = "42Y02";\r
+       String LANG_NO_SUCH_METHOD_ALIAS                                   = "42Y03";\r
+       String LANG_INVALID_FULL_STATIC_METHOD_NAME                        = "42Y04";\r
+       String LANG_NO_SUCH_FOREIGN_KEY                                    = "42Y05";\r
+       //String LANG_METHOD_ALIAS_NOT_FOUND                                 = "42Y06";\r
+       String LANG_SCHEMA_DOES_NOT_EXIST                                  = "42Y07";\r
+       String LANG_NO_FK_ON_SYSTEM_SCHEMA                                 = "42Y08";\r
+       String LANG_VOID_METHOD_CALL                                       = "42Y09";\r
+       String LANG_TABLE_CONSTRUCTOR_ALL_PARAM_COLUMN                     = "42Y10";\r
+       String LANG_MISSING_JOIN_SPECIFICATION                             = "42Y11";\r
+       String LANG_NON_BOOLEAN_JOIN_CLAUSE                                = "42Y12";\r
+       String LANG_DUPLICATE_COLUMN_NAME_CREATE_VIEW                      = "42Y13";\r
+       // String LANG_DROP_TABLE_ON_NON_TABLE                                = "42Y15"; -- replaced by 42Y62\r
+       String LANG_NO_METHOD_MATCHING_ALIAS                               = "42Y16";\r
+       // String LANG_DROP_SYSTEM_TABLE_ATTEMPTED                         = "42Y17"; -- replaced by 42X62\r
+       String LANG_INVALID_CAST                                           = "42846";\r
+    // String LANG_AMBIGUOUS_GROUPING_COLUMN                              = "42Y19"; -- unused post 883.\r
+       //      String LANG_UNMATCHED_GROUPING_COLUMN                              =    //      "42Y20"; -- not used\r
+       String LANG_USER_AGGREGATE_BAD_TYPE                                = "42Y22";\r
+       String LANG_BAD_J_D_B_C_TYPE_INFO                                  = "42Y23";\r
+       String LANG_VIEW_NOT_UPDATEABLE                                    = "42Y24";\r
+       String LANG_UPDATE_SYSTEM_TABLE_ATTEMPTED                          = "42Y25";\r
+       String LANG_AGGREGATE_IN_GROUPBY_LIST                              = "42Y26";\r
+       String LANG_NO_PARAMS_IN_TRIGGER_ACTION                            = "42Y27";\r
+       // String LANG_NO_TRIGGER_ON_SYSTEM_TABLE                             = "42Y28"; -- replaced by 42X62\r
+       String LANG_INVALID_NON_GROUPED_SELECT_LIST                        = "42Y29";\r
+       String LANG_INVALID_GROUPED_SELECT_LIST                            = "42Y30";\r
+       \r
+       String LANG_TOO_MANY_ELEMENTS                            = "54004";\r
+       String LANG_BAD_AGGREGATOR_CLASS2                                  = "42Y32";\r
+       String LANG_USER_AGGREGATE_CONTAINS_AGGREGATE                      = "42Y33";\r
+       String LANG_AMBIGUOUS_COLUMN_NAME_IN_TABLE                         = "42Y34";\r
+       String LANG_INVALID_COL_REF_NON_GROUPED_SELECT_LIST                = "42Y35";\r
+       String LANG_INVALID_COL_REF_GROUPED_SELECT_LIST                    = "42Y36";\r
+       String LANG_TYPE_DOESNT_EXIST3                                     = "42Y37";\r
+       String LANG_INVALID_BULK_INSERT_REPLACE                            = "42Y38";\r
+       String LANG_UNRELIABLE_QUERY_FRAGMENT                              = "42Y39";\r
+       String LANG_DUPLICATE_COLUMN_IN_TRIGGER_UPDATE                     = "42Y40";\r
+       String LANG_TRIGGER_SPS_CANNOT_BE_EXECED                           = "42Y41";\r
+       String LANG_INVALID_DECIMAL_SCALE                                  = "42Y42";\r
+       String LANG_INVALID_DECIMAL_PRECISION_SCALE                        = "42Y43";\r
+       String LANG_INVALID_FROM_TABLE_PROPERTY                            = "42Y44";\r
+       String LANG_CANNOT_BIND_TRIGGER_V_T_I                              = "42Y45";\r
+       String LANG_INVALID_FORCED_INDEX1                                  = "42Y46";\r
+//     String LANG_INVALID_FORCED_INDEX2                                  = "42Y47";\r
+       String LANG_INVALID_FORCED_INDEX2                                  = "42Y48";\r
+       String LANG_DUPLICATE_PROPERTY                                     = "42Y49";\r
+       String LANG_BOTH_FORCE_INDEX_AND_CONSTRAINT_SPECIFIED              = "42Y50";\r
+//     String LANG_INVALID_FORCED_INDEX4                                  = "42Y51";\r
+       String LANG_OBJECT_DOES_NOT_EXIST                                  = "42Y55";\r
+       String LANG_INVALID_JOIN_STRATEGY                                  = "42Y56";\r
+       String LANG_INVALID_NUMBER_FORMAT_FOR_OVERRIDE                     = "42Y58";\r
+       String LANG_INVALID_HASH_INITIAL_CAPACITY                          = "42Y59";\r
+       String LANG_INVALID_HASH_LOAD_FACTOR                               = "42Y60";\r
+       String LANG_INVALID_HASH_MAX_CAPACITY                              = "42Y61";\r
+       String LANG_INVALID_OPERATION_ON_VIEW                              = "42Y62";\r
+       String LANG_HASH_NO_EQUIJOIN_FOUND                                 = "42Y63";\r
+       String LANG_INVALID_BULK_FETCH_VALUE                               = "42Y64";\r
+       String LANG_INVALID_BULK_FETCH_WITH_JOIN_TYPE                      = "42Y65";\r
+       String LANG_INVALID_BULK_FETCH_UPDATEABLE                          = "42Y66";\r
+       String LANG_CANNOT_DROP_SYSTEM_SCHEMAS                             = "42Y67";\r
+       String LANG_NO_BEST_PLAN_FOUND                                     = "42Y69";\r
+       String LANG_ILLEGAL_FORCED_JOIN_ORDER                              = "42Y70";\r
+       String LANG_CANNOT_DROP_SYSTEM_ALIASES                             = "42Y71";\r
+       String LANG_CANNOT_DROP_TRIGGER_S_P_S                              = "42Y82";\r
+       String LANG_USER_AGGREGATE_BAD_TYPE_NULL                           = "42Y83";\r
+       String LANG_INVALID_DEFAULT_DEFINITION                             = "42Y84";\r
+       String LANG_INVALID_USE_OF_DEFAULT                                 = "42Y85";\r
+       String LANG_STMT_NOT_UPDATABLE                                     = "42Y90";\r
+       String LANG_NO_SPS_USING_IN_TRIGGER                                = "42Y91";\r
+       String LANG_TRIGGER_BAD_REF_MISMATCH                               = "42Y92";\r
+       String LANG_TRIGGER_BAD_REF_CLAUSE_DUPS                            = "42Y93";\r
+       String LANG_BINARY_LOGICAL_NON_BOOLEAN                             = "42Y94";\r
+       String LANG_BINARY_OPERATOR_NOT_SUPPORTED                          = "42Y95";\r
+       String LANG_UNKNOWN                                                                                                = "42Y96.U";\r
+       String LANG_INVALID_ESCAPE                                                                                 = "42Y97";\r
+       String LANG_JAVACC_SYNTAX                                                                                  = "42Y98.U";\r
+       String LANG_JAVACC_LEXICAL_ERROR                                                                   = "42Y99.U";\r
+       String LANG_JAVA_METHOD_CALL_OR_FIELD_REF                                                  = "42Z00.U";\r
+       String LANG_UNTYPED                                                                                                = "42Z01.U";\r
+       // TEMPORARY COMPILATION RESTRICTIONS\r
+       String LANG_USER_AGGREGATE_MULTIPLE_DISTINCTS                      = "42Z02";\r
+       String LANG_NO_AGGREGATES_IN_ON_CLAUSE                             = "42Z07";\r
+       String LANG_NO_BULK_INSERT_REPLACE_WITH_TRIGGER                    = "42Z08";\r
+\r
+       // MORE GENERIC LANGUAGE STUFF\r
+       String LANG_COLUMN_DEFAULT                                                                                 = "42Z09.U";\r
+       String LANG_STREAM                                                                                                 = "42Z11.U";\r
+\r
+       // String LANG_UPDATABLE_VTI_BAD_GETMETADATA                                               = "42Z14";\r
+\r
+       // for alter table modify column ...\r
+       String LANG_MODIFY_COLUMN_CHANGE_TYPE                                                      = "42Z15";\r
+       String LANG_MODIFY_COLUMN_INVALID_TYPE                                                     = "42Z16";\r
+       String LANG_MODIFY_COLUMN_INVALID_LENGTH                                                   = "42Z17";\r
+       String LANG_MODIFY_COLUMN_FKEY_CONSTRAINT                                                  = "42Z18";\r
+       String LANG_MODIFY_COLUMN_REFERENCED                                                       = "42Z19";\r
+       String LANG_MODIFY_COLUMN_EXISTING_CONSTRAINT                                      = "42Z20";\r
+\r
+       String LANG_AI_INVALID_INCREMENT                                                                   = "42Z21";\r
+       String LANG_AI_INVALID_TYPE                                                                                = "42Z22";\r
+       String LANG_AI_CANNOT_MODIFY_AI                                                                    = "42Z23";\r
+       String LANG_AI_OVERFLOW                                                                                    = "42Z24";\r
+       String LANG_AI_COUNTER_ERROR                                                                       = "42Z25";\r
+       String LANG_AI_CANNOT_NULL_AI                                                                      = "42Z26";\r
+       String LANG_AI_CANNOT_ADD_AI_TO_NULLABLE                                                   = "42Z27";\r
+       // String LANG_BUILT_IN_ALIAS_NAME                                                 = "42Z28";\r
+       // RUNTIMESTATISTICS\r
+       String LANG_TIME_SPENT_THIS                                                                                = "42Z30.U";\r
+       String LANG_TIME_SPENT_THIS_AND_BELOW                                                      = "42Z31.U";\r
+       String LANG_TOTAL_TIME_BREAKDOWN                                                                   = "42Z32.U";\r
+       String LANG_CONSTRUCTOR_TIME                                                                       = "42Z33.U";\r
+       String LANG_OPEN_TIME                                                                                      = "42Z34.U";\r
+       String LANG_NEXT_TIME                                                                                      = "42Z35.U";\r
+       String LANG_CLOSE_TIME                                                                                     = "42Z36.U";\r
+       String LANG_NONE                                                                                                   = "42Z37.U";\r
+       String LANG_POSITION_NOT_AVAIL                                                                     = "42Z38.U";\r
+       String LANG_UNEXPECTED_EXC_GETTING_POSITIONER                                      = "42Z39.U";\r
+       String LANG_POSITIONER                                                                                     = "42Z40.U";\r
+       String LANG_ORDERED_NULL_SEMANTICS                                                                 = "42Z41.U";\r
+       String LANG_COLUMN_ID                                                                                      = "42Z42.U";\r
+       String LANG_OPERATOR                                                                                       = "42Z43.U";\r
+       String LANG_ORDERED_NULLS                                                                                  = "42Z44.U";\r
+       String LANG_UNKNOWN_RETURN_VALUE                                                                   = "42Z45.U";\r
+       String LANG_NEGATE_COMPARISON_RESULT                                                       = "42Z46.U";\r
+       String LANG_GQPT_NOT_SUPPORTED                                                                     = "42Z47.U";\r
+       String LANG_COLUMN_ID_ARRAY                                                                                = "42Z48.U";\r
+\r
+       String LANG_GRANT_REVOKE_WITH_LEGACY_ACCESS                        = "42Z60";\r
+\r
+       // 42Z70 - 42Z7Z: For Derby-specific XML compilation errors\r
+       // (not defined by SQL/XML standard).\r
+       String LANG_ATTEMPT_TO_BIND_XML                                    = "42Z70";\r
+       String LANG_ATTEMPT_TO_SELECT_XML                                  = "42Z71";\r
+       String LANG_XML_KEYWORD_MISSING                                    = "42Z72";\r
+       String LANG_INVALID_XMLSERIALIZE_TYPE                              = "42Z73";\r
+       String LANG_UNSUPPORTED_XML_FEATURE                                = "42Z74";\r
+       String LANG_INVALID_XML_QUERY_EXPRESSION                           = "42Z75";\r
+       String LANG_MULTIPLE_XML_CONTEXT_ITEMS                             = "42Z76";\r
+       String LANG_INVALID_CONTEXT_ITEM_TYPE                              = "42Z77";\r
+       String LANG_XMLPARSE_UNKNOWN_PARAM_TYPE                            = "42Z79";\r
+\r
+       String LANG_SERIALIZABLE                                                                                   = "42Z80.U";\r
+       String LANG_READ_COMMITTED                                                                                 = "42Z81.U";\r
+       String LANG_EXCLUSIVE                                                                                      = "42Z82.U";\r
+       String LANG_INSTANTANEOUS_SHARE                                                                    = "42Z83.U";\r
+       String LANG_SHARE                                                                                                  = "42Z84.U";\r
+       String LANG_TABLE                                                                                                  = "42Z85.U";\r
+       String LANG_ROW                                                                                                    = "42Z86.U";\r
+       String LANG_SHARE_TABLE                                                                                    = "42Z87.U";\r
+       String LANG_SHARE_ROW                                                                                      = "42Z88.U";\r
+\r
+    // MORE GENERIC LANGUAGE STUFF\r
+    // String LANG_UPDATABLE_VTI_BAD_GETRESULTSETCONCURRENCY          = "42Z89";\r
+    String LANG_UPDATABLE_VTI_NON_UPDATABLE_RS                        = "42Z90";\r
+    String LANG_SUBQUERY                                              = "42Z91";\r
+    String LANG_REPEATABLE_READ                                       = "42Z92";\r
+    String LANG_MULTIPLE_CONSTRAINTS_WITH_SAME_COLUMNS                = "42Z93";\r
+    // String LANG_ALTER_SYSTEM_TABLE_ATTEMPTED                       = "42Z94"; -- replaced by 42X62\r
+    // String LANG_ALTER_TABLE_ON_NON_TABLE                           = "42Z95"; -- replaced by 42Y62\r
+    String LANG_RENAME_COLUMN_WILL_BREAK_CHECK_CONSTRAINT             = "42Z97";\r
+    // beetle 2758.  For now just raise an error for literals > 64K\r
+    String LANG_INVALID_LITERAL_LENGTH                                = "42Z99";\r
+    String LANG_READ_UNCOMMITTED                                      = "42Z9A";\r
+    String LANG_VTI_BLOB_CLOB_UNSUPPORTED                             = "42Z9B";\r
+    String LANG_UNSUPPORTED_TRIGGER_STMT                              = "42Z9D";\r
+    String LANG_UNSUPPORTED_TRIGGER_PROC                              = "42Z9D.S.1";\r
+    String LANG_DROP_CONSTRAINT_TYPE                                  = "42Z9E";\r
+    String LANG_QUERY_TOO_COMPLEX                                     = "42ZA0";\r
+    String LANG_INVALID_SQL_IN_BATCH                                  = "42ZA1";\r
+    String LANG_LIKE_COLLATION_MISMATCH                               = "42ZA2";\r
+    String LANG_CAN_NOT_CREATE_TABLE                               = "42ZA3";\r
+\r
+       //following 3 matches the DB2 sql states\r
+       String LANG_DECLARED_GLOBAL_TEMP_TABLE_ONLY_IN_SESSION_SCHEMA = "428EK";\r
+       String LANG_NOT_ALLOWED_FOR_DECLARED_GLOBAL_TEMP_TABLE = "42995";\r
+       String LANG_LONG_DATA_TYPE_NOT_ALLOWED = "42962";\r
+\r
+       String LANG_MULTIPLE_AUTOINCREMENT_COLUMNS                         = "428C1";\r
+       String LANG_ALTER_TABLE_AUTOINCREMENT_COLUMN_NOT_ALLOWED           = "42601.S.372";\r
+       String LANG_TOO_MANY_INDEX_KEY_COLS                                = "54008";\r
+       String LANG_TRIGGER_RECURSION_EXCEEDED                             = "54038";\r
+       String LANG_TOO_MANY_PARAMETERS_FOR_STORED_PROC                    = "54023";\r
+\r
+       //following 1 does not match the DB2 sql state, it is a Derby specific behavior which is not compatible with DB2\r
+       String LANG_OPERATION_NOT_ALLOWED_ON_SESSION_SCHEMA_TABLES = "XCL51.S";\r
+\r
+       // org.apache.derby.impl.sql.execute.rts\r
+       String RTS_ATTACHED_TO                                                                                     = "43X00.U";\r
+       String RTS_BEGIN_SQ_NUMBER                                                                                 = "43X01.U";\r
+       String RTS_ANY_RS                                                                                                  = "43X02.U";\r
+       String RTS_NUM_OPENS                                                                                       = "43X03.U";\r
+       String RTS_ROWS_SEEN                                                                                       = "43X04.U";\r
+       String RTS_SOURCE_RS                                                                                       = "43X05.U";\r
+       String RTS_END_SQ_NUMBER                                                                                   = "43X06.U";\r
+       String RTS_OPT_EST_RC                                                                                      = "43X07.U";\r
+       String RTS_OPT_EST_COST                                                                                    = "43X08.U";\r
+       String RTS_SECONDS                                                                                                 = "43X09.U";\r
+       String RTS_TOTAL                                                                                                   = "43X10.U";\r
+       String RTS_NODE                                                                                                    = "43X11.U";\r
+       String RTS_NOT_IMPL                                                                                                = "43X12.U";\r
+       String RTS_DELETE_RS_USING                                                                                 = "43X13.U";\r
+       String RTS_TABLE_LOCKING                                                                                   = "43X14.U";\r
+       String RTS_ROW_LOCKING                                                                                     = "43X15.U";\r
+       String RTS_DEFERRED                                                                                                = "43X16.U";\r
+       String RTS_ROWS_DELETED                                                                                    = "43X17.U";\r
+       String RTS_INDEXES_UPDATED                                                                                 = "43X18.U";\r
+       String RTS_DELETE                                                                                                  = "43X19.U";\r
+       String RTS_DSARS                                                                                                   = "43X20.U";\r
+       String RTS_ROWS_INPUT                                                                                      = "43X21.U";\r
+       String RTS_DISTINCT_SCALAR_AGG                                                                     = "43X22.U";\r
+       String RTS_DISTINCT_SCAN_RS_USING                                                                  = "43X23.U";\r
+       String RTS_CONSTRAINT                                                                                      = "43X24.U";\r
+       String RTS_INDEX                                                                                                   = "43X25.U";\r
+       String RTS_DISTINCT_SCAN_RS                                                                                = "43X26.U";\r
+       String RTS_LOCKING                                                                                                 = "43X27.U";\r
+       String RTS_SCAN_INFO                                                                                       = "43X28.U";\r
+       String RTS_DISTINCT_COL                                                                                    = "43X29.U";\r
+       String RTS_DISTINCT_COLS                                                                                   = "43X30.U";\r
+       String RTS_HASH_TABLE_SIZE                                                                                 = "43X31.U";\r
+       String RTS_ROWS_FILTERED                                                                                   = "43X32.U";\r
+       String RTS_NEXT_TIME                                                                                       = "43X33.U";\r
+       String RTS_START_POSITION                                                                                  = "43X34.U";\r
+       String RTS_STOP_POSITION                                                                                   = "43X35.U";\r
+       String RTS_SCAN_QUALS                                                                                      = "43X36.U";\r
+       String RTS_NEXT_QUALS                                                                                      = "43X37.U";\r
+       String RTS_ON_USING                                                                                                = "43X38.U";\r
+       String RTS_DISTINCT_SCAN                                                                                   = "43X39.U";\r
+       String RTS_SORT_INFO                                                                                       = "43X40.U";\r
+       String RTS_GROUPED_AGG_RS                                                                                  = "43X41.U";\r
+       String RTS_HAS_DISTINCT_AGG                                                                                = "43X42.U";\r
+       String RTS_IN_SORTED_ORDER                                                                                 = "43X43.U";\r
+       String RTS_GROUPED_AGG                                                                                     = "43X44.U";\r
+       String RTS_HASH_EXISTS_JOIN                                                                                = "43X45.U";\r
+       String RTS_HASH_EXISTS_JOIN_RS                                                                     = "43X46.U";\r
+       String RTS_HASH_JOIN                                                                                       = "43X47.U";\r
+       String RTS_HASH_JOIN_RS                                                                                    = "43X48.U";\r
+       String RTS_HASH_LEFT_OJ                                                                                    = "43X49.U";\r
+       String RTS_HASH_LEFT_OJ_RS                                                                                 = "43X50.U";\r
+       String RTS_HASH_SCAN_RS_USING                                                                      = "43X51.U";\r
+       String RTS_HASH_SCAN_RS                                                                                    = "43X52.U";\r
+       String RTS_HASH_KEY                                                                                                = "43X53.U";\r
+       String RTS_HASH_KEYS                                                                                       = "43X54.U";\r
+       String RTS_HASH_SCAN                                                                                       = "43X55.U";\r
+       String RTS_ATTACHED_SQS                                                                                    = "43X56.U";\r
+       String RTS_HASH_TABLE_RS                                                                                   = "43X57.U";\r
+       String RTS_HASH_TABLE                                                                                      = "43X58.U";\r
+       String RTS_ALL                                                                                                     = "43X59.U";\r
+       String RTS_IRTBR_RS                                                                                                = "43X60.U";\r
+       String RTS_COLS_ACCESSED_FROM_HEAP                                                                 = "43X61.U";\r
+       String RTS_FOR_TAB_NAME                                                                                    = "43X62.U";\r
+       String RTS_IRTBR                                                                                                   = "43X63.U";\r
+       String RTS_INSERT_MODE_BULK                                                                                = "43X64.U";\r
+       String RTS_INSERT_MODE_NOT_BULK                                                                    = "43X65.U";\r
+       String RTS_INSERT_MODE_NORMAL                                                                      = "43X66.U";\r
+       String RTS_INSERT_USING                                                                                    = "43X67.U";\r
+       String RTS_ROWS_INSERTED                                                                                   = "43X68.U";\r
+       String RTS_INSERT                                                                                                  = "43X69.U";\r
+       String RTS_JOIN                                                                                                    = "43X70.U";\r
+       String RTS_LKIS_RS                                                                                                 = "43X71.U";\r
+       String RTS_LOCKING_OPTIMIZER                                                                       = "43X72.U";\r
+       String RTS_TABLE_SCAN                                                                                      = "43X73.U";\r
+       String RTS_INDEX_SCAN                                                                                      = "43X74.U";\r
+       String RTS_ON                                                                                                      = "43X75.U";\r
+       String RTS_MATERIALIZED_RS                                                                                 = "43X76.U";\r
+       String RTS_TEMP_CONGLOM_CREATE_TIME                                                                = "43X77.U";\r
+       String RTS_TEMP_CONGLOM_FETCH_TIME                                                                 = "43X78.U";\r
+       String RTS_ROWS_SEEN_LEFT                                                                                  = "43X79.U";\r
+       String RTS_ROWS_SEEN_RIGHT                                                                                 = "43X80.U";\r
+       String RTS_ROWS_RETURNED                                                                                   = "43X81.U";\r
+       String RTS_LEFT_RS                                                                                                 = "43X82.U";\r
+       String RTS_RIGHT_RS                                                                                                = "43X83.U";\r
+       String RTS_NESTED_LOOP_EXISTS_JOIN                                                                 = "43X84.U";\r
+       String RTS_NESTED_LOOP_EXISTS_JOIN_RS                                                      = "43X85.U";\r
+       String RTS_NESTED_LOOP_JOIN                                                                                = "43X86.U";\r
+       String RTS_NESTED_LOOP_JOIN_RS                                                                     = "43X87.U";\r
+       String RTS_EMPTY_RIGHT_ROWS                                                                                = "43X88.U";\r
+       String RTS_NESTED_LOOP_LEFT_OJ                                                                     = "43X89.U";\r
+       String RTS_NESTED_LOOP_LEFT_OJ_RS                                                                  = "43X90.U";\r
+       String RTS_NORMALIZE_RS                                                                                    = "43X91.U";\r
+       String RTS_ONCE_RS                                                                                                 = "43X92.U";\r
+       String RTS_PR_RS                                                                                                   = "43X93.U";\r
+       String RTS_RESTRICTION                                                                                     = "43X94.U";\r
+       String RTS_PROJECTION                                                                                      = "43X95.U";\r
+       String RTS_RESTRICTION_TIME                                                                                = "43X96.U";\r
+       String RTS_PROJECTION_TIME                                                                                 = "43X97.U";\r
+       String RTS_PR                                                                                                      = "43X98.U";\r
+       String RTS_ROW_RS                                                                                                  = "43X99.U";\r
+\r
+       String RTS_SCALAR_AGG_RS                                                                                   = "43Y00.U";\r
+       String RTS_INDEX_KEY_OPT                                                                                   = "43Y01.U";\r
+       String RTS_SCALAR_AGG                                                                                      = "43Y02.U";\r
+       String RTS_SCROLL_INSENSITIVE_RS                                                                   = "43Y03.U";\r
+       String RTS_READS_FROM_HASH                                                                                 = "43Y04.U";\r
+       String RTS_WRITES_TO_HASH                                                                                  = "43Y05.U";\r
+       String RTS_SORT_RS                                                                                                 = "43Y06.U";\r
+       String RTS_ELIMINATE_DUPS                                                                                  = "43Y07.U";\r
+       String RTS_SORT                                                                                                    = "43Y08.U";\r
+       String RTS_IS_RS_USING                                                                                     = "43Y09.U";\r
+       String RTS_TS_RS_FOR                                                                                       = "43Y10.U";\r
+       String RTS_ACTUAL_TABLE                                                                                    = "43Y11.U";\r
+       String RTS_FETCH_SIZE                                                                                      = "43Y12.U";\r
+       String RTS_QUALS                                                                                                   = "43Y13.U";\r
+       String RTS_UNION_RS                                                                                                = "43Y14.U";\r
+       String RTS_UNION                                                                                                   = "43Y15.U";\r
+       String RTS_UPDATE_RS_USING                                                                                 = "43Y16.U";\r
+       String RTS_ROWS_UPDATED                                                                                    = "43Y17.U";\r
+       String RTS_UPDATE                                                                                                  = "43Y18.U";\r
+       String RTS_VTI_RS                                                                                                  = "43Y19.U";\r
+       String RTS_VTI                                                                                                     = "43Y20.U";\r
+       String RTS_MATERIALIZED_SUBQS                                                                      = "43Y21.U";\r
+       String RTS_STATEMENT_NAME                                                                                  = "43Y22.U";\r
+       String RTS_STATEMENT_TEXT                                                                                  = "43Y23.U";\r
+       String RTS_PARSE_TIME                                                                                      = "43Y24.U";\r
+       String RTS_BIND_TIME                                                                                       = "43Y25.U";\r
+       String RTS_OPTIMIZE_TIME                                                                                   = "43Y26.U";\r
+       String RTS_GENERATE_TIME                                                                                   = "43Y27.U";\r
+       String RTS_COMPILE_TIME                                                                                    = "43Y28.U";\r
+       String RTS_EXECUTE_TIME                                                                                    = "43Y29.U";\r
+       String RTS_BEGIN_COMP_TS                                                                                   = "43Y30.U";\r
+       String RTS_END_COMP_TS                                                                                     = "43Y31.U";\r
+       String RTS_BEGIN_EXE_TS                                                                                    = "43Y32.U";\r
+       String RTS_END_EXE_TS                                                                                      = "43Y33.U";\r
+       String RTS_STMT_EXE_PLAN_TXT                                                                       = "43Y44.U";\r
+       String RTS_RUN_TIME                                                                                                = "43Y45.U";\r
+       String RTS_INSERT_VTI_RESULT_SET                                                                   = "43Y46.U";\r
+       String RTS_DELETE_VTI_RESULT_SET                                                                   = "43Y47.U";\r
+       String RTS_INSERT_VTI                                                                                      = "43Y49.U";\r
+       String RTS_DELETE_VTI                                                                                      = "43Y50.U";\r
+       String RTS_DELETE_CASCADE                                                                                  = "43Y51.U";\r
+       String RTS_DELETE_CASCADE_RS_USING                                                                 = "43Y52.U";\r
+       String RTS_REFACTION_DEPENDENT                                                                     = "43Y53.U";\r
+       String RTS_BEGIN_DEPENDENT_NUMBER                                                                  = "43Y54.U"; \r
+       String RTS_END_DEPENDENT_NUMBER                                                                    = "43Y55.U"; \r
+       String RTS_USER_SUPPLIED_OPTIMIZER_OVERRIDES_FOR_TABLE                     = "43Y56.U"; \r
+       String RTS_USER_SUPPLIED_OPTIMIZER_OVERRIDES_FOR_JOIN                      = "43Y57.U";\r
+       String RTS_INTERSECT_RS                                            = "43Y58.U";\r
+       String RTS_INTERSECT                                               = "43Y59.U";\r
+       String RTS_EXCEPT_RS                                               = "43Y60.U";\r
+       String RTS_EXCEPT                                                  = "43Y61.U";\r
+\r
+       // org.apache.derby.catalog.types\r
+       String TI_SQL_TYPE_NAME                 = "44X00.U";\r
+       String TI_NEXT_ERROR                    = "44X05.U";\r
+\r
+       // INTERNAL EXCEPTIONS\r
+       String LANG_UNABLE_TO_GENERATE                                     = "42Z50";\r
+       String LANG_UNAVAILABLE_ACTIVATION_NEED                            = "42Z53";\r
+       String LANG_PARSE_ONLY                                             = "42Z54.U";\r
+       String LANG_STOP_AFTER_PARSING                                     = "42Z55.U";\r
+       String LANG_STOP_AFTER_BINDING                                     = "42Z56.U";\r
+       String LANG_STOP_AFTER_OPTIMIZING                                  = "42Z57.U";\r
+       String LANG_STOP_AFTER_GENERATING                                  = "42Z58.U";\r
+\r
+       // PARSER EXCEPTIONS\r
+       String LANG_UNBINDABLE_REWRITE                                     = "X0A00.S";\r
+       \r
+       // EXECUTION EXCEPTIONS\r
+       String LANG_CANT_LOCK_TABLE                                        = "X0X02.S";\r
+       String LANG_TABLE_NOT_FOUND_DURING_EXECUTION                       = "X0X05.S";\r
+       String LANG_CANT_DROP_JAR_ON_DB_CLASS_PATH_DURING_EXECUTION        = "X0X07.S";\r
+       String LANG_USING_CARDINALITY_VIOLATION_DURING_EXECUTION           = "X0X10.S";\r
+       String LANG_NO_ROWS_FROM_USING_DURING_EXECUTION                    = "X0X11.S";\r
+       String LANG_FILE_DOES_NOT_EXIST                                    = "X0X13.S";\r
+       String LANG_NO_CORRESPONDING_S_Q_L_TYPE                            = "X0X57.S";\r
+       String LANG_CURSOR_ALREADY_EXISTS                                  = "X0X60.S";\r
+       String LANG_INDEX_COLUMN_NOT_EQUAL                                 = "X0X61.S";\r
+       String LANG_INCONSISTENT_ROW_LOCATION                              = "X0X62.S";\r
+       String LANG_FILE_ERROR                                             = "X0X63.S";\r
+       String LANG_COLUMN_NOT_ORDERABLE_DURING_EXECUTION                  = "X0X67.S";\r
+       String LANG_OBJECT_NOT_FOUND_DURING_EXECUTION                      = "X0X81.S";\r
+       String LANG_NON_KEYED_INDEX                                        = "X0X85.S";\r
+       String LANG_ZERO_INVALID_FOR_R_S_ABSOLUTE                          = "X0X86.S";\r
+       String LANG_NO_CURRENT_ROW_FOR_RELATIVE                            = "X0X87.S";\r
+       String LANG_CANT_INVALIDATE_OPEN_RESULT_SET                        = "X0X95.S";\r
+       String LANG_CANT_CHANGE_ISOLATION_HOLD_CURSOR                      = "X0X03.S";\r
+       //following three for auto-generated keys feature in JDBC3.0\r
+       String LANG_INVALID_AUTOGEN_COLUMN_POSITION                        = "X0X0E.S";\r
+       String LANG_INVALID_AUTOGEN_COLUMN_NAME                            = "X0X0F.S";\r
+\r
+       String LANG_INDEX_NOT_FOUND_DURING_EXECUTION                       = "X0X99.S";\r
+\r
+       // X0Y01 used to be DUPLICATE_KEY_CONSTRAINT\r
+       String LANG_DROP_VIEW_ON_NON_VIEW                                  = "X0Y16.S";\r
+       // String LANG_DROP_SYSTEM_TABLE_ATTEMPTED_DURING_EXECUTION           = "X0Y17.S";\r
+       String LANG_PROVIDER_HAS_DEPENDENT_VIEW                            = "X0Y23.S";\r
+       String LANG_PROVIDER_HAS_DEPENDENT_S_P_S                           = "X0Y24.S";\r
+       String LANG_PROVIDER_HAS_DEPENDENT_OBJECT                          = "X0Y25.S";\r
+       String LANG_INDEX_AND_TABLE_IN_DIFFERENT_SCHEMAS                   = "X0Y26.S";\r
+       String LANG_CREATE_SYSTEM_INDEX_ATTEMPTED                          = "X0Y28.S";\r
+       String LANG_OBJECT_ALREADY_EXISTS_IN_OBJECT                                                = "X0Y32.S";\r
+       String LANG_CREATE_INDEX_NO_TABLE                                  = "X0Y38.S";\r
+       String LANG_INVALID_FK_NO_PK                                       = "X0Y41.S";\r
+       String LANG_INVALID_FK_COL_TYPES_DO_NOT_MATCH                      = "X0Y42.S";\r
+       String LANG_INVALID_FK_DIFFERENT_COL_COUNT                         = "X0Y43.S";\r
+       String LANG_INVALID_FK_NO_REF_KEY                                  = "X0Y44.S";\r
+       String LANG_ADD_FK_CONSTRAINT_VIOLATION                            = "X0Y45.S";\r
+       String LANG_INVALID_FK_NO_REF_TAB                                  = "X0Y46.S";\r
+       String LANG_SCHEMA_NOT_EMPTY                                       = "X0Y54.S";\r
+       String LANG_INDEX_ROW_COUNT_MISMATCH                               = "X0Y55.S";\r
+       String LANG_INVALID_OPERATION_ON_SYSTEM_TABLE                      = "X0Y56.S";\r
+       String LANG_ADDING_NON_NULL_COLUMN_TO_NON_EMPTY_TABLE              = "X0Y57.S";\r
+       String LANG_ADD_PRIMARY_KEY_FAILED1                                = "X0Y58.S";\r
+       String LANG_ADD_CHECK_CONSTRAINT_FAILED                            = "X0Y59.S";\r
+       String LANG_NULL_DATA_IN_PRIMARY_KEY                                       = "X0Y63.S";\r
+       String LANG_NO_COMMIT_IN_NESTED_CONNECTION                         = "X0Y66.S";\r
+       String LANG_NO_ROLLBACK_IN_NESTED_CONNECTION                       = "X0Y67.S";\r
+       String LANG_OBJECT_ALREADY_EXISTS                                  = "X0Y68.S";\r
+       String LANG_NO_DDL_IN_TRIGGER                                      = "X0Y69.S";\r
+       String LANG_NO_DML_IN_TRIGGER                                      = "X0Y70.S";\r
+       String LANG_NO_XACT_IN_TRIGGER                                     = "X0Y71.S";\r
+       String LANG_NO_BULK_INSERT_REPLACE_WITH_TRIGGER_DURING_EXECUTION   = "X0Y72.S";\r
+       String LANG_NO_SET_TRAN_ISO_IN_GLOBAL_CONNECTION                   = "X0Y77.S";\r
+       String LANG_INVALID_CALL_TO_EXECUTE_QUERY                                  = "X0Y78.S";\r
+    String MULTIPLE_RESULTS_ON_EXECUTE_QUERY = "X0Y78.S.1";\r
+    String USE_EXECUTE_UPDATE_WITH_NO_RESULTS = "X0Y78.S.2";\r
+       String LANG_INVALID_CALL_TO_EXECUTE_UPDATE                                 = "X0Y79.S";\r
+       String LANG_NULL_DATA_IN_NON_NULL_COLUMN                                   = "X0Y80.S";\r
+    String LANG_IGNORE_MISSING_INDEX_ROW_DURING_DELETE                 = "X0Y83.S";\r
+\r
+\r
+       // TEMPORARY EXECUTION RESTRICTIONS\r
+\r
+       // Non-SQLSTATE errors \r
+       String LANG_DOES_NOT_RETURN_ROWS                                   = "XCL01.S";\r
+       String LANG_ACTIVATION_CLOSED                                      = "XCL05.S";\r
+       String LANG_CURSOR_CLOSED                                          = "XCL07.S";\r
+       String LANG_NO_CURRENT_ROW                                         = "XCL08.S";\r
+       String LANG_WRONG_ACTIVATION                                       = "XCL09.S";\r
+       String LANG_OBSOLETE_PARAMETERS                                    = "XCL10.S";\r
+       String LANG_DATA_TYPE_SET_MISMATCH                                 = "XCL12.S";\r
+       String LANG_INVALID_PARAM_POSITION                                 = "XCL13.S";\r
+       String LANG_INVALID_COLUMN_POSITION                                 = "XCL14.S";\r
+       String LANG_INVALID_COMPARE_TO                                     = "XCL15.S";\r
+       String LANG_RESULT_SET_NOT_OPEN                                    = "XCL16.S.0";\r
+    String CLIENT_RESULT_SET_NOT_OPEN                                  = "XCL16.S.1";\r
+    String LANG_STREAM_RETRIEVED_ALREADY = "XCL18.S";\r
+       String LANG_MISSING_ROW                                            = "XCL19.S";\r
+       String LANG_CANT_UPGRADE_CATALOGS                                  = "XCL20.S";\r
+       String LANG_DDL_IN_BIND                                            = "XCL21.S";\r
+       String LANG_NOT_OUT_PARAM                                                                                  = "XCL22.S";\r
+       String LANG_INVALID_S_Q_L_TYPE                                     = "XCL23.S";\r
+       String LANG_PARAMETER_MUST_BE_OUTPUT                               = "XCL24.S";\r
+       String LANG_INVALID_OUT_PARAM_MAP                                  = "XCL25.S";\r
+       String LANG_NOT_OUTPUT_PARAMETER                                   = "XCL26.S";\r
+       String LANG_RETURN_OUTPUT_PARAM_CANNOT_BE_SET                      = "XCL27.S";\r
+       String LANG_STREAMING_COLUMN_I_O_EXCEPTION                         = "XCL30.S";\r
+       String LANG_STATEMENT_CLOSED_NO_REASON                                                     = "XCL31.S";\r
+       String LANG_STATEMENT_NEEDS_RECOMPILE                                                      = "XCL32.S";\r
+\r
+\r
+       \r
+       //delete rule restriction violation errors\r
+       String LANG_CANT_BE_DEPENDENT_ESELF                                                                = "XCL33.S";\r
+       String LANG_CANT_BE_DEPENDENT_ECYCLE                                                       = "XCL34.S";\r
+       String LANG_CANT_BE_DEPENDENT_MPATH                                                                = "XCL35.S";\r
+       String LANG_DELETE_RULE_MUSTBE_ESELF                                       = "XCL36.S";\r
+       String LANG_DELETE_RULE_MUSTBE_ECASCADE                                                    = "XCL37.S";\r
+       String LANG_DELETE_RULE_MUSTBE_MPATH                                                       = "XCL38.S";\r
+       String LANG_DELETE_RULE_CANT_BE_CASCADE_ESELF                                      = "XCL39.S"; \r
+       String LANG_DELETE_RULE_CANT_BE_CASCADE_ECYCLE                                     = "XCL40.S"; \r
+       String LANG_DELETE_RULE_CANT_BE_CASCADE_MPATH                                      = "XCL41.S"; \r
+\r
+       // referential action types\r
+       String LANG_DELETE_RULE_CASCADE                                                                    = "XCL42.S"; \r
+       String LANG_DELETE_RULE_SETNULL                                                                    = "XCL43.S"; \r
+       String LANG_DELETE_RULE_RESTRICT                                                                   = "XCL44.S"; \r
+       String LANG_DELETE_RULE_NOACTION                                                                   = "XCL45.S"; \r
+       String LANG_DELETE_RULE_SETDEFAULT                                                                 = "XCL46.S"; \r
+\r
+       String LANG_STATEMENT_UPGRADE_REQUIRED                                                     = "XCL47.S";\r
+\r
+       //truncate table\r
+       String LANG_NO_TRUNCATE_ON_FK_REFERENCE_TABLE                      = "XCL48.S";\r
+       String LANG_NO_TRUNCATE_ON_ENABLED_DELETE_TRIGGERS                 = "XCL49.S";\r
+\r
+    // Initial release of Apache Derby did not support upgrade\r
+       String LANG_CANT_UPGRADE_DATABASE                                 = "XCL50.S";\r
+\r
+    String LANG_STATEMENT_CANCELLED_OR_TIMED_OUT                       = "XCL52.S";\r
+\r
+    //lob stream error\r
+    String LANG_STREAM_CLOSED                                     = "XCL53";\r
+\r
+    /*\r
+       ** Language errors that match DB2\r
+       */\r
+\r
+       String  INVALID_SCHEMA_SYS                                                                                      = "42939";\r
+\r
+       /*\r
+               SQL standard 0A - feature not supported\r
+       */\r
+       String UNSUPPORTED_PREFIX="0A";\r
+\r
+    String NOT_IMPLEMENTED                                          = "0A000.S";\r
+    String JDBC_METHOD_NOT_IMPLEMENTED                              = "0A000.S.1";\r
+    String JDBC_METHOD_NOT_SUPPORTED_BY_SERVER                      = "0A000.S.2";\r
+    String UNSUPPORTED_HOLDABILITY_PROPERTY                         = "0A000.S.3";\r
+    String CANCEL_NOT_SUPPORTED_BY_SERVER                           = "0A000.S.4";\r
+    String SECMECH_NOT_SUPPORTED                                    = "0A000.S.5";\r
+    String DRDA_COMMAND_NOT_IMPLEMENTED                             = "0A000.C.6";\r
+    String DATA_TYPE_NOT_SUPPORTED = "0A000.S.7";\r
+\r
+\r
+\r
+       \r
+\r
+       /*\r
+       ** Authorization and Authentication\r
+       */\r
+       String AUTHORIZATION_SPEC_PREFIX="28";\r
+       \r
+       String AUTH_SET_CONNECTION_READ_ONLY_IN_ACTIVE_XACT                = "25501";\r
+       String AUTH_WRITE_WITH_READ_ONLY_CONNECTION                        = "25502";\r
+       String AUTH_DDL_WITH_READ_ONLY_CONNECTION                          = "25503";\r
+       String AUTH_CANNOT_SET_READ_WRITE                                  = "25505";\r
+       String AUTH_INVALID_USER_NAME                                      = "28502";\r
+\r
+       /*\r
+       ** Dependency manager\r
+       */\r
+       String DEP_UNABLE_TO_RESTORE                                       = "XD003.S";\r
+       String DEP_UNABLE_TO_STORE                                         = "XD004.S";\r
+\r
+    /*\r
+    ** Connectivity\r
+    */\r
+    //following have statement severity.\r
+    String NO_CURRENT_ROW = "24000";\r
+    // String NULL_TYPE_PARAMETER_MISMATCH = "37000";\r
+    String NO_INPUT_PARAMETERS = "07009";\r
+       String NEED_TO_REGISTER_PARAM = "07004";\r
+    String COLUMN_NOT_FOUND = "S0022";\r
+    //String NO_COMMIT_WHEN_AUTO = "XJ007.S";\r
+    String NO_SAVEPOINT_ROLLBACK_OR_RELEASE_WHEN_AUTO = "XJ008.S";\r
+    String REQUIRES_CALLABLE_STATEMENT = "XJ009.S";\r
+    String NO_SAVEPOINT_WHEN_AUTO = "XJ010.S";\r
+    String NULL_NAME_FOR_SAVEPOINT = "XJ011.S";\r
+    String ALREADY_CLOSED = "XJ012.S";\r
+    String NO_ID_FOR_NAMED_SAVEPOINT = "XJ013.S";\r
+    String NO_NAME_FOR_UNNAMED_SAVEPOINT = "XJ014.S";\r
+    String NOT_FOR_PREPARED_STATEMENT = "XJ016.S";\r
+    String NO_SAVEPOINT_IN_TRIGGER = "XJ017.S";\r
+    String NULL_COLUMN_NAME = "XJ018.S";\r
+    String TYPE_MISMATCH = "XJ020.S";\r
+    String UNSUPPORTED_TYPE = "XJ021.S";\r
+    String SET_STREAM_FAILURE = "XJ022.S";\r
+    String SET_STREAM_INEXACT_LENGTH_DATA = "XJ023.S";\r
+    String NEGATIVE_STREAM_LENGTH = "XJ025.S";\r
+    String NO_AUTO_COMMIT_ON = "XJ030.S";\r
+    String BAD_PROPERTY_VALUE = "XJ042.S";\r
+    String BAD_SCALE_VALUE = "XJ044.S";\r
+    String UNIMPLEMENTED_ISOLATION_LEVEL = "XJ045.S";\r
+    String RESULTSET_RETURN_NOT_ALLOWED = "XJ04B.S";\r
+    String OUTPUT_PARAMS_NOT_ALLOWED = "XJ04C.S";\r
+    String CANNOT_AUTOCOMMIT_XA = "XJ056.S";\r
+    String CANNOT_COMMIT_XA = "XJ057.S";\r
+    String CANNOT_ROLLBACK_XA = "XJ058.S";\r
+    String CANNOT_CLOSE_ACTIVE_XA_CONNECTION = "XJ059.S";\r
+       String CANNOT_HOLD_CURSOR_XA = "XJ05C.S";\r
+    String NOT_ON_FORWARD_ONLY_CURSOR = "XJ061.S";\r
+    String INVALID_FETCH_SIZE = "XJ062.S";\r
+    String INVALID_MAX_ROWS_VALUE = "XJ063.S";\r
+    String INVALID_FETCH_DIRECTION = "XJ064.S";\r
+    String INVALID_ST_FETCH_SIZE = "XJ065.S";\r
+    String INVALID_MAXFIELD_SIZE = "XJ066.S";\r
+    String NULL_SQL_TEXT = "XJ067.S";\r
+    String MIDDLE_OF_BATCH = "XJ068.S";\r
+    String NO_SETXXX_FOR_EXEC_USING = "XJ069.S";\r
+    String BLOB_BAD_POSITION = "XJ070.S";\r
+    String BLOB_NONPOSITIVE_LENGTH = "XJ071.S";\r
+    String BLOB_NULL_PATTERN_OR_SEARCH_STR = "XJ072.S";\r
+    String BLOB_ACCESSED_AFTER_COMMIT = "XJ073.S";\r
+    String INVALID_QUERYTIMEOUT_VALUE = "XJ074.S";\r
+    String BLOB_POSITION_TOO_LARGE = "XJ076.S";\r
+    String BLOB_UNABLE_TO_READ_PATTERN = "XJ077.S";\r
+    String BLOB_INVALID_OFFSET = "XJ078.S";\r
+    String BLOB_LENGTH_TOO_LONG = "XJ079.S";\r
+    String LANG_NUM_PARAMS_INCORRECT = "XJ080.S";\r
+    String INVALID_API_PARAMETER = "XJ081.S";\r
+    String LOB_AS_METHOD_ARGUMENT_OR_RECEIVER = "XJ082.U";\r
+    String UPDATABLE_RESULTSET_API_DISALLOWED = "XJ083.U";\r
+    String COLUMN_NOT_FROM_BASE_TABLE = "XJ084.U";\r
+    String STREAM_EOF = "XJ085.S";\r
+    String CURSOR_NOT_POSITIONED_ON_INSERT_ROW = "XJ086.S";\r
+    String POS_AND_LENGTH_GREATER_THAN_LOB = "XJ087.S";\r
+    \r
+    \r
+    String WASNULL_INVALID = "XJ088.S";\r
+    String CALENDAR_IS_NULL = "XJ090.S";\r
+    String PARAM_NOT_OUT_OR_INOUT = "XJ091.S";\r
+    String BLOB_TOO_LARGE_FOR_CLIENT  = "XJ093.S";\r
+    String OBJECT_ALREADY_CLOSED = "XJ094.S";\r
+    String ERROR_PRIVILEGED_ACTION = "XJ095.S";\r
+    String MISSING_RESOURCE_BUNDLE = "XJ096.S";\r
+    String SAVEPOINT_NOT_CREATED_BY_CONNECTION = "XJ097.S";\r
+    String BAD_AUTO_GEN_KEY_VALUE = "XJ098.S";\r
+    String READER_UNDER_RUN = "XJ099.S";\r
+    String REGOUTPARAM_SCALE_DOESNT_MATCH_SETTER = "XJ100.S";\r
+    String TABLE_NAME_CANNOT_BE_NULL = "XJ103.S";\r
+    String SHARED_KEY_LENGTH_ERROR = "XJ104.S";\r
+    String DES_KEY_HAS_WRONG_LENGTH = "XJ105.S";\r
+    String CRYPTO_NO_SUCH_PADDING = "XJ106.S";\r
+    String CRYPTO_BAD_PADDING = "XJ107.S";\r
+    String CRYPTO_ILLEGAL_BLOCK_SIZE = "XJ108.S";\r
+    String PRIMARY_TABLE_NAME_IS_NULL = "XJ110.S";\r
+    String FOREIGN_TABLE_NAME_IS_NULL = "XJ111.S";\r
+    String SECURITY_EXCEPTION_ENCOUNTERED = "XJ112.S";    \r
+    String UNABLE_TO_OPEN_FILE = "XJ113.S";\r
+    String CURSOR_INVALID_CURSOR_NAME = "XJ114.S";\r
+    String UNABLE_TO_OPEN_RESULTSET_WITH_REQUESTED_HOLDABILTY = "XJ115.S";\r
+    String TOO_MANY_COMMANDS_FOR_BATCH = "XJ116.S";\r
+    String CANNOT_BATCH_QUERIES = "XJ117.S";\r
+    String QUERY_BATCH_ON_NON_QUERY_STATEMENT = "XJ118.S";\r
+    String CURSOR_INVALID_OPERATION_AT_CURRENT_POSITION = "XJ121.S";\r
+    String CURSOR_NO_UPDATE_CALLS_ON_CURRENT_ROW = "XJ122.S";\r
+    String CURSOR_NOT_ON_CURRENT_OR_INSERT_ROW = "XJ123.S";\r
+    String CURSOR_COLUMN_NOT_UPDATABLE = "XJ124.S";\r
+    String CURSOR_MUST_BE_SCROLLABLE = "XJ125.S";\r
+    String CURSOR_INVALID_FOR_SENSITIVE_DYNAMIC = "XJ126.S";\r
+    //wrapper related\r
+    String UNABLE_TO_UNWRAP = "XJ128.S";\r
+    \r
+    String EXCEEDED_MAX_SECTIONS = "XJ200.S";\r
+    String CURSOR_INVALID_NAME = "XJ202.S";\r
+    String CURSOR_DUPLICATE_NAME = "XJ203.S";\r
+    String UNABLE_TO_OPEN_RS_WITH_REQUESTED_HOLDABILITY = "XJ204.S";\r
+    String NO_TOKENS_IN_SQL_TEXT = "XJ206.S";\r
+    String CANT_USE_EXEC_QUERY_FOR_UPDATE = "XJ207.S";\r
+    String BATCH_NON_ATOMIC_FAILURE = "XJ208.S";\r
+    String STORED_PROC_NOT_INSTALLED = "XJ209.S";\r
+    String STORED_PROC_LOAD_MODULE_NOT_FOUND = "XJ210.S";\r
+    String BATCH_CHAIN_BREAKING_EXCEPTION = "XJ211.S";\r
+    String INVALID_ATTRIBUTE_SYNTAX = "XJ212.S";\r
+    String TRACELEVEL_FORMAT_INVALID = "XJ213.C";\r
+    String IO_ERROR_UPON_LOB_FREE = "XJ214.S";\r
+    String LOB_OBJECT_INVALID = "XJ215.S";\r
+    String LOB_OBJECT_LENGTH_UNKNOWN_YET = "XJ216.S";\r
+    String LOB_LOCATOR_INVALID = "XJ217.S";\r
+    \r
+    //XN - Network-level messages\r
+    String NET_CONNECTION_RESET_NOT_ALLOWED_IN_UNIT_OF_WORK         = "XN001.S";\r
+    String NET_SECKTKN_NOT_RETURNED                                 = "XN002.U";\r
+    String NET_QUERY_PROCESSING_TERMINATED                          = "XN008.S";\r
+    String NET_ERROR_GETTING_BLOB_LENGTH                            = "XN009.S";\r
+    String NET_NULL_PROCEDURE_NAME                                  = "XN010.S";\r
+    String NET_PROCEDURE_NAME_LENGTH_OUT_OF_RANGE                   = "XN011.S";\r
+    String NET_WRONG_XA_VERSION                                     = "XN012.S";\r
+    String NET_INVALID_SCROLL_ORIENTATION                           = "XN013.S";\r
+    String NET_IOEXCEPTION_ON_READ                                  = "XN014.S";\r
+    String NET_INPUTSTREAM_LENGTH_TOO_SMALL                         = "XN015.S";\r
+    String NET_IOEXCEPTION_ON_STREAMLEN_VERIFICATION                = "XN016.S";\r
+    String NET_PREMATURE_EOS                                        = "XN017.S";\r
+    String NET_READER_LENGTH_TOO_SMALL                              = "XN018.S";\r
+    String NET_XARETVAL_ERROR                                       = "XN019.S";\r
+    \r
+    // XML - Derby-specific XML errors not covered by\r
+    // SQL standard.\r
+    String LANG_MISSING_XML_CLASSES                                 = "XML00";\r
+    String LANG_UNEXPECTED_XML_EXCEPTION                            = "XML01";\r
+\r
+    // Used by server for scrollable updatable insensitive result sets\r
+    // to transmit updated state to client. Internal, not seen by user.\r
+    // Has no message in messages.properties as it is never printed.\r
+    String ROW_UPDATED = "rwupd"; \r
+    // Used by server to signal delete holes to the client. Internal, not \r
+    // seen by user. Has no message in messages.properties as it is never \r
+    // printed.\r
+    String ROW_DELETED = "02502";\r
+\r
+    //following are session severity.\r
+    String DATABASE_NOT_FOUND = "XJ004.C";\r
+    String MALFORMED_URL = "XJ028.C";\r
+    String BOOT_DATABASE_FAILED = "XJ040.C";\r
+    String CREATE_DATABASE_FAILED = "XJ041.C";\r
+    String CONFLICTING_CREATE_ATTRIBUTES = "XJ049.C";\r
+       String CONFLICTING_RESTORE_ATTRIBUTES = "XJ081.C";\r
+    String INVALID_ATTRIBUTE = "XJ05B.C";\r
+    String NO_SUCH_DATABASE = "X0RQ3.C";\r
+    \r
+    // Connection exceptions - SQL State class 08\r
+    \r
+    // 08004 SQL State means the server rejected the connection request\r
+    String LOGIN_FAILED = "08004";\r
+    String NET_CONNECT_AUTH_FAILED                          = "08004.C.1";\r
+    String NET_DATABASE_NOT_FOUND                           = "08004.C.2";\r
+    String AUTH_DATABASE_CONNECTION_REFUSED                 = "08004.C.3"; \r
+    //DERBY-1828: AUTH_DATABASE_CONNECTION_REFUSED used to be "04501.C"; \r
+    String AUTH_SHUTDOWN_NOT_DB_OWNER                       = "08004.C.4";\r
+    String AUTH_ENCRYPT_NOT_DB_OWNER                        = "08004.C.5";\r
+    String AUTH_HARD_UPGRADE_NOT_DB_OWNER                   = "08004.C.6";\r
+    //DERBY-1828: AUTH_x_NOT_DB_OWNER used to be "2850H/I/J.C";\r
+\r
+    // There can be multiple causes for 08003, which according\r
+    // to SQL2003 spec means "connection does not exist"\r
+    // We use a suffix to distinguish them.  Because of the suffix\r
+    // you *must* add a severity code\r
+    String NO_CURRENT_CONNECTION = "08003";\r
+    String NOGETCONN_ON_CLOSED_POOLED_CONNECTION = "08003.C.1";\r
+    String LOB_METHOD_ON_CLOSED_CONNECTION = "08003.C.2";\r
+    String PHYSICAL_CONNECTION_ALREADY_CLOSED = "08003.C.3";\r
+\r
+    \r
+    // 08006 means connection exception - connection failure\r
+    String DRDA_CONNECTION_TERMINATED                           = "08006.C";\r
+    String CONNECTION_FAILED_ON_RESET                           = "08006.C.1";\r
+   \r
+    // Use this version of SOCKET_EXCEPTION any time *except* when trying to\r
+    // establish a connection, as the SQLState is different.  When trying\r
+    // to establish a connection, use CONNECT_SOCKET_EXCEPTION.\r
+    String SOCKET_EXCEPTION                                     = "08006.C.2";\r
+    String COMMUNICATION_ERROR                                  = "08006.C.3";\r
+    String CONNECTION_FAILED_ON_DEFERRED_RESET                  = "08006.C.4";\r
+    String NET_INSUFFICIENT_DATA                                = "08006.C.5";\r
+    String NET_LOB_DATA_TOO_LARGE_FOR_JVM                       = "08006.C.6";\r
+  \r
+    \r
+    // 08001 is specifically about the SQL client not being able to establish\r
+    // a connection with the server.  Should only be used for errors that\r
+    // occur upon attempting to open a connection.\r
+    // NOTE that if the server *rejects* the connection, that's a different\r
+    // SQLState- 08004'\r
+    String CONNECT_REQUIRED_PROPERTY_NOT_SET                    = "08001.C.1";\r
+    String CONNECT_UNABLE_TO_CONNECT_TO_SERVER                  = "08001.C.2";\r
+    // Use this version of socket exception occurs when trying to establish\r
+    // a connection to the server, as the SQL State 08001 indicates failure\r
+    // to establish a connection.  If you aren't trying to connect, just\r
+    // use SOCKET_EXCEPTION\r
+    String CONNECT_SOCKET_EXCEPTION                             = "08001.C.3";\r
+    String CONNECT_UNABLE_TO_OPEN_SOCKET_STREAM                 = "08001.C.4";\r
+    String CONNECT_USERID_LENGTH_OUT_OF_RANGE                   = "08001.C.5";\r
+    String CONNECT_PASSWORD_LENGTH_OUT_OF_RANGE                 = "08001.C.6";\r
+    String CONNECT_USERID_ISNULL                                = "08001.C.7";\r
+    String CONNECT_PASSWORD_ISNULL                              = "08001.C.8";\r
+    String NET_DBNAME_TOO_LONG                                  = "08001.C.9";\r
+    String NET_SECTKN_TOO_LONG                                  = "08001.C.10";\r
+    String NET_USERID_TOO_LONG                                  = "08001.C.11";\r
+    String NET_PASSWORD_TOO_LONG                                = "08001.C.12";\r
+\r
+        \r
+    // system severity\r
+    String SHUTDOWN_DATABASE = "08006.D";  \r
+        \r
+    //the following 2 exceptions are internal and never get seen by the user.\r
+    String CLOSE_REQUEST = "close.C.1"; // no message in messages.properties as it is never printed\r
+\r
+    //this one had no sqlstate associated with it.\r
+    String NORMAL_CLOSE = "XXXXX.C.6";\r
+\r
+    //following are system severity.\r
+    String CLOUDSCAPE_SYSTEM_SHUTDOWN = "XJ015.M";\r
+\r
+    //following are warning severity.\r
+    String DATABASE_EXISTS = "01J01";\r
+    String NO_SCROLL_SENSITIVE_CURSORS = "01J02";\r
+       String LANG_TYPE_NOT_SERIALIZABLE = "01J04";\r
+       String UPGRADE_SPSRECOMPILEFAILED = "01J05";\r
+    String QUERY_NOT_QUALIFIED_FOR_UPDATABLE_RESULTSET = "01J06";\r
+    String HOLDABLE_RESULT_SET_NOT_AVAILABLE = "01J07";\r
+    String INVALID_RESULTSET_TYPE = "01J08";\r
+    String SCROLL_SENSITIVE_NOT_SUPPORTED = "01J10";\r
+    String UNABLE_TO_OBTAIN_MESSAGE_TEXT_FROM_SERVER  = "01J12";\r
+    String NUMBER_OF_ROWS_TOO_LARGE_FOR_INT = "01J13";\r
+       String SQL_AUTHORIZATION_WITH_NO_AUTHENTICATION = "01J14";\r
+               \r
+    String CURSOR_OPERATION_CONFLICT = "01001";\r
+\r
+\r
+\r
+    //following are no applicable severity\r
+    String JAVA_EXCEPTION = "XJ001.U";\r
+    String NO_UPGRADE = "XJ050.U";\r
+        \r
+    /*\r
+     ** Messages whose SQL states are prescribed by DRDA\r
+     */\r
+    String DRDA_NO_AUTOCOMMIT_UNDER_XA                              = "2D521.S.1";\r
+    String DRDA_INVALID_XA_STATE_ON_COMMIT_OR_ROLLBACK              = "2D521.S.2"; \r
+    String DRDA_CURSOR_NOT_OPEN                                     = "24501.S";\r
+\r
+    // 58009 means connection is terminated by a DRDA-protocol error.  This can be caused by any number\r
+    // of reasons, so this SQL State has a lot of instances. Exceptions that are \r
+    // not protocol related, e.g. SocketException, IOException etc should use \r
+    // SQLState 8006. DERBY-3077. \r
+    // \r
+    String NET_SQLCDTA_INVALID_FOR_RDBCOLID                         = "58009.C.7";\r
+    String NET_SQLCDTA_INVALID_FOR_PKGID                            = "58009.C.8";\r
+    String NET_PGNAMCSN_INVALID_AT_SQLAM                            = "58009.C.9";\r
+    String NET_VCM_VCS_LENGTHS_INVALID                              = "58009.C.10";\r
+    String NET_ENCODING_NOT_SUPPORTED                               = "58009.C.11";\r
+    String NET_NOT_EXPECTED_CODEPOINT                               = "58009.C.12";\r
+    String NET_DDM_COLLECTION_TOO_SMALL                             = "58009.C.13";\r
+    String NET_COLLECTION_STACK_NOT_EMPTY                           = "58009.C.14";\r
+    String NET_DSS_NOT_ZERO                                         = "58009.C.15";\r
+    String NET_DSS_CHAINED_WITH_SAME_ID                             = "58009.C.16";\r
+    String NET_PREMATURE_EOS_DISCONNECT                             = "58009.C.17";\r
+    String NET_INVALID_FDOCA_ID                                     = "58009.C.18";\r
+    String NET_SECTKN_NOT_RETURNED                                  = "58009.C.19";\r
+    String NET_NVCM_NVCS_BOTH_NON_NULL                              = "58009.C.20";\r
+    String NET_SQLCDTA_INVALID_FOR_RDBNAM                           = "58009.C.21";\r
+\r
+    String DRDA_MGRLVLRM                                            = "58010.C";\r
+    String DRDA_DDM_COMMAND_NOT_SUPPORTED                           = "58014.C";\r
+    String DRDA_DDM_OBJECT_NOT_SUPPORTED                            = "58015.C";\r
+    String DRDA_DDM_PARAM_NOT_SUPPORTED                             = "58016.C";\r
+    String DRDA_DDM_PARAMVAL_NOT_SUPPORTED                          = "58017.C";\r
+    String DRDA_NO_AVAIL_CODEPAGE_CONVERSION                        = "57017.C";\r
+    \r
+       /*\r
+       ** org.apache.derby.database.UserUtility\r
+               */\r
+       String UU_UNKNOWN_PERMISSION                                                                    = "XCZ00.S";\r
+       String UU_UNKNOWN_USER                                                                                  = "XCZ01.S";\r
+       String UU_INVALID_PARAMETER                                                                             = "XCZ02.S";\r
+\r
+       /*\r
+       ** SQL Java DDL 46xxx\r
+       ** SQLJ jar file support\r
+       */\r
+       String SQLJ_INVALID_JAR                         = "46001";\r
+       String SQLJ_SIGNATURE_INVALID                   = "46J01";\r
+       String SQLJ_SIGNATURE_PARAMETER_COUNT       = "46J02";\r
+\r
+       /*\r
+       ** Import/Export\r
+       */\r
+       String CONNECTION_NULL                                         ="XIE01.S";\r
+       String DATA_AFTER_STOP_DELIMITER                               ="XIE03.S";\r
+       String DATA_FILE_NOT_FOUND                                     ="XIE04.S";\r
+       String DATA_FILE_NULL                                          ="XIE05.S";\r
+       String ENTITY_NAME_MISSING                                     ="XIE06.S";\r
+       String FIELD_IS_RECORD_SEPERATOR_SUBSET                        ="XIE07.S";\r
+    String INVALID_COLUMN_NAME                                     ="XIE08.S";\r
+       String INVALID_COLUMN_NUMBER                                   ="XIE09.S";\r
+       String UNSUPPORTED_COLUMN_TYPE                                 ="XIE0B.S";\r
+       String RECORD_SEPERATOR_MISSING                                ="XIE0D.S";\r
+       String UNEXPECTED_END_OF_FILE                                  ="XIE0E.S";\r
+       String ERROR_WRITING_DATA                                      ="XIE0I.S";\r
+       String DELIMITERS_ARE_NOT_MUTUALLY_EXCLUSIVE                   ="XIE0J.S";\r
+       String PERIOD_AS_CHAR_DELIMITER_NOT_ALLOWED                    ="XIE0K.S";\r
+       String TABLE_NOT_FOUND                                         ="XIE0M.S";\r
+       String IMPORTFILE_HAS_INVALID_HEXSTRING                        ="XIE0N.S";\r
+       String LOB_DATA_FILE_NOT_FOUND                                 ="XIE0P.S";\r
+       String LOB_DATA_FILE_NULL                                      ="XIE0Q.S";\r
+       String UNEXPECTED_IMPORT_ERROR                       ="XIE0R.S";\r
+       String DATA_FILE_EXISTS                              ="XIE0S.S";\r
+       String LOB_DATA_FILE_EXISTS                          ="XIE0T.S";\r
+\r
+\r
+\r
+    /*\r
+    ** Security XK...\r
+    */\r
+    String POLICY_NOT_RELOADED                                     ="XK000.S";\r
+}\r
+\r