// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) braces deadcode fieldsfirst 
// Source File Name:   DBError.java
// Class Version:      45.3

package oracle.jdbc.dbaccess;

import java.io.IOException;
import java.sql.*;
import oracle.jdbc.driver.OracleLog;
import oracle.jdbc.util.SQLStateMapping;
import oracle.jdbc.util.SQLStateRange;

// Referenced classes of package oracle.jdbc.dbaccess:
//            Message

// flag ACC_SUPER is set
public class DBError
{
    // Constants:          681
    // Interfaces:         0
    // Fields:             174
    // Methods:            30
    // Class Attributes:   1


    private static boolean m_loadedMessages = false;
    private static Message m_message = null;
    private static String m_msgClassName = "oracle.jdbc.dbaccess.Message11";
    static final SQLStateMapping mappings[] = {
        new SQLStateMapping(0, "00000"), new SQLStateMapping(1, "23000"), new SQLStateMapping(22, "42000"), new SQLStateMapping(100, "02000"), new SQLStateMapping(251, "42000"), new SQLStateMapping(1025, "22023"), new SQLStateMapping(1031, "42000"), new SQLStateMapping(1095, "02000"), new SQLStateMapping(1402, "44000"), new SQLStateMapping(1403, "02000"), 
        new SQLStateMapping(1405, "22002"), new SQLStateMapping(1406, "22001"), new SQLStateMapping(1410, "24000"), new SQLStateMapping(1411, "22022"), new SQLStateMapping(1422, "21000"), new SQLStateMapping(1424, "22025"), new SQLStateMapping(1425, "22019"), new SQLStateMapping(1426, "22003"), new SQLStateMapping(1427, "21000"), new SQLStateMapping(1438, "22003"), 
        new SQLStateMapping(1455, "22003"), new SQLStateMapping(1457, "22003"), new SQLStateMapping(1476, "22012"), new SQLStateMapping(1488, "22023"), new SQLStateMapping(8006, "24000")
    };
    static final SQLStateRange ranges[] = {
        new SQLStateRange(17, 21, "61000"), new SQLStateRange(23, 35, "61000"), new SQLStateRange(49, 68, "61000"), new SQLStateRange(100, 120, "62000"), new SQLStateRange(149, 159, "63000"), new SQLStateRange(199, 369, "64000"), new SQLStateRange(369, 429, "60000"), new SQLStateRange(429, 439, "67000"), new SQLStateRange(439, 569, "62000"), new SQLStateRange(569, 599, "69000"), 
        new SQLStateRange(599, 899, "60000"), new SQLStateRange(899, 999, "42000"), new SQLStateRange(999, 1099, "72000"), new SQLStateRange(1000, 1003, "24000"), new SQLStateRange(1099, 1250, "64000"), new SQLStateRange(1399, 1401, "23000"), new SQLStateRange(1401, 1478, "72000"), new SQLStateRange(1478, 1480, "22024"), new SQLStateRange(1480, 1489, "72000"), new SQLStateRange(1489, 1493, "42000"), 
        new SQLStateRange(1493, 1499, "72000"), new SQLStateRange(1499, 1699, "72000"), new SQLStateRange(1699, 1799, "42000"), new SQLStateRange(1799, 1899, "22008"), new SQLStateRange(1899, 2099, "42000"), new SQLStateRange(2090, 2092, "40000"), new SQLStateRange(2139, 2289, "42000"), new SQLStateRange(2289, 2299, "23000"), new SQLStateRange(2375, 2399, "61000"), new SQLStateRange(2399, 2419, "72000"), 
        new SQLStateRange(2419, 2424, "42000"), new SQLStateRange(2424, 2449, "72000"), new SQLStateRange(2449, 2499, "42000"), new SQLStateRange(2699, 2899, "63000"), new SQLStateRange(2999, 3099, "0A000"), new SQLStateRange(3099, 3199, "63000"), new SQLStateRange(3275, 3299, "42000"), new SQLStateRange(3999, 4019, "22023"), new SQLStateRange(4019, 4039, "61000"), new SQLStateRange(4039, 4059, "42000"), 
        new SQLStateRange(4059, 4069, "72000"), new SQLStateRange(4069, 4099, "42000"), new SQLStateRange(5999, 6149, "66000"), new SQLStateRange(6199, 6249, "63000"), new SQLStateRange(6249, 6429, "66000"), new SQLStateRange(6429, 6449, "60000"), new SQLStateRange(6499, 6599, "65000"), new SQLStateRange(6510, 6511, "24000"), new SQLStateRange(6599, 6999, "66000"), new SQLStateRange(6999, 7199, "69000"), 
        new SQLStateRange(7199, 7999, "60000"), new SQLStateRange(7999, 8190, "72000"), new SQLStateRange(9699, 9999, "60000"), new SQLStateRange(9999, 10999, "90000"), new SQLStateRange(11999, 12019, "72000"), new SQLStateRange(12299, 12499, "72000"), new SQLStateRange(12699, 21999, "72000"), new SQLStateRange(12099, 12299, "66000"), new SQLStateRange(12499, 12599, "66000")
    };
    public static final int JDBC_ERROR_BASE = 17000;
    public static final int JDBC_MAX_ERRORS = 500;
    public static final int EOJ_SUCCESS = 0;
    public static final int EOJ_ERROR = 1;
    public static final int EOJ_IOEXCEPTION = 2;
    public static final int EOJ_INVALID_COLUMN_INDEX = 3;
    public static final int EOJ_INVALID_COLUMN_TYPE = 4;
    public static final int EOJ_UNSUPPORTED_COLUMN_TYPE = 5;
    public static final int EOJ_INVALID_COLUMN_NAME = 6;
    public static final int EOJ_INVALID_DYNAMIC_COLUMN = 7;
    public static final int EOJ_CLOSED_CONNECTION = 8;
    public static final int EOJ_CLOSED_STATEMENT = 9;
    public static final int EOJ_CLOSED_RESULTSET = 10;
    public static final int EOJ_EXHAUSTED_RESULTSET = 11;
    public static final int EOJ_TYPE_CONFLICT = 12;
    public static final int EOJ_WAS_NULL = 13;
    public static final int EOJ_RESULTSET_BEFORE_FIRST_ROW = 14;
    public static final int EOJ_STATEMENT_WAS_CANCELLED = 15;
    public static final int EOJ_STATEMENT_TIMED_OUT = 16;
    public static final int EOJ_CURSOR_ALREADY_INITIALIZED = 17;
    public static final int EOJ_INVALID_CURSOR = 18;
    public static final int EOJ_CAN_ONLY_DESCRIBE_A_QUERY = 19;
    public static final int EOJ_INVALID_ROW_PREFETCH = 20;
    public static final int EOJ_MISSING_DEFINES = 21;
    public static final int EOJ_MISSING_DEFINES_AT_INDEX = 22;
    public static final int EOJ_UNSUPPORTED_FEATURE = 23;
    public static final int EOJ_NO_DATA_READ = 24;
    public static final int EOJ_IS_DEFINES_NULL_ERROR = 25;
    public static final int EOJ_NUMERIC_OVERFLOW = 26;
    public static final int EOJ_STREAM_CLOSED = 27;
    public static final int EOJ_NO_NEW_DEFINE_IF_RESULT_SET_NOT_CLOSED = 28;
    public static final int EOJ_READ_ONLY = 29;
    public static final int EOJ_INVALID_TRANSLEVEL = 30;
    public static final int EOJ_AUTO_CLOSE_ONLY = 31;
    public static final int EOJ_ROW_PREFETCH_NOT_ZERO = 32;
    public static final int EOJ_MALFORMED_SQL92 = 33;
    public static final int EOJ_NON_SUPPORTED_SQL92_TOKEN = 34;
    public static final int EOJ_NON_SUPPORTED_CHAR_SET = 35;
    public static final int EOJ_ORACLE_NUMBER_EXCEPTION = 36;
    public static final int EOJ_FAIL_CONVERSION_UTF8_TO_UCS2 = 37;
    public static final int EOJ_CONVERSION_BYTE_ARRAY_ERROR = 38;
    public static final int EOJ_CONVERSION_CHAR_ARRAY_ERROR = 39;
    public static final int EOJ_SUB_SUB_PROTOCOL_ERROR = 40;
    public static final int EOJ_INVALID_IN_OUT_BINDS = 41;
    public static final int EOJ_INVALID_BATCH_VALUE = 42;
    public static final int EOJ_INVALID_STREAM_SIZE = 43;
    public static final int EOJ_DATASET_ITEMS_NOT_ALLOCATED = 44;
    public static final int EOJ_BEYOND_BINDS_BATCH = 45;
    public static final int EOJ_INVALID_RANK = 46;
    public static final int EOJ_TDS_FORMAT_ERROR = 47;
    public static final int EOJ_UNDEFINED_TYPE = 48;
    public static final int EOJ_INCONSISTENT_ADT = 49;
    public static final int EOJ_NOSUCHELEMENT = 50;
    public static final int EOJ_NOT_AN_OBJECT_TYPE = 51;
    public static final int EOJ_INVALID_REF = 52;
    public static final int EOJ_INVALID_SIZE = 53;
    public static final int EOJ_INVALID_LOB_LOCATOR = 54;
    public static final int EOJ_FAIL_CONVERSION_CHARACTER = 55;
    public static final int EOJ_UNSUPPORTED_CHARSET = 56;
    public static final int EOJ_CLOSED_LOB = 57;
    public static final int EOJ_INVALID_NLS_RATIO = 58;
    public static final int EOJ_CONVERSION_JAVA_ERROR = 59;
    public static final int EOJ_FAIL_CREATE_DESC = 60;
    public static final int EOJ_NO_DESCRIPTOR = 61;
    public static final int EOJ_INVALID_REF_CURSOR = 62;
    public static final int EOJ_NOT_IN_A_TRANSACTION = 63;
    public static final int EOJ_DATABASE_IS_NULL = 64;
    public static final int EOJ_CONV_WAS_NULL = 65;
    public static final int EOJ_ACCESS_SPECIFIC_IMPL = 66;
    public static final int EOJ_INVALID_URL = 67;
    public static final int EOJ_INVALID_ARGUMENTS = 68;
    public static final int EOJ_USE_XA_EXPLICIT = 69;
    public static final int EOJ_INVALID_DATASIZE_LENGTH = 70;
    public static final int EOJ_EXCEEDED_VARRAY_LENGTH = 71;
    public static final int EOJ_VALUE_TOO_BIG = 72;
    public static final int EOJ_LOGICAL_CONN_CLOSED = 73;
    public static final int EOJ_INVALID_NAME_PATTERN = 74;
    public static final int EOJ_INVALID_FORWARD_RSET_OP = 75;
    public static final int EOJ_INVALID_READONLY_RSET_OP = 76;
    public static final int EOJ_FAIL_REF_SETVALUE = 77;
    public static final int EOJ_CONNECTIONS_ALREADY_EXIST = 78;
    public static final int EOJ_USER_CREDENTIALS_FAIL = 79;
    public static final int EOJ_INVALID_BATCH_COMMAND = 80;
    public static final int EOJ_BATCH_ERROR = 81;
    public static final int EOJ_NO_CURRENT_ROW = 82;
    public static final int EOJ_NOT_ON_INSERT_ROW = 83;
    public static final int EOJ_ON_INSERT_ROW = 84;
    public static final int EOJ_UPDATE_CONFLICTS = 85;
    public static final int EOJ_NULL_INSERET_ROW_VALUE = 86;
    public static final int WARN_IGNORE_FETCH_DIRECTION = 87;
    public static final int EOJ_UNSUPPORTED_SYNTAX = 88;
    public static final int EOJ_INTERNAL_ERROR = 89;
    public static final int EOJ_OPER_NOT_ALLOWED = 90;
    public static final int WARN_ALTERNATE_RSET_TYPE = 91;
    public static final int EOJ_NO_JDBC_AT_END_OF_CALL = 92;
    public static final int WARN_SUCCESS_WITH_INFO = 93;
    public static final int EOJ_VERSION_MISMATCH = 94;
    public static final int EOJ_ENABLE_STMT_CACHE = 95;
    public static final int EOJ_STMT_CACHE_POOLC = 96;
    public static final int EOJ_INVALID_ELEMENT_TYPE = 97;
    public static final int EOJ_INVALID_EMPTYLOB_OP = 98;
    public static final int EOJ_INVALID_INDEXTABLE_ARRAY_LENGTH = 99;
    public static final int EOJ_INVALID_JAVA_OBJECT = 100;
    public static final int EOJ_CONNECTIONPOOL_INVALID_PROPERTIES = 101;
    public static final int EOJ_BFILE_IS_READONLY = 102;
    public static final int EOJ_WRONG_CONNECTION_TYPE_FOR_METHOD = 103;
    public static final int EOJ_NULL_SQL_STRING = 104;
    public static final int EOJ_SESSION_TZ_NOT_SET = 105;
    public static final int EOJ_CONNECTIONPOOL_INVALID_CONFIG = 106;
    public static final int EOJ_CONNECTIONPOOL_INVALID_PROXY_TYPE = 107;
    public static final int EOJ_HETEROXA_GET_UTF_OPENSTR = 200;
    public static final int EOJ_HETEROXA_GET_UTF_CLOSESTR = 201;
    public static final int EOJ_HETEROXA_GET_UTF_RMNAME = 202;
    public static final int EOJ_HETEROXA_JHANDLE_SIZE = 203;
    public static final int EOJ_HETEROXA_ARRAY_TOO_SHORT = 204;
    public static final int EOJ_HETEROXA_SVCCTX_HANDLE = 205;
    public static final int EOJ_HETEROXA_ENV_HANDLE = 206;
    public static final int EOJ_HETEROXA_NULL_TNSENTRY = 207;
    public static final int EOJ_HETEROXA_OPEN_RMERR = 213;
    public static final int EOJ_HETEROXA_OPEN_INVAL = 215;
    public static final int EOJ_HETEROXA_OPEN_PROTO = 216;
    public static final int EOJ_HETEROXA_CLOSE_RMERR = 233;
    public static final int EOJ_HETEROXA_CLOSE_INVAL = 235;
    public static final int EOJ_HETEROXA_CLOSE_PROTO = 236;
    public static final int TTC_ERR_BASE = 400;
    public static final int TTC0000 = 401;
    public static final int TTC0001 = 402;
    public static final int TTC0002 = 403;
    public static final int TTC0003 = 404;
    public static final int TTC0004 = 405;
    public static final int TTC0005 = 406;
    public static final int TTC0100 = 407;
    public static final int TTC0101 = 408;
    public static final int TTC0102 = 409;
    public static final int TTC0103 = 410;
    public static final int TTC0104 = 411;
    public static final int TTC0105 = 412;
    public static final int TTC0106 = 413;
    public static final int TTC0107 = 414;
    public static final int TTC0108 = 415;
    public static final int TTC0109 = 416;
    public static final int TTC0110 = 417;
    public static final int TTC0111 = 418;
    public static final int TTC0112 = 419;
    public static final int TTC0113 = 420;
    public static final int TTC0114 = 421;
    public static final int TTC0115 = 422;
    public static final int TTC0116 = 423;
    public static final int TTC0117 = 424;
    public static final int TTC0118 = 425;
    public static final int TTC0119 = 426;
    public static final int TTC0120 = 427;
    public static final int TTC0200 = 428;
    public static final int TTC0201 = 429;
    public static final int TTC0202 = 430;
    public static final int TTC0203 = 431;
    public static final int TTC0204 = 432;
    public static final int TTC0205 = 433;
    public static final int TTC0206 = 434;
    public static final int TTC0207 = 435;
    public static final int TTC0208 = 436;
    public static final int TTC0209 = 437;
    public static final int TTC0210 = 438;
    public static final int TTC0211 = 439;
    public static final int TTC0212 = 440;
    public static final int TTC0213 = 441;
    public static final int TTC0214 = 442;
    public static final int TTC0216 = 443;
    public static final int TTC0217 = 444;

    // Decompiling method: <init>  Signature: ()V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 13685
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBError; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 5 Range 0 4 Init 0 fixed
    public DBError()
    {
        super();
        return;
    }

    // Decompiling method: ErrorToSQLState  Signature: (I)Ljava/lang/String;
    // Max stack: 3, #locals: 3, #params: 1
    // Code length: 89 bytes, Code offset: 13728
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name i Type I At 0 89 Range 0 88 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/String; At 0 89 Range 0 88 Init 0 fixed
    // LocalVar   1 added: Name flag Type Z At 1 29 Range 1 29 Init 1
    // LocalVar   1 chged: Name j Oname flag Type I At 29 1 Range 1 29 Init 1
    // LocalVar   2 added: Name flag Type Z At 38 41 Range 38 78 Init 38
    // LocalVar   2 chged: Name k Oname flag Type I At 78 1 Range 38 78 Init 38
    public static String ErrorToSQLState(int i)
    {
        for(int j = 0; j < mappings.length; j++)
        {
            if(i == mappings[j].err)
            {
                return mappings[j].SQLState;
            }
        }

        for(int k = 0; k < ranges.length; k++)
        {
            if(i > ranges[k].low && i <= ranges[k].high)
            {
                return ranges[k].SQLState;
            }
        }

        return "99999";
    }

    // Decompiling method: SQLToIOException  Signature: (Ljava/sql/SQLException;)V
    // Max stack: 3, #locals: 1, #params: 1
    // Code length: 12 bytes, Code offset: 13887
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name sqlexception Type Ljava/sql/SQLException; At 0 12 Range 0 11 Init 0
    // RetValue   1 added: Name <returnValue> Type V At 0 12 Range 0 11 Init 0 fixed
    public static void SQLToIOException(SQLException sqlexception)
        throws IOException
    {
        throw new IOException(sqlexception.getMessage());
    }

    // Decompiling method: addSqlException  Signature: (Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;I)V
    // Max stack: 5, #locals: 5, #params: 4
    // Code length: 19 bytes, Code offset: 13947
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name sqlexception Type Ljava/sql/SQLException; At 0 19 Range 0 18 Init 0
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 19 Range 0 18 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 19 Range 0 18 Init 0
    // Parameter  3 added: Name i Type I At 0 19 Range 0 18 Init 0
    // RetValue   5 added: Name <returnValue> Type V At 0 19 Range 0 18 Init 0 fixed
    // LocalVar   4 added: Name sqlexception1 Type Ljava/sql/SQLException; At 10 5 Range 10 14 Init 10
    public static void addSqlException(SQLException sqlexception, String s, String s1, int i)
    {
        SQLException sqlexception1 = new SQLException(s, s1, i);
        sqlexception.setNextException(sqlexception1);
        return;
    }

    // Decompiling method: addSqlWarning  Signature: (Ljava/sql/SQLWarning;I)Ljava/sql/SQLWarning;
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 7 bytes, Code offset: 14012
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name sqlwarning Type Ljava/sql/SQLWarning; At 0 7 Range 0 6 Init 0
    // Parameter  1 added: Name i Type I At 0 7 Range 0 6 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 7 Range 0 6 Init 0 fixed
    public static SQLWarning addSqlWarning(SQLWarning sqlwarning, int i)
        throws SQLException
    {
        return addSqlWarning(sqlwarning, i, null);
    }

    // Decompiling method: addSqlWarning  Signature: (Ljava/sql/SQLWarning;ILjava/lang/Object;)Ljava/sql/SQLWarning;
    // Max stack: 4, #locals: 5, #params: 3
    // Code length: 48 bytes, Code offset: 14067
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name sqlwarning Type Ljava/sql/SQLWarning; At 0 48 Range 0 47 Init 0
    // Parameter  1 added: Name i Type I At 0 48 Range 0 47 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 48 Range 0 47 Init 0
    // RetValue   5 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 48 Range 0 47 Init 0 fixed
    // LocalVar   3 added: Name s Type Ljava/lang/String; At 17 18 Range 17 34 Init 17
    // LocalVar   4 added: Name j Type I At 22 22 Range 22 43 Init 22
    public static SQLWarning addSqlWarning(SQLWarning sqlwarning, int i, Object obj)
        throws SQLException
    {
        if(i == 0 || i == 13)
        {
            return sqlwarning;
        } else
        {
            String s = findMessage(i, obj);
            int j = getVendorCode(i);
            return addSqlWarning(sqlwarning, "Warning: " + s, null, j);
        }
    }

    // Decompiling method: addSqlWarning  Signature: (Ljava/sql/SQLWarning;Ljava/lang/String;Ljava/lang/String;I)Ljava/sql/SQLWarning;
    // Max stack: 5, #locals: 5, #params: 4
    // Code length: 27 bytes, Code offset: 14183
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name sqlwarning Type Ljava/sql/SQLWarning; At 0 27 Range 0 26 Init 0
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 27 Range 0 26 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 27 Range 0 26 Init 0
    // Parameter  3 added: Name i Type I At 0 27 Range 0 26 Init 0
    // RetValue   5 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 27 Range 0 26 Init 0 fixed
    // LocalVar   4 added: Name sqlwarning1 Type Ljava/sql/SQLWarning; At 10 16 Range 10 25 Init 10
    public static SQLWarning addSqlWarning(SQLWarning sqlwarning, String s, String s1, int i)
        throws SQLException
    {
        SQLWarning sqlwarning1 = new SQLWarning(s, s1, i);
        if(sqlwarning != null)
        {
            sqlwarning.setNextWarning(sqlwarning1);
            return sqlwarning;
        } else
        {
            return sqlwarning1;
        }
    }

    // Decompiling method: check_error  Signature: (I)V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 14278
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // RetValue   1 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public static void check_error(int i)
        throws SQLException
    {
        throwSqlException(i, null);
        return;
    }

    // Decompiling method: check_error  Signature: (ILjava/lang/Object;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 14336
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public static void check_error(int i, Object obj)
        throws SQLException
    {
        throwSqlException(i, obj);
        return;
    }

    // Decompiling method: check_error  Signature: (Ljava/io/IOException;)V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 14394
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name ioexception Type Ljava/io/IOException; At 0 5 Range 0 4 Init 0
    // RetValue   1 added: Name <returnValue> Type V At 0 5 Range 0 4 Init 0 fixed
    public static void check_error(IOException ioexception)
        throws SQLException
    {
        throwSqlException(ioexception);
        return;
    }

    // Decompiling method: findMessage  Signature: (ILjava/lang/Object;)Ljava/lang/String;
    // Max stack: 3, #locals: 6, #params: 2
    // Code length: 145 bytes, Code offset: 14451
    // Exception table: 4 entries
    //           start  11 end 30 handler 33 type ClassNotFoundException
    //           start  11 end 30 handler 37 type IllegalAccessException
    //           start  11 end 30 handler 41 type InstantiationException
    //           start  11 end 45 handler 51 type any
    // Line Number Table found: 24 entries
    // Parameter  0 added: Name i Type I At 0 145 Range 0 144 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 145 Range 0 144 Init 0
    // RetValue   6 added: Name <returnValue> Type Ljava/lang/String; At 0 145 Range 0 144 Init 0 fixed
    // LocalVar   2 added: Name obj1 Type A At 1 1 Range 1 1 Init 1
    // LocalVar   3 added: Name obj2 Type A At 3 1 Range 3 3 Init 3
    // LocalVar   5 added: Name local Type @ At 59 8 Range 59 66 Init 59
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 71 65 Range 71 135 Init 71
    // LocalVar   3 added: Name s1 Type Ljava/lang/String; At 101 43 Range 101 143 Init 101
    // LocalVar   4 added: Name exception Type Ljava.lang.Exception; At 51 7 Range 51 57 Init 51
    // LocalVar   2 chged: Name s2 Oname obj1 Type Ljava/lang/String; At 1 1 Range 1 1 Init 1
    // LocalVar   2 name s(Ljava/lang/String;) merged out into s2(Ljava/lang/String;)
    // LocalVar   3 chged: Name s Oname obj2 Type Ljava/lang/String; At 3 1 Range 3 3 Init 3
    // LocalVar   3 name s1(Ljava/lang/String;) merged out into s(Ljava/lang/String;)
    static String findMessage(int i, Object obj)
    {
        String s = null;
        String s1 = null;
        if(!m_loadedMessages)
        {
            try
            {
                m_message = (Message)Class.forName(m_msgClassName).newInstance();
                m_loadedMessages = true;
            }
            catch(ClassNotFoundException _ex) { }
            catch(IllegalAccessException _ex) { }
            catch(InstantiationException _ex) { }
            finally
            {
                boolean _tmp = m_loadedMessages;
            }
        }
        s = getMsgKey(i);
        if(m_message == null)
        {
            if(obj == null)
            {
                s1 = s + ": (no message for error)";
            } else
            {
                s1 = s + ": (no message for error) " + obj;
            }
        } else
        {
            s1 = m_message.msg(s, obj);
        }
        return s1;
    }

    // Decompiling method: getMsgKey  Signature: (I)Ljava/lang/String;
    // Max stack: 3, #locals: 3, #params: 1
    // Code length: 27 bytes, Code offset: 14758
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name i Type I At 0 27 Range 0 26 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/String; At 0 27 Range 0 26 Init 0 fixed
    // LocalVar   1 added: Name j Type I At 4 11 Range 4 14 Init 4
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 24 2 Range 24 25 Init 24
    static String getMsgKey(int i)
    {
        int j = getVendorCode(i);
        String s = "ORA-" + Integer.toString(j);
        return s;
    }

    // Decompiling method: getVendorCode  Signature: (I)I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 14831
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // RetValue   1 added: Name <returnValue> Type I At 0 6 Range 0 5 Init 0 fixed
    static int getVendorCode(int i)
    {
        return 17000 + i;
    }

    // Decompiling method: newSqlException  Signature: (I)Ljava/sql/SQLException;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 14875
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/SQLException; At 0 6 Range 0 5 Init 0 fixed
    public static SQLException newSqlException(int i)
    {
        return newSqlException(i, null);
    }

    // Decompiling method: newSqlException  Signature: (ILjava/lang/Object;)Ljava/sql/SQLException;
    // Max stack: 5, #locals: 4, #params: 2
    // Code length: 22 bytes, Code offset: 14919
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name i Type I At 0 22 Range 0 21 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 22 Range 0 21 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/SQLException; At 0 22 Range 0 21 Init 0 fixed
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 5 11 Range 5 15 Init 5
    // LocalVar   3 added: Name j Type I At 10 8 Range 10 17 Init 10
    public static SQLException newSqlException(int i, Object obj)
    {
        String s = findMessage(i, obj);
        int j = getVendorCode(i);
        return new SQLException(s, null, j);
    }

    // Decompiling method: newSqlWarning  Signature: (I)Ljava/sql/SQLWarning;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 14987
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 6 Range 0 5 Init 0 fixed
    public static SQLWarning newSqlWarning(int i)
        throws SQLException
    {
        return addSqlWarning(null, i);
    }

    // Decompiling method: newSqlWarning  Signature: (ILjava/lang/Object;)Ljava/sql/SQLWarning;
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 7 bytes, Code offset: 15041
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name i Type I At 0 7 Range 0 6 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 7 Range 0 6 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 7 Range 0 6 Init 0 fixed
    public static SQLWarning newSqlWarning(int i, Object obj)
        throws SQLException
    {
        return addSqlWarning(null, i, obj);
    }

    // Decompiling method: newSqlWarning  Signature: (Ljava/lang/String;Ljava/lang/String;I)Ljava/sql/SQLWarning;
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 8 bytes, Code offset: 15096
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name s Type Ljava/lang/String; At 0 8 Range 0 7 Init 0
    // Parameter  1 added: Name s1 Type Ljava/lang/String; At 0 8 Range 0 7 Init 0
    // Parameter  2 added: Name i Type I At 0 8 Range 0 7 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/sql/SQLWarning; At 0 8 Range 0 7 Init 0 fixed
    public static SQLWarning newSqlWarning(String s, String s1, int i)
        throws SQLException
    {
        return addSqlWarning(null, s, s1, i);
    }

    // Decompiling method: printSqlException  Signature: (Ljava/sql/SQLException;)V
    // Max stack: 6, #locals: 1, #params: 1
    // Code length: 98 bytes, Code offset: 15152
    // Line Number Table found: 16 entries
    // Parameter  0 added: Name sqlexception Type Ljava/sql/SQLException; At 0 98 Range 0 97 Init 0
    // RetValue   1 added: Name <returnValue> Type V At 0 98 Range 0 97 Init 0 fixed
    public static void printSqlException(SQLException sqlexception)
    {
        OracleLog.print(1, 4, 32, "SQLException:");
        OracleLog.print(1, 4, 32, "  message  = \"" + sqlexception.getMessage() + "\"");
        OracleLog.print(1, 4, 32, "  SQLState = \"" + sqlexception.getSQLState() + "\"");
        OracleLog.print(1, 4, 32, "  errCode  = " + sqlexception.getErrorCode());
        return;
    }

    // Decompiling method: test  Signature: ()V
    // Max stack: 4, #locals: 1, #params: 0
    // Code length: 143 bytes, Code offset: 15348
    // Exception table: 7 entries
    //           start  18 end 27 handler 30 type SQLException
    //           start  35 end 50 handler 53 type SQLException
    //           start  58 end 63 handler 66 type SQLException
    //           start  71 end 77 handler 80 type SQLException
    //           start  85 end 90 handler 93 type SQLException
    //           start  98 end 112 handler 115 type SQLException
    //           start  120 end 134 handler 137 type SQLException
    // Line Number Table found: 36 entries
    // RetValue   1 added: Name <returnValue> Type V At 0 143 Range 0 142 Init 0 fixed
    // LocalVar   0 added: Name ioexception Type Ljava/io/IOException; At 107 2 Range 107 108 Init 107
    // LocalVar   0 added: Name ioexception1 Type Ljava/io/IOException; At 129 2 Range 129 130 Init 129
    // LocalVar   0 added: Name sqlexception Type Ljava/sql/SQLException; At 30 2 Range 30 31 Init 30
    // LocalVar   0 added: Name sqlexception1 Type Ljava/sql/SQLException; At 53 2 Range 53 54 Init 53
    // LocalVar   0 added: Name sqlexception2 Type Ljava/sql/SQLException; At 66 2 Range 66 67 Init 66
    // LocalVar   0 added: Name sqlexception3 Type Ljava/sql/SQLException; At 80 2 Range 80 81 Init 80
    // LocalVar   0 added: Name sqlexception4 Type Ljava/sql/SQLException; At 93 2 Range 93 94 Init 93
    // LocalVar   0 added: Name sqlexception5 Type Ljava/sql/SQLException; At 115 2 Range 115 116 Init 115
    // LocalVar   0 added: Name sqlexception6 Type Ljava/sql/SQLException; At 137 2 Range 137 138 Init 137
    public static void test()
    {
        OracleLog.config(0, 1, 32);
        OracleLog.setSubmodMask(1, 4);
        OracleLog.setLogStream(System.out);
        try
        {
            throwSqlException("exception_message_1", "sql_state_1", 25);
        }
        catch(SQLException sqlexception)
        {
            printSqlException(sqlexception);
        }
        try
        {
            throwSqlException(412, new String("object_string"));
        }
        catch(SQLException sqlexception1)
        {
            printSqlException(sqlexception1);
        }
        try
        {
            throwSqlException(6);
        }
        catch(SQLException sqlexception2)
        {
            printSqlException(sqlexception2);
        }
        try
        {
            throwSqlException(999);
        }
        catch(SQLException sqlexception3)
        {
            printSqlException(sqlexception3);
        }
        try
        {
            throwSqlException(13);
        }
        catch(SQLException sqlexception4)
        {
            printSqlException(sqlexception4);
        }
        try
        {
            IOException ioexception = new IOException("ORA-00601: cleanup lock conflict");
            throwSqlException(ioexception);
        }
        catch(SQLException sqlexception5)
        {
            printSqlException(sqlexception5);
        }
        try
        {
            IOException ioexception1 = new IOException("some unknown io exception");
            throwSqlException(ioexception1);
        }
        catch(SQLException sqlexception6)
        {
            printSqlException(sqlexception6);
        }
        return;
    }

    // Decompiling method: throwBatchUpdateException  Signature: (II[I)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 8 bytes, Code offset: 15725
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name i Type I At 0 8 Range 0 7 Init 0
    // Parameter  1 added: Name j Type I At 0 8 Range 0 7 Init 0
    // Parameter  2 added: Name ai Type [I At 0 8 Range 0 7 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 8 Range 0 7 Init 0 fixed
    public static void throwBatchUpdateException(int i, int j, int ai[])
        throws BatchUpdateException
    {
        throwBatchUpdateException(i, null, j, ai);
        return;
    }

    // Decompiling method: throwBatchUpdateException  Signature: (ILjava/lang/Object;I[I)V
    // Max stack: 5, #locals: 6, #params: 4
    // Code length: 29 bytes, Code offset: 15785
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name i Type I At 0 29 Range 0 28 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 29 Range 0 28 Init 0
    // Parameter  2 added: Name j Type I At 0 29 Range 0 28 Init 0
    // Parameter  3 added: Name ai Type [I At 0 29 Range 0 28 Init 0
    // RetValue   6 added: Name <returnValue> Type V At 0 29 Range 0 28 Init 0 fixed
    // LocalVar   4 added: Name s Type Ljava/lang/String; At 10 10 Range 10 19 Init 10
    // LocalVar   5 added: Name k Type I At 16 7 Range 16 22 Init 16
    public static void throwBatchUpdateException(int i, Object obj, int j, int ai[])
        throws BatchUpdateException
    {
        if(i == 0)
        {
            return;
        } else
        {
            String s = findMessage(i, obj);
            int k = getVendorCode(i);
            throwBatchUpdateException(s, null, k, j, ai);
            return;
        }
    }

    // Decompiling method: throwBatchUpdateException  Signature: (Ljava/lang/String;Ljava/lang/String;II[I)V
    // Max stack: 6, #locals: 7, #params: 5
    // Code length: 82 bytes, Code offset: 15882
    // Line Number Table found: 17 entries
    // Parameter  0 added: Name s Type Ljava/lang/String; At 0 82 Range 0 81 Init 0
    // Parameter  1 added: Name s1 Type Ljava/lang/String; At 0 82 Range 0 81 Init 0
    // Parameter  2 added: Name i Type I At 0 82 Range 0 81 Init 0
    // Parameter  3 added: Name j Type I At 0 82 Range 0 81 Init 0
    // Parameter  4 added: Name ai Type [I At 0 82 Range 0 81 Init 0
    // RetValue   7 added: Name <returnValue> Type V At 0 82 Range 0 81 Init 0 fixed
    // LocalVar   5 added: Name flag Type Z At 1 2 Range 1 2 Init 1
    // LocalVar   6 added: Name obj Type A At 4 2 Range 4 5 Init 4
    // LocalVar   6 added: Name ai1 Type [I At 20 58 Range 20 77 Init 20
    // LocalVar   5 added: Name flag1 Type Z At 45 20 Range 45 64 Init 45
    // LocalVar   5 chged: Name k Oname flag1 Type I At 63 2 Range 45 64 Init 45
    // LocalVar   6 chged: Name ai2 Oname obj Type [I At 4 2 Range 4 5 Init 4
    // LocalVar   6 name ai1([I) merged out into ai2([I)
    public static void throwBatchUpdateException(String s, String s1, int i, int j, int ai[])
        throws BatchUpdateException
    {
        boolean flag = false;
        int ai1[] = null;
        if(j < 0)
        {
            j = 0;
        }
        if(ai == null)
        {
            ai1 = new int[0];
        } else
        if(j >= ai.length)
        {
            ai1 = ai;
        } else
        {
            ai1 = new int[j];
            for(int k = 0; k < j; k++)
            {
                ai1[k] = ai[k];
            }

        }
        throw new BatchUpdateException(s, s1, i, ai1);
    }

    // Decompiling method: throwBatchUpdateException  Signature: (Ljava/sql/SQLException;I[I)V
    // Max stack: 6, #locals: 6, #params: 3
    // Code length: 92 bytes, Code offset: 16076
    // Line Number Table found: 20 entries
    // Parameter  0 added: Name sqlexception Type Ljava/sql/SQLException; At 0 92 Range 0 91 Init 0
    // Parameter  1 added: Name i Type I At 0 92 Range 0 91 Init 0
    // Parameter  2 added: Name ai Type [I At 0 92 Range 0 91 Init 0
    // RetValue   6 added: Name <returnValue> Type V At 0 92 Range 0 91 Init 0 fixed
    // LocalVar   3 added: Name flag Type Z At 1 1 Range 1 1 Init 1
    // LocalVar   4 added: Name obj Type A At 3 2 Range 3 4 Init 3
    // LocalVar   4 added: Name ai1 Type [I At 18 60 Range 18 77 Init 18
    // LocalVar   3 added: Name flag1 Type Z At 41 15 Range 41 55 Init 41
    // LocalVar   3 chged: Name j Oname flag1 Type I At 55 1 Range 41 55 Init 41
    // LocalVar   5 added: Name batchupdateexception Type Ljava/sql/BatchUpdateException; At 81 10 Range 81 90 Init 81
    // LocalVar   4 chged: Name ai2 Oname obj Type [I At 3 2 Range 3 4 Init 3
    // LocalVar   4 name ai1([I) merged out into ai2([I)
    public static void throwBatchUpdateException(SQLException sqlexception, int i, int ai[])
        throws BatchUpdateException
    {
        boolean flag = false;
        int ai1[] = null;
        if(i < 0)
        {
            i = 0;
        }
        if(ai == null)
        {
            ai1 = new int[0];
        } else
        if(i >= ai.length)
        {
            ai1 = ai;
        } else
        {
            ai1 = new int[i];
            for(int j = 0; j < i; j++)
            {
                ai1[j] = ai[j];
            }

        }
        BatchUpdateException batchupdateexception = new BatchUpdateException(sqlexception.getMessage(), sqlexception.getSQLState(), sqlexception.getErrorCode(), ai1);
        batchupdateexception.setNextException(sqlexception);
        throw batchupdateexception;
    }

    // Decompiling method: throwSqlException  Signature: (I)V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 16292
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name i Type I At 0 6 Range 0 5 Init 0
    // RetValue   1 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public static void throwSqlException(int i)
        throws SQLException
    {
        throwSqlException(i, null);
        return;
    }

    // Decompiling method: throwSqlException  Signature: (ILjava/lang/Object;)V
    // Max stack: 3, #locals: 4, #params: 2
    // Code length: 29 bytes, Code offset: 16350
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name i Type I At 0 29 Range 0 28 Init 0
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 29 Range 0 28 Init 0
    // RetValue   4 added: Name <returnValue> Type V At 0 29 Range 0 28 Init 0 fixed
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 16 7 Range 16 22 Init 16
    // LocalVar   3 added: Name j Type I At 21 4 Range 21 24 Init 21
    public static void throwSqlException(int i, Object obj)
        throws SQLException
    {
        if(i == 0 || i == 13)
        {
            return;
        } else
        {
            String s = findMessage(i, obj);
            int j = getVendorCode(i);
            throwSqlException(s, ((String) (null)), j);
            return;
        }
    }

    // Decompiling method: throwSqlException  Signature: (Ljava/io/IOException;)V
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 70 bytes, Code offset: 16451
    // Exception table: 2 entries
    //           start  35 end 46 handler 49 type StringIndexOutOfBoundsException
    //           start  35 end 46 handler 53 type NumberFormatException
    // Line Number Table found: 15 entries
    // Parameter  0 added: Name ioexception Type Ljava/io/IOException; At 0 70 Range 0 69 Init 0
    // RetValue   5 added: Name <returnValue> Type V At 0 70 Range 0 69 Init 0 fixed
    // LocalVar   1 added: Name s Type Ljava/lang/String; At 4 59 Range 4 62 Init 4
    // LocalVar   4 added: Name flag Type Z At 6 60 Range 6 65 Init 6
    // LocalVar   2 added: Name i Type I At 15 22 Range 15 36 Init 15
    // LocalVar   3 added: Name j Type I At 27 11 Range 27 37 Init 27
    // LocalVar   4 chged: Name k Oname flag Type I At 44 22 Range 6 65 Init 6
    public static void throwSqlException(IOException ioexception)
        throws SQLException
    {
        String s = ioexception.getMessage();
        int k = 0;
        int i;
        int j;
        if((i = s.indexOf("ORA-")) != -1 && (j = s.indexOf(":")) != -1)
        {
            i += 4;
            try
            {
                k = Integer.parseInt(s.substring(i, j));
            }
            catch(StringIndexOutOfBoundsException _ex) { }
            catch(NumberFormatException _ex) { }
        } else
        {
            throwSqlException(2, s);
        }
        throwSqlException(s, ((String) (null)), k);
        return;
    }

    // Decompiling method: throwSqlException  Signature: (Ljava/lang/String;Ljava/lang/String;I)V
    // Max stack: 5, #locals: 3, #params: 3
    // Code length: 11 bytes, Code offset: 16641
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name s Type Ljava/lang/String; At 0 11 Range 0 10 Init 0
    // Parameter  1 added: Name s1 Type Ljava/lang/String; At 0 11 Range 0 10 Init 0
    // Parameter  2 added: Name i Type I At 0 11 Range 0 10 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 11 Range 0 10 Init 0 fixed
    public static void throwSqlException(String s, String s1, int i)
        throws SQLException
    {
        throw new SQLException(s, s1, i);
    }

    // Decompiling method: throwSqlException  Signature: (Ljava/sql/SQLException;ILjava/lang/Object;)V
    // Max stack: 5, #locals: 6, #params: 3
    // Code length: 45 bytes, Code offset: 16700
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name sqlexception Type Ljava/sql/SQLException; At 0 45 Range 0 44 Init 0
    // Parameter  1 added: Name i Type I At 0 45 Range 0 44 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 45 Range 0 44 Init 0
    // RetValue   6 added: Name <returnValue> Type V At 0 45 Range 0 44 Init 0 fixed
    // LocalVar   3 added: Name s Type Ljava/lang/String; At 16 12 Range 16 27 Init 16
    // LocalVar   4 added: Name j Type I At 21 10 Range 21 30 Init 21
    // LocalVar   5 added: Name sqlexception1 Type Ljava/sql/SQLException; At 34 10 Range 34 43 Init 34
    public static void throwSqlException(SQLException sqlexception, int i, Object obj)
        throws SQLException
    {
        if(i == 0 || i == 13)
        {
            return;
        } else
        {
            String s = findMessage(i, obj);
            int j = getVendorCode(i);
            SQLException sqlexception1 = new SQLException(s, null, j);
            sqlexception1.setNextException(sqlexception);
            throw sqlexception1;
        }
    }

    // Decompiling method: <clinit>  Signature: ()V
    // Max stack: 8, #locals: 0, #params: 0
    // Code length: 1525 bytes, Code offset: 11422
    // Line Number Table found: 176 entries
    // RetValue   0 added: Name <returnValue> Type V At 0 1525 Range 0 1524 Init 0 fixed
    static 
    {
        /* m_loadedMessages = false; */
        /* m_message = null; */
        /* m_msgClassName = "oracle.jdbc.dbaccess.Message11"; */
        /* mappings = (new SQLStateMapping[] {
            new SQLStateMapping(0, "00000"), new SQLStateMapping(1, "23000"), new SQLStateMapping(22, "42000"), new SQLStateMapping(100, "02000"), new SQLStateMapping(251, "42000"), new SQLStateMapping(1025, "22023"), new SQLStateMapping(1031, "42000"), new SQLStateMapping(1095, "02000"), new SQLStateMapping(1402, "44000"), new SQLStateMapping(1403, "02000"), 
            new SQLStateMapping(1405, "22002"), new SQLStateMapping(1406, "22001"), new SQLStateMapping(1410, "24000"), new SQLStateMapping(1411, "22022"), new SQLStateMapping(1422, "21000"), new SQLStateMapping(1424, "22025"), new SQLStateMapping(1425, "22019"), new SQLStateMapping(1426, "22003"), new SQLStateMapping(1427, "21000"), new SQLStateMapping(1438, "22003"), 
            new SQLStateMapping(1455, "22003"), new SQLStateMapping(1457, "22003"), new SQLStateMapping(1476, "22012"), new SQLStateMapping(1488, "22023"), new SQLStateMapping(8006, "24000")
        }); */
        /* ranges = (new SQLStateRange[] {
            new SQLStateRange(17, 21, "61000"), new SQLStateRange(23, 35, "61000"), new SQLStateRange(49, 68, "61000"), new SQLStateRange(100, 120, "62000"), new SQLStateRange(149, 159, "63000"), new SQLStateRange(199, 369, "64000"), new SQLStateRange(369, 429, "60000"), new SQLStateRange(429, 439, "67000"), new SQLStateRange(439, 569, "62000"), new SQLStateRange(569, 599, "69000"), 
            new SQLStateRange(599, 899, "60000"), new SQLStateRange(899, 999, "42000"), new SQLStateRange(999, 1099, "72000"), new SQLStateRange(1000, 1003, "24000"), new SQLStateRange(1099, 1250, "64000"), new SQLStateRange(1399, 1401, "23000"), new SQLStateRange(1401, 1478, "72000"), new SQLStateRange(1478, 1480, "22024"), new SQLStateRange(1480, 1489, "72000"), new SQLStateRange(1489, 1493, "42000"), 
            new SQLStateRange(1493, 1499, "72000"), new SQLStateRange(1499, 1699, "72000"), new SQLStateRange(1699, 1799, "42000"), new SQLStateRange(1799, 1899, "22008"), new SQLStateRange(1899, 2099, "42000"), new SQLStateRange(2090, 2092, "40000"), new SQLStateRange(2139, 2289, "42000"), new SQLStateRange(2289, 2299, "23000"), new SQLStateRange(2375, 2399, "61000"), new SQLStateRange(2399, 2419, "72000"), 
            new SQLStateRange(2419, 2424, "42000"), new SQLStateRange(2424, 2449, "72000"), new SQLStateRange(2449, 2499, "42000"), new SQLStateRange(2699, 2899, "63000"), new SQLStateRange(2999, 3099, "0A000"), new SQLStateRange(3099, 3199, "63000"), new SQLStateRange(3275, 3299, "42000"), new SQLStateRange(3999, 4019, "22023"), new SQLStateRange(4019, 4039, "61000"), new SQLStateRange(4039, 4059, "42000"), 
            new SQLStateRange(4059, 4069, "72000"), new SQLStateRange(4069, 4099, "42000"), new SQLStateRange(5999, 6149, "66000"), new SQLStateRange(6199, 6249, "63000"), new SQLStateRange(6249, 6429, "66000"), new SQLStateRange(6429, 6449, "60000"), new SQLStateRange(6499, 6599, "65000"), new SQLStateRange(6510, 6511, "24000"), new SQLStateRange(6599, 6999, "66000"), new SQLStateRange(6999, 7199, "69000"), 
            new SQLStateRange(7199, 7999, "60000"), new SQLStateRange(7999, 8190, "72000"), new SQLStateRange(9699, 9999, "60000"), new SQLStateRange(9999, 10999, "90000"), new SQLStateRange(11999, 12019, "72000"), new SQLStateRange(12299, 12499, "72000"), new SQLStateRange(12699, 21999, "72000"), new SQLStateRange(12099, 12299, "66000"), new SQLStateRange(12499, 12599, "66000")
        }); */
    }
}
