// 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:   OracleDatabaseMetaData.java
// Class Version:      45.3

package oracle.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import oracle.jdbc.dbaccess.DBError;
import oracle.jdbc.driver.OracleResultSet;
import oracle.jdbc.internal.OracleConnection;
import oracle.sql.SQLName;

// Referenced classes of package oracle.jdbc:
//            OracleConnection, OracleTypes

// flag ACC_SUPER is set
public class OracleDatabaseMetaData
    implements DatabaseMetaData
{
    // Constants:          904
    // Interfaces:         1
    // Fields:             46
    // Methods:            160
    // Class Attributes:   1


    static String DRIVER_NAME = "Oracle JDBC driver";
    static String DRIVER_VERSION = "9.0.1.1.0";
    static int DRIVER_MAJOR_VERSION = 9;
    static int DRIVER_MINOR_VERSION = 0;
    static String LOB_MAXSIZE = "4294967295";
    static String GET_LOB_PRECISION = "oracledatabasemetadata.get_lob_precision";
    OracleConnection connection;
    static Boolean s_getLobPrecision = null;
    int procedureResultUnknown;
    int procedureNoResult;
    int procedureReturnsResult;
    int procedureColumnUnknown;
    int procedureColumnIn;
    int procedureColumnInOut;
    int procedureColumnOut;
    int procedureColumnReturn;
    int procedureColumnResult;
    int procedureNoNulls;
    int procedureNullable;
    int procedureNullableUnknown;
    int columnNoNulls;
    int columnNullable;
    int columnNullableUnknown;
    static final int bestRowTemporary = 0;
    static final int bestRowTransaction = 1;
    static final int bestRowSession = 2;
    static final int bestRowUnknown = 0;
    static final int bestRowNotPseudo = 1;
    static final int bestRowPseudo = 2;
    int versionColumnUnknown;
    int versionColumnNotPseudo;
    int versionColumnPseudo;
    int importedKeyCascade;
    int importedKeyRestrict;
    int importedKeySetNull;
    int typeNoNulls;
    int typeNullable;
    int typeNullableUnknown;
    int typePredNone;
    int typePredChar;
    int typePredBasic;
    int typeSearchable;
    short tableIndexStatistic;
    short tableIndexClustered;
    short tableIndexHashed;
    short tableIndexOther;

    // Decompiling method: <init>  Signature: (Loracle/jdbc/OracleConnection;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 173 bytes, Code offset: 29500
    // Line Number Table found: 35 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 173 Range 0 172 Init 0 fixed
    // Parameter  1 added: Name oracleconnection Type Loracle/jdbc/OracleConnection; At 0 173 Range 0 172 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 173 Range 0 172 Init 0 fixed
    public OracleDatabaseMetaData(oracle.jdbc.OracleConnection oracleconnection)
    {
        super();
        procedureResultUnknown = 0;
        procedureNoResult = 1;
        procedureReturnsResult = 2;
        procedureColumnUnknown = 0;
        procedureColumnIn = 1;
        procedureColumnInOut = 2;
        procedureColumnOut = 4;
        procedureColumnReturn = 5;
        procedureColumnResult = 3;
        procedureNoNulls = 0;
        procedureNullable = 1;
        procedureNullableUnknown = 2;
        columnNoNulls = 0;
        columnNullable = 1;
        columnNullableUnknown = 2;
        versionColumnUnknown = 0;
        versionColumnNotPseudo = 1;
        versionColumnPseudo = 2;
        importedKeyCascade = 0;
        importedKeyRestrict = 1;
        importedKeySetNull = 2;
        typeNoNulls = 0;
        typeNullable = 1;
        typeNullableUnknown = 2;
        typePredNone = 0;
        typePredChar = 1;
        typePredBasic = 2;
        typeSearchable = 3;
        tableIndexStatistic = 0;
        tableIndexClustered = 1;
        tableIndexHashed = 2;
        tableIndexOther = 3;
        connection = (OracleConnection)oracleconnection;
        return;
    }

    // Decompiling method: allProceduresAreCallable  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 29847
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean allProceduresAreCallable()
        throws SQLException
    {
        connection.trace("allProceduresAreCallable");
        return false;
    }

    // Decompiling method: allTablesAreSelectable  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 29912
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean allTablesAreSelectable()
        throws SQLException
    {
        connection.trace("allTablesAreSelectable");
        return false;
    }

    // Decompiling method: dataDefinitionCausesTransactionCommit  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 29977
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean dataDefinitionCausesTransactionCommit()
        throws SQLException
    {
        connection.trace("dataDefinitionCausesTransactionCommit");
        return true;
    }

    // Decompiling method: dataDefinitionIgnoredInTransactions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 30042
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean dataDefinitionIgnoredInTransactions()
        throws SQLException
    {
        connection.trace("dataDefinitionIgnoredInTransactions");
        return false;
    }

    // Decompiling method: deletesAreDetected  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 30107
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean deletesAreDetected(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: doesMaxRowSizeIncludeBlobs  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 30157
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean doesMaxRowSizeIncludeBlobs()
        throws SQLException
    {
        connection.trace("doesMaxRowSizeIncludeBlobs");
        return true;
    }

    // Decompiling method: fail  Signature: ()Ljava/sql/SQLException;
    // Max stack: 3, #locals: 2, #params: 1
    // Code length: 12 bytes, Code offset: 30222
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 12 Range 0 11 Init 0 fixed
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/SQLException; At 0 12 Range 0 11 Init 0 fixed
    // LocalVar   1 added: Name sqlexception Type Ljava/sql/SQLException; At 9 2 Range 9 10 Init 9
    SQLException fail()
    {
        SQLException sqlexception = new SQLException("Not implemented yet");
        return sqlexception;
    }

    // Decompiling method: getBestRowIdentifier  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/sql/ResultSet;
    // Max stack: 3, #locals: 8, #params: 6
    // Code length: 184 bytes, Code offset: 30276
    // Line Number Table found: 20 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 184 Range 0 183 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 184 Range 0 183 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 184 Range 0 183 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 184 Range 0 183 Init 0
    // Parameter  4 added: Name i Type I At 0 184 Range 0 183 Init 0
    // Parameter  5 added: Name flag Type Z At 0 184 Range 0 183 Init 0
    // RetValue   8 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 184 Range 0 183 Init 0 fixed
    // LocalVar   6 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 22 142 Range 22 163 Init 22
    // LocalVar   7 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 172 11 Range 172 182 Init 172
    public synchronized ResultSet getBestRowIdentifier(String s, String s1, String s2, int i, boolean flag)
        throws SQLException
    {
        connection.trace("getBestRowIdentifier");
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT 1 AS scope, 'ROWID' AS column_name, -8 AS data_type,\n       'ROWID' AS type_name, 0 AS column_size, 0 AS buffer_length,\n       0 AS decimal_digits, 2 AS pseudo_column\nFROM DUAL\nWHERE ? = 1\nUNION\nSELECT 2 AS scope,\n       t.column_name,\n       DECODE (t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3,\n               'LONG', -1, 'DATE', 93, 'RAW', -3, 'LONG RAW', -4, 1111)\n              AS data_type,\n       t.data_type AS type_name,\n       DECODE (t.data_precision, null, t.data_length, t.data_precision)\n              AS column_size,\n       0 AS buffer_length,\n       t.data_scale AS decimal_digits,\n       1 AS pseudo_column\nFROM all_tab_columns t, all_ind_columns i\nWHERE ? = 1\n  AND t.table_name = ?\n  AND t.owner like ? escape '/'\n  AND t.nullable != ?\n  AND t.owner = i.table_owner\n  AND t.table_name = i.table_name\n  AND t.column_name = i.column_name\n");
        switch(i)
        {
        case 0: // '\0'
            preparedstatement.setInt(1, 0);
            preparedstatement.setInt(2, 0);
            break;

        case 1: // '\001'
            preparedstatement.setInt(1, 1);
            preparedstatement.setInt(2, 1);
            break;

        case 2: // '\002'
            preparedstatement.setInt(1, 0);
            preparedstatement.setInt(2, 1);
            break;
        }
        preparedstatement.setString(3, s2);
        preparedstatement.setString(4, s1 != null ? s1 : "%");
        preparedstatement.setString(5, flag ? "X" : "Y");
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getCatalogSeparator  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 30584
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getCatalogSeparator()
        throws SQLException
    {
        connection.trace("getCatalogSeparator");
        return "";
    }

    // Decompiling method: getCatalogTerm  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 30650
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getCatalogTerm()
        throws SQLException
    {
        connection.trace("getCatalogTerm");
        return "";
    }

    // Decompiling method: getCatalogs  Signature: ()Ljava/sql/ResultSet;
    // Max stack: 2, #locals: 4, #params: 1
    // Code length: 43 bytes, Code offset: 30716
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 43 Range 0 42 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 43 Range 0 42 Init 0 fixed
    // LocalVar   1 added: Name statement Type Ljava/sql/Statement; At 20 5 Range 20 24 Init 20
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 23 3 Range 23 25 Init 23
    // LocalVar   3 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 34 8 Range 34 41 Init 34
    public ResultSet getCatalogs()
        throws SQLException
    {
        connection.trace("getCatalogs");
        Statement statement = connection.createStatement();
        String s = "select 'nothing' as table_cat from dual where 1 = 2";
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)statement.executeQuery(s);
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getColumnPrivileges  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 3, #locals: 7, #params: 5
    // Code length: 91 bytes, Code offset: 30827
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 91 Range 0 90 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 91 Range 0 90 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 91 Range 0 90 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 91 Range 0 90 Init 0
    // Parameter  4 added: Name s3 Type Ljava/lang/String; At 0 91 Range 0 90 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 91 Range 0 90 Init 0 fixed
    // LocalVar   5 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 11 60 Range 11 70 Init 11
    // LocalVar   6 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 79 11 Range 79 89 Init 79
    public synchronized ResultSet getColumnPrivileges(String s, String s1, String s2, String s3)
        throws SQLException
    {
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT NULL AS table_cat,\n       table_schema AS table_schem,\n       table_name,\n       column_name,\n       grantor,\n       grantee,\n       privilege,\n       grantable AS is_grantable\nFROM all_col_privs\nWHERE table_schema LIKE ? ESCAPE '/'\n  AND table_name LIKE ? ESCAPE '/'\n  AND column_name LIKE ? ESCAPE '/'\nORDER BY column_name, privilege\n");
        preparedstatement.setString(1, s1 != null ? s1 : "%");
        preparedstatement.setString(2, s2 != null ? s2 : "%");
        preparedstatement.setString(3, s3 != null ? s3 : "%");
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getColumns  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 23, #params: 5
    // Code length: 706 bytes, Code offset: 30998
    // Line Number Table found: 68 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 706 Range 0 705 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 706 Range 0 705 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 706 Range 0 705 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 706 Range 0 705 Init 0
    // Parameter  4 added: Name s3 Type Ljava/lang/String; At 0 706 Range 0 705 Init 0
    // RetValue  23 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 706 Range 0 705 Init 0 fixed
    // LocalVar   5 added: Name s4 Type Ljava/lang/String; At 2 60 Range 2 61 Init 2
    // LocalVar   6 added: Name s5 Type Ljava/lang/String; At 6 109 Range 6 114 Init 6
    // LocalVar   7 added: Name s6 Type Ljava/lang/String; At 10 80 Range 10 89 Init 10
    // LocalVar   8 added: Name s7 Type Ljava/lang/String; At 14 123 Range 14 136 Init 14
    // LocalVar   9 added: Name s8 Type Ljava/lang/String; At 18 153 Range 18 170 Init 18
    // LocalVar  10 added: Name s9 Type Ljava/lang/String; At 22 174 Range 22 195 Init 22
    // LocalVar  11 added: Name s10 Type Ljava/lang/String; At 26 192 Range 26 217 Init 26
    // LocalVar  12 added: Name s11 Type Ljava/lang/String; At 30 193 Range 30 222 Init 30
    // LocalVar  13 added: Name s12 Type Ljava/lang/String; At 34 257 Range 34 290 Init 34
    // LocalVar  14 added: Name s13 Type Ljava/lang/String; At 38 219 Range 38 256 Init 38
    // LocalVar  15 added: Name s14 Type Ljava/lang/String; At 42 318 Range 42 359 Init 42
    // LocalVar  16 added: Name s15 Type Ljava/lang/String; At 46 284 Range 46 329 Init 46
    // LocalVar  17 added: Name s16 Type Ljava/lang/String; At 50 344 Range 50 393 Init 50
    // LocalVar  18 added: Name s17 Type Ljava/lang/String; At 54 374 Range 54 427 Init 54
    // LocalVar  19 added: Name s18 Type Ljava/lang/String; At 58 397 Range 58 454 Init 58
    // LocalVar  20 added: Name s19 Type Ljava/lang/String; At 62 45 Range 62 106 Init 62
    // LocalVar  20 added: Name s20 Type Ljava/lang/String; At 143 45 Range 143 187 Init 143
    // LocalVar  20 added: Name s21 Type Ljava/lang/String; At 229 118 Range 229 346 Init 229
    // LocalVar  20 added: Name s22 Type Ljava/lang/String; At 461 34 Range 461 494 Init 461
    // LocalVar  21 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 500 186 Range 500 685 Init 500
    // LocalVar  22 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 694 11 Range 694 704 Init 694
    // LocalVar  20 name s20(Ljava/lang/String;) merged out into s19(Ljava/lang/String;)
    // LocalVar  20 name s21(Ljava/lang/String;) merged out into s19(Ljava/lang/String;)
    // LocalVar  20 name s22(Ljava/lang/String;) merged out into s19(Ljava/lang/String;)
    public synchronized ResultSet getColumns(String s, String s1, String s2, String s3)
        throws SQLException
    {
        String s4 = "SELECT NULL AS table_cat,\n";
        String s5 = "       t.owner AS table_schem,\n       t.table_name AS table_name,\n";
        String s6 = "       DECODE(s.table_owner, NULL, t.owner, s.table_owner)\n              AS table_schem,\n       DECODE(s.synonym_name, NULL, t.table_name, s.synonym_name)\n              AS table_name,\n";
        String s7 = "       t.column_name AS column_name,\n       DECODE (t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3,\n               'LONG', -1, 'DATE', 93, 'RAW', -3, 'LONG RAW', -4, 1111)\n              AS data_type,\n       t.data_type AS type_name,\n       DECODE (t.data_precision, null, t.data_length, t.data_precision)\n              AS column_size,\n       0 AS buffer_length,\n       t.data_scale AS decimal_digits,\n       10 AS num_prec_radix,\n       DECODE (t.nullable, 'N', 0, 1) AS nullable,\n";
        String s8 = "       c.comments AS remarks,\n";
        String s9 = "       NULL AS remarks,\n";
        String s10 = "       t.data_default AS column_def,\n       0 AS sql_data_type,\n       0 AS sql_datetime_sub,\n       t.data_length AS char_octet_length,\n       t.column_id AS ordinal_position,\n       DECODE (t.nullable, 'N', 'NO', 'YES') AS is_nullable\n";
        String s11 = "FROM all_tab_columns t";
        String s12 = ", all_synonyms s";
        String s13 = ", all_col_comments c";
        String s14 = "WHERE t.owner LIKE ? ESCAPE '/'\n  AND t.table_name LIKE ? ESCAPE '/'\n  AND t.column_name LIKE ? ESCAPE '/'\n";
        String s15 = "WHERE (t.owner LIKE ? ESCAPE '/' OR\n       (s.owner LIKE ? ESCAPE '/' AND t.owner = s.table_owner))\n  AND (t.table_name LIKE ? ESCAPE '/' OR\n       s.synonym_name LIKE ? ESCAPE '/')\n  AND t.column_name LIKE ? ESCAPE '/'\n";
        String s16 = "  AND t.owner = c.owner (+)\n  AND t.table_name = c.table_name (+)\n  AND t.column_name = c.column_name (+)\n";
        String s17 = "  AND s.table_name (+) = t.table_name\n  AND ((DECODE(s.owner, t.owner, 'OK',\n                       'PUBLIC', 'OK',\n                       NULL, 'OK',\n                       'NOT OK') = 'OK') OR\n       (s.owner LIKE ? AND t.owner = s.table_owner))";
        String s18 = "ORDER BY table_schem, table_name, ordinal_position\n";
        String s19 = s4;
        if(connection.getIncludeSynonyms())
        {
            s19 = s19 + s6;
        } else
        {
            s19 = s19 + s5;
        }
        s19 = s19 + s7;
        if(connection.getRemarksReporting())
        {
            s19 = s19 + s8;
        } else
        {
            s19 = s19 + s9;
        }
        s19 = s19 + s10 + s11;
        if(connection.getRemarksReporting())
        {
            s19 = s19 + s13;
        }
        if(connection.getIncludeSynonyms())
        {
            s19 = s19 + s12;
        }
        if(connection.getIncludeSynonyms())
        {
            s19 = s19 + "\n" + s15;
        } else
        {
            s19 = s19 + "\n" + s14;
        }
        if(connection.getRemarksReporting())
        {
            s19 = s19 + s16;
        }
        if(connection.getIncludeSynonyms())
        {
            s19 = s19 + s17;
        }
        s19 = s19 + "\n" + s18;
        connection.trace("getColumns final SQL statement is:\n" + s19);
        PreparedStatement preparedstatement = connection.prepareStatement(s19);
        if(connection.getIncludeSynonyms())
        {
            preparedstatement.setString(1, s1 != null ? s1 : "%");
            preparedstatement.setString(2, s1 != null ? s1 : "%");
            preparedstatement.setString(3, s2 != null ? s2 : "%");
            preparedstatement.setString(4, s2 != null ? s2 : "%");
            preparedstatement.setString(5, s3 != null ? s3 : "%");
            preparedstatement.setString(6, s1 != null ? s1 : "%");
        } else
        {
            preparedstatement.setString(1, s1 != null ? s1 : "%");
            preparedstatement.setString(2, s2 != null ? s2 : "%");
            preparedstatement.setString(3, s3 != null ? s3 : "%");
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getConnection  Signature: ()Ljava/sql/Connection;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 32020
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Connection; At 0 5 Range 0 4 Init 0 fixed
    public Connection getConnection()
        throws SQLException
    {
        return connection;
    }

    // Decompiling method: getCrossReference  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 6, #locals: 7, #params: 7
    // Code length: 24 bytes, Code offset: 32073
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 24 Range 0 23 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // Parameter  4 added: Name s3 Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // Parameter  5 added: Name s4 Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // Parameter  6 added: Name s5 Type Ljava/lang/String; At 0 24 Range 0 23 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 24 Range 0 23 Init 0 fixed
    public ResultSet getCrossReference(String s, String s1, String s2, String s3, String s4, String s5)
        throws SQLException
    {
        connection.trace("getCrossReference");
        return keys_query(s1, s2, s4, s5, "ORDER BY fktable_schem, fktable_name, key_seq");
    }

    // Decompiling method: getDatabaseProductName  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 3 bytes, Code offset: 32157
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 3 Range 0 2 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 3 Range 0 2 Init 0 fixed
    public String getDatabaseProductName()
        throws SQLException
    {
        return "Oracle";
    }

    // Decompiling method: getDatabaseProductVersion  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 21 bytes, Code offset: 32208
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 21 Range 0 20 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 21 Range 0 20 Init 0 fixed
    public String getDatabaseProductVersion()
        throws SQLException
    {
        connection.trace("getDatabaseProductVersion");
        return connection.getDatabaseProductVersion();
    }

    // Decompiling method: getDefaultTransactionIsolation  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 32281
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getDefaultTransactionIsolation()
        throws SQLException
    {
        connection.trace("getDefaultTransactionIsolation");
        return 2;
    }

    // Decompiling method: getDriverMajorVersion  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 32346
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getDriverMajorVersion()
    {
        connection.trace("getDriverMajorVersion");
        return DRIVER_MAJOR_VERSION;
    }

    // Decompiling method: getDriverMajorVersionInfo  Signature: ()I
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 4 bytes, Code offset: 32403
    // Line Number Table found: 1 entries
    // RetValue   0 added: Name <returnValue> Type I At 0 4 Range 0 3 Init 0 fixed
    public static int getDriverMajorVersionInfo()
    {
        return DRIVER_MAJOR_VERSION;
    }

    // Decompiling method: getDriverMinorVersion  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 32445
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getDriverMinorVersion()
    {
        connection.trace("getDriverMinorVersion");
        return DRIVER_MINOR_VERSION;
    }

    // Decompiling method: getDriverMinorVersionInfo  Signature: ()I
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 4 bytes, Code offset: 32502
    // Line Number Table found: 1 entries
    // RetValue   0 added: Name <returnValue> Type I At 0 4 Range 0 3 Init 0 fixed
    public static int getDriverMinorVersionInfo()
    {
        return DRIVER_MINOR_VERSION;
    }

    // Decompiling method: getDriverName  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 32544
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 15 Range 0 14 Init 0 fixed
    public String getDriverName()
        throws SQLException
    {
        connection.trace("getDriverName");
        return DRIVER_NAME;
    }

    // Decompiling method: getDriverNameInfo  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 4 bytes, Code offset: 32611
    // Line Number Table found: 1 entries
    // RetValue   0 added: Name <returnValue> Type Ljava/lang/String; At 0 4 Range 0 3 Init 0 fixed
    public static String getDriverNameInfo()
        throws SQLException
    {
        return DRIVER_NAME;
    }

    // Decompiling method: getDriverVersion  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 32663
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 15 Range 0 14 Init 0 fixed
    public String getDriverVersion()
        throws SQLException
    {
        connection.trace("getDriverVersion");
        return DRIVER_VERSION;
    }

    // Decompiling method: getDriverVersionInfo  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 4 bytes, Code offset: 32730
    // Line Number Table found: 1 entries
    // RetValue   0 added: Name <returnValue> Type Ljava/lang/String; At 0 4 Range 0 3 Init 0 fixed
    public static String getDriverVersionInfo()
        throws SQLException
    {
        return DRIVER_VERSION;
    }

    // Decompiling method: getExportedKeys  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 6, #locals: 4, #params: 4
    // Code length: 22 bytes, Code offset: 32782
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 22 Range 0 21 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 22 Range 0 21 Init 0 fixed
    public ResultSet getExportedKeys(String s, String s1, String s2)
        throws SQLException
    {
        connection.trace("getExportedKeys");
        return keys_query(s1, s2, null, null, "ORDER BY fktable_schem, fktable_name, key_seq");
    }

    // Decompiling method: getExtraNameCharacters  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 32864
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getExtraNameCharacters()
        throws SQLException
    {
        connection.trace("getExtraNameCharacters");
        return "$#";
    }

    // Decompiling method: getGetLobPrecision  Signature: ()Z
    // Max stack: 3, #locals: 2, #params: 0
    // Code length: 90 bytes, Code offset: 32930
    // Exception table: 1 entries
    //           start  6 end 65 handler 68 type SecurityException
    // Line Number Table found: 16 entries
    // RetValue   2 added: Name <returnValue> Type Z At 0 90 Range 0 89 Init 0 fixed
    // LocalVar   0 added: Name properties Type Ljava/util/Properties; At 9 6 Range 9 14 Init 9
    // LocalVar   1 added: Name s Type Ljava/lang/String; At 21 10 Range 21 30 Init 21
    public static boolean getGetLobPrecision()
        throws SQLException
    {
        if(s_getLobPrecision == null)
        {
            try
            {
                Properties properties = System.getProperties();
                if(properties != null)
                {
                    String s = properties.getProperty(GET_LOB_PRECISION);
                    if(s != null)
                    {
                        s_getLobPrecision = new Boolean(s);
                    } else
                    {
                        s_getLobPrecision = new Boolean(true);
                    }
                } else
                {
                    s_getLobPrecision = new Boolean(true);
                }
            }
            catch(SecurityException _ex)
            {
                s_getLobPrecision = new Boolean(true);
            }
        }
        return s_getLobPrecision.booleanValue();
    }

    // Decompiling method: getIdentifierQuoteString  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 33136
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getIdentifierQuoteString()
        throws SQLException
    {
        connection.trace("getIdentifierQuoteString");
        return "\"";
    }

    // Decompiling method: getImportedKeys  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 6, #locals: 4, #params: 4
    // Code length: 22 bytes, Code offset: 33202
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 22 Range 0 21 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 22 Range 0 21 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 22 Range 0 21 Init 0 fixed
    public synchronized ResultSet getImportedKeys(String s, String s1, String s2)
        throws SQLException
    {
        connection.trace("getImportedKeys");
        return keys_query(null, null, s1, s2, "ORDER BY pktable_schem, pktable_name, key_seq");
    }

    // Decompiling method: getIndexInfo  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 17, #params: 6
    // Code length: 327 bytes, Code offset: 33284
    // Line Number Table found: 38 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 327 Range 0 326 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 327 Range 0 326 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 327 Range 0 326 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 327 Range 0 326 Init 0
    // Parameter  4 added: Name flag Type Z At 0 327 Range 0 326 Init 0
    // Parameter  5 added: Name flag1 Type Z At 0 327 Range 0 326 Init 0
    // RetValue  17 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 327 Range 0 326 Init 0 fixed
    // LocalVar   6 added: Name statement Type Ljava/sql/Statement; At 20 285 Range 20 304 Init 20
    // LocalVar   7 added: Name s3 Type Ljava/lang/String; At 84 17 Range 84 100 Init 84
    // LocalVar   8 added: Name s4 Type Ljava/lang/String; At 128 128 Range 128 255 Init 128
    // LocalVar   9 added: Name s5 Type Ljava/lang/String; At 132 132 Range 132 263 Init 132
    // LocalVar  10 added: Name s6 Type Ljava/lang/String; At 189 86 Range 189 274 Init 189
    // LocalVar  11 added: Name s7 Type Ljava/lang/String; At 193 87 Range 193 279 Init 193
    // LocalVar  12 added: Name s8 Type Ljava/lang/String; At 231 54 Range 231 284 Init 231
    // LocalVar  13 added: Name s9 Type Ljava/lang/String; At 244 46 Range 244 289 Init 244
    // LocalVar  14 added: Name s10 Type Ljava/lang/String; At 248 47 Range 248 294 Init 248
    // LocalVar  15 added: Name s11 Type Ljava/lang/String; At 301 6 Range 301 306 Init 301
    // LocalVar  16 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 315 11 Range 315 325 Init 315
    public synchronized ResultSet getIndexInfo(String s, String s1, String s2, boolean flag, boolean flag1)
        throws SQLException
    {
        connection.trace("getIndexInfo");
        Statement statement = connection.createStatement();
        String s3 = "analyze table " + (s1 != null ? s1 + "." : "") + s2 + (flag1 ? " estimate statistics" : " compute statistics");
        connection.trace(s3);
        statement.executeUpdate(s3);
        String s4 = "select null as table_cat,\n       owner as table_schem,\n       table_name,\n       0 as NON_UNIQUE,\n       null as index_qualifier,\n       null as index_name, 0 as type,\n       0 as ordinal_position, null as column_name,\n       null as asc_or_desc,\n       num_rows as cardinality,\n       blocks as pages,\n       null as filter_condition\nfrom all_tables\nwhere table_name = '" + s2 + "'\n";
        String s5 = "";
        if(s1 != null && s1.length() > 0)
        {
            s5 = "  and owner = '" + s1 + "'\n";
        }
        String s6 = "select null as table_cat,\n       i.owner as table_schem,\n       i.table_name,\n       decode (i.uniqueness, 'UNIQUE', 0, 1),\n       null as index_qualifier,\n       i.index_name,\n       1 as type,\n       c.column_position as ordinal_position,\n       c.column_name,\n       null as asc_or_desc,\n       i.distinct_keys as cardinality,\n       i.leaf_blocks as pages,\n       null as filter_condition\nfrom all_indexes i, all_ind_columns c\nwhere i.table_name = '" + s2 + "'\n";
        String s7 = "";
        if(s1 != null && s1.length() > 0)
        {
            s7 = "  and i.owner = '" + s1 + "'\n";
        }
        String s8 = "";
        if(flag)
        {
            s8 = "  and i.uniqueness = 'UNIQUE'\n";
        }
        String s9 = "  and i.index_name = c.index_name\n  and i.table_owner = c.table_owner\n  and i.table_name = c.table_name\n  and i.owner = c.index_owner\n";
        String s10 = "order by non_unique, type, index_name, ordinal_position\n";
        String s11 = s4 + s5 + "union\n" + s6 + s7 + s8 + s9 + s10;
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)statement.executeQuery(s11);
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getLobPrecision  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 15 bytes, Code offset: 33807
    // Line Number Table found: 1 entries
    // RetValue   0 added: Name <returnValue> Type Ljava/lang/String; At 0 15 Range 0 14 Init 0 fixed
    public static String getLobPrecision()
        throws SQLException
    {
        return getGetLobPrecision() ? LOB_MAXSIZE : "-1";
    }

    // Decompiling method: getMaxBinaryLiteralLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 33870
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getMaxBinaryLiteralLength()
        throws SQLException
    {
        connection.trace("getMaxBinaryLiteralLength");
        return 1000;
    }

    // Decompiling method: getMaxCatalogNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 33937
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxCatalogNameLength()
        throws SQLException
    {
        connection.trace("getMaxCatalogNameLength");
        return 0;
    }

    // Decompiling method: getMaxCharLiteralLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 34002
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getMaxCharLiteralLength()
        throws SQLException
    {
        connection.trace("getMaxCharLiteralLength");
        return 2000;
    }

    // Decompiling method: getMaxColumnNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34069
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxColumnNameLength()
        throws SQLException
    {
        connection.trace("getMaxColumnNameLength");
        return 30;
    }

    // Decompiling method: getMaxColumnsInGroupBy  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34135
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxColumnsInGroupBy()
        throws SQLException
    {
        connection.trace("getMaxColumnsInGroupBy");
        return 0;
    }

    // Decompiling method: getMaxColumnsInIndex  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34200
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxColumnsInIndex()
        throws SQLException
    {
        connection.trace("getMaxColumnsInIndex");
        return 32;
    }

    // Decompiling method: getMaxColumnsInOrderBy  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34266
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxColumnsInOrderBy()
        throws SQLException
    {
        connection.trace("getMaxColumnsInOrderBy");
        return 0;
    }

    // Decompiling method: getMaxColumnsInSelect  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34331
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxColumnsInSelect()
        throws SQLException
    {
        connection.trace("getMaxColumnsInSelect");
        return 0;
    }

    // Decompiling method: getMaxColumnsInTable  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 34396
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getMaxColumnsInTable()
        throws SQLException
    {
        connection.trace("getMaxColumnsInTable");
        return 1000;
    }

    // Decompiling method: getMaxConnections  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34463
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxConnections()
        throws SQLException
    {
        connection.trace("getMaxConnections");
        return 0;
    }

    // Decompiling method: getMaxCursorNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34528
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxCursorNameLength()
        throws SQLException
    {
        connection.trace("getMaxCursorNameLength");
        return 0;
    }

    // Decompiling method: getMaxIndexLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34593
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxIndexLength()
        throws SQLException
    {
        connection.trace("getMaxIndexLength");
        return 0;
    }

    // Decompiling method: getMaxProcedureNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34658
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxProcedureNameLength()
        throws SQLException
    {
        connection.trace("getMaxProcedureNameLength");
        return 30;
    }

    // Decompiling method: getMaxRowSize  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 34724
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getMaxRowSize()
        throws SQLException
    {
        connection.trace("getMaxRowSize");
        return 2000;
    }

    // Decompiling method: getMaxSchemaNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34791
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxSchemaNameLength()
        throws SQLException
    {
        connection.trace("getMaxSchemaNameLength");
        return 30;
    }

    // Decompiling method: getMaxStatementLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34857
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxStatementLength()
        throws SQLException
    {
        connection.trace("getMaxStatementLength");
        return 65535;
    }

    // Decompiling method: getMaxStatements  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 34923
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxStatements()
        throws SQLException
    {
        connection.trace("getMaxStatements");
        return 0;
    }

    // Decompiling method: getMaxTableNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 34988
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxTableNameLength()
        throws SQLException
    {
        connection.trace("getMaxTableNameLength");
        return 30;
    }

    // Decompiling method: getMaxTablesInSelect  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 35054
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 13 Range 0 12 Init 0 fixed
    public int getMaxTablesInSelect()
        throws SQLException
    {
        connection.trace("getMaxTablesInSelect");
        return 0;
    }

    // Decompiling method: getMaxUserNameLength  Signature: ()I
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 35119
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 14 Range 0 13 Init 0 fixed
    public int getMaxUserNameLength()
        throws SQLException
    {
        connection.trace("getMaxUserNameLength");
        return 30;
    }

    // Decompiling method: getNumericFunctions  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 35185
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getNumericFunctions()
        throws SQLException
    {
        connection.trace("getNumericFunctions");
        return "ABS,CEIL,COS,COSH,EXP,FLOOR,LN,LOG,MOD,POWER,ROUND,SIGN,SIN,SINH,SQRT,TAN,TANH,TRUNC,AVG,COUNT,GLB,LUB,MAX,MIN,STDDEV,SUM,VARIANCE";
    }

    // Decompiling method: getPrimaryKeys  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 3, #locals: 6, #params: 4
    // Code length: 62 bytes, Code offset: 35251
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 62 Range 0 61 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // RetValue   6 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 62 Range 0 61 Init 0 fixed
    // LocalVar   4 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 11 31 Range 11 41 Init 11
    // LocalVar   5 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 50 11 Range 50 60 Init 50
    public ResultSet getPrimaryKeys(String s, String s1, String s2)
        throws SQLException
    {
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT NULL AS table_cat,\n       c.owner AS table_schem,\n       c.table_name,\n       c.column_name,\n       c.position AS key_seq,\n       c.constraint_name AS pk_name\nFROM all_cons_columns c, all_constraints k\nWHERE k.constraint_type = 'P'\n  AND k.table_name = ?\n  AND k.owner like ? escape '/'\n  AND k.constraint_name = c.constraint_name \n  AND k.table_name = c.table_name \n  AND k.owner = c.owner \nORDER BY column_name\n");
        preparedstatement.setString(1, s2);
        preparedstatement.setString(2, s1 != null ? s1 : "%");
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getProcedureColumns  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 18, #params: 5
    // Code length: 493 bytes, Code offset: 35389
    // Line Number Table found: 68 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 493 Range 0 492 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 493 Range 0 492 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 493 Range 0 492 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 493 Range 0 492 Init 0
    // Parameter  4 added: Name s3 Type Ljava/lang/String; At 0 493 Range 0 492 Init 0
    // RetValue  18 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 493 Range 0 492 Init 0 fixed
    // LocalVar   5 added: Name s4 Type Ljava/lang/String; At 2 365 Range 2 366 Init 2
    // LocalVar   6 added: Name s5 Type Ljava/lang/String; At 6 369 Range 6 374 Init 6
    // LocalVar   7 added: Name s6 Type Ljava/lang/String; At 10 261 Range 10 270 Init 10
    // LocalVar   8 added: Name s7 Type Ljava/lang/String; At 14 129 Range 14 142 Init 14
    // LocalVar   9 added: Name s8 Type Ljava/lang/String; At 18 100 Range 18 117 Init 18
    // LocalVar  10 added: Name s9 Type Ljava/lang/String; At 22 363 Range 22 384 Init 22
    // LocalVar  11 added: Name obj Type A At 25 2 Range 25 26 Init 25
    // LocalVar  12 added: Name obj1 Type A At 28 2 Range 28 29 Init 28
    // LocalVar  13 added: Name obj2 Type A At 31 349 Range 31 379 Init 31
    // LocalVar  14 added: Name s10 Type Ljava/lang/String; At 34 403 Range 34 436 Init 34
    // LocalVar  15 added: Name s11 Type Ljava/lang/String; At 66 381 Range 66 446 Init 66
    // LocalVar  16 added: Name s12 Type Ljava/lang/String; At 95 371 Range 95 465 Init 95
    // LocalVar  13 chged: Name s13 Oname obj2 Type Ljava/lang/String; At 118 262 Range 31 379 Init 31
    // LocalVar  11 added: Name s14 Type Ljava/lang/String; At 174 34 Range 174 207 Init 174
    // LocalVar  12 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 213 260 Range 213 472 Init 213
    // LocalVar  11 added: Name s15 Type Ljava/lang/String; At 287 34 Range 287 320 Init 287
    // LocalVar  11 added: Name s16 Type Ljava/lang/String; At 391 34 Range 391 424 Init 391
    // LocalVar  17 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 481 11 Range 481 491 Init 481
    // LocalVar  12 chged: Name preparedstatement1 Oname obj1 Type Ljava/sql/PreparedStatement; At 28 2 Range 28 29 Init 28
    // LocalVar  12 name preparedstatement(Ljava/sql/PreparedStatement;) merged out into preparedstatement1(Ljava/sql/PreparedStatement;)
    public synchronized ResultSet getProcedureColumns(String s, String s1, String s2, String s3)
        throws SQLException
    {
        String s4 = "SELECT package_name AS procedure_cat,\n       owner AS procedure_schem,\n       object_name AS procedure_name,\n       argument_name AS column_name,\n       DECODE(position, 0, 5,\n                        DECODE(in_out, 'IN', 1,\n                                       'OUT', 4,\n                                       'IN/OUT', 2,\n                                       0)) AS column_type,\n       DECODE (data_type, 'CHAR', 1,\n                          'VARCHAR2', 12,\n                          'NUMBER', 3,\n                          'LONG', -1,\n                          'DATE', 93,\n                          'RAW', -3,\n                          'LONG RAW', -4,\n                          1111) AS data_type,\n       data_type AS type_name,\n       DECODE (data_precision, NULL, data_length,\n                               data_precision) AS precision,\n       data_length AS length,\n       data_scale AS scale,\n       10 AS radix,\n       1 AS nullable,\n       NULL AS remarks,\n       sequence,\n       overload,\n       default_value\n FROM all_arguments\nWHERE owner LIKE ? ESCAPE '/'\n  AND object_name LIKE ? ESCAPE '/'\n";
        String s5 = "  AND package_name LIKE ? ESCAPE '/'\n";
        String s6 = "  AND package_name IS NULL\n";
        String s7 = "  AND argument_name LIKE ? ESCAPE '/'\n";
        String s8 = "  AND (argument_name LIKE ? ESCAPE '/'\n       OR (argument_name IS NULL\n           AND data_type IS NOT NULL))\n";
        String s9 = "ORDER BY procedure_schem, procedure_name, overload, sequence\n";
        Object obj = null;
        PreparedStatement preparedstatement = null;
        String s13 = null;
        String s14 = s1;
        if(s1 == null)
        {
            s14 = "%";
        } else
        if(s1.equals(""))
        {
            s14 = getUserName().toUpperCase();
        }
        String s15 = s2;
        if(s2 == null)
        {
            s15 = "%";
        } else
        if(s2.equals(""))
        {
            DBError.throwSqlException(74);
        }
        String s16 = s3;
        if(s3 == null || s3.equals("%"))
        {
            s16 = "%";
            s13 = s8;
        } else
        if(s3.equals(""))
        {
            DBError.throwSqlException(74);
        } else
        {
            s13 = s7;
        }
        if(s == null)
        {
            String s10 = s4 + s13 + s9;
            connection.trace("getProcedureColumns Final SQL statement:\n" + s10);
            preparedstatement = connection.prepareStatement(s10);
            preparedstatement.setString(1, s14);
            preparedstatement.setString(2, s15);
            preparedstatement.setString(3, s16);
        } else
        if(s.equals(""))
        {
            String s11 = s4 + s6 + s13 + s9;
            connection.trace("getProcedureColumns Final SQL statement:\n" + s11);
            preparedstatement = connection.prepareStatement(s11);
            preparedstatement.setString(1, s14);
            preparedstatement.setString(2, s15);
            preparedstatement.setString(3, s16);
        } else
        {
            String s12 = s4 + s5 + s13 + s9;
            connection.trace("getProcedureColumns Final SQL statement:\n" + s12);
            preparedstatement = connection.prepareStatement(s12);
            preparedstatement.setString(1, s14);
            preparedstatement.setString(2, s15);
            preparedstatement.setString(3, s);
            preparedstatement.setString(4, s16);
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getProcedureTerm  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 36198
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getProcedureTerm()
        throws SQLException
    {
        connection.trace("getProcedureTerm");
        return "procedure";
    }

    // Decompiling method: getProcedures  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 16, #params: 4
    // Code length: 574 bytes, Code offset: 36264
    // Line Number Table found: 73 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 574 Range 0 573 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 574 Range 0 573 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 574 Range 0 573 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 574 Range 0 573 Init 0
    // RetValue  16 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 574 Range 0 573 Init 0 fixed
    // LocalVar   4 added: Name s3 Type Ljava/lang/String; At 2 299 Range 2 300 Init 2
    // LocalVar   5 added: Name s4 Type Ljava/lang/String; At 6 365 Range 6 370 Init 6
    // LocalVar   6 added: Name s5 Type Ljava/lang/String; At 10 379 Range 10 388 Init 10
    // LocalVar   7 added: Name s6 Type Ljava/lang/String; At 14 390 Range 14 403 Init 14
    // LocalVar   8 added: Name s7 Type Ljava/lang/String; At 18 391 Range 18 408 Init 18
    // LocalVar   9 added: Name s8 Type Ljava/lang/String; At 22 130 Range 22 151 Init 22
    // LocalVar  10 added: Name s9 Type Ljava/lang/String; At 26 388 Range 26 413 Init 26
    // LocalVar  11 added: Name obj Type A At 29 2 Range 29 30 Init 29
    // LocalVar  12 added: Name obj1 Type A At 32 2 Range 32 33 Init 32
    // LocalVar  13 added: Name s10 Type Ljava/lang/String; At 35 501 Range 35 535 Init 35
    // LocalVar  14 added: Name s11 Type Ljava/lang/String; At 67 480 Range 67 546 Init 67
    // LocalVar  12 added: Name s12 Type Ljava/lang/String; At 163 34 Range 163 196 Init 163
    // LocalVar  11 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 202 352 Range 202 553 Init 202
    // LocalVar  12 added: Name s13 Type Ljava/lang/String; At 301 34 Range 301 334 Init 301
    // LocalVar  12 added: Name s14 Type Ljava/lang/String; At 420 34 Range 420 453 Init 420
    // LocalVar  15 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 562 11 Range 562 572 Init 562
    // LocalVar  11 chged: Name preparedstatement1 Oname obj Type Ljava/sql/PreparedStatement; At 29 2 Range 29 30 Init 29
    // LocalVar  11 name preparedstatement(Ljava/sql/PreparedStatement;) merged out into preparedstatement1(Ljava/sql/PreparedStatement;)
    public synchronized ResultSet getProcedures(String s, String s1, String s2)
        throws SQLException
    {
        String s3 = "SELECT\n  -- Standalone procedures and functions\n  NULL AS procedure_cat,\n  owner AS procedure_schem,\n  object_name AS procedure_name,\n  NULL,\n  NULL,\n  NULL,\n  'Standalone procedure or function' AS remarks,\n  DECODE(object_type, 'PROCEDURE', 1,\n                      'FUNCTION', 2,\n                      0) AS procedure_type\nFROM all_objects\nWHERE (object_type = 'PROCEDURE' OR object_type = 'FUNCTION')\n  AND owner LIKE ? ESCAPE '/'\n  AND object_name LIKE ? ESCAPE '/'\n";
        String s4 = "SELECT\n  -- Packaged procedures with no arguments\n  package_name AS procedure_cat,\n  owner AS procedure_schem,\n  object_name AS procedure_name,\n  NULL,\n  NULL,\n  NULL,\n  'Packaged procedure' AS remarks,\n  1 AS procedure_type\nFROM all_arguments\nWHERE argument_name IS NULL\n  AND data_type IS NULL\n  AND ";
        String s5 = "SELECT\n  -- Packaged procedures with arguments\n  package_name AS procedure_cat,\n  owner AS procedure_schem,\n  object_name AS procedure_name,\n  NULL,\n  NULL,\n  NULL,\n  'Packaged procedure' AS remarks,\n  1 AS procedure_type\nFROM all_arguments\nWHERE argument_name IS NOT NULL\n  AND position = 1\n  AND position = sequence\n  AND ";
        String s6 = "SELECT\n  -- Packaged functions\n  package_name AS procedure_cat,\n  owner AS procedure_schem,\n  object_name AS procedure_name,\n  NULL,\n  NULL,\n  NULL,\n  'Packaged function' AS remarks,\n  2 AS procedure_type\nFROM all_arguments\nWHERE argument_name IS NULL\n  AND in_out = 'OUT'\n  AND ";
        String s7 = "package_name LIKE ? ESCAPE '/'\n  AND owner LIKE ? ESCAPE '/'\n  AND object_name LIKE ? ESCAPE '/'\n";
        String s8 = "package_name IS NOT NULL\n  AND owner LIKE ? ESCAPE '/'\n  AND object_name LIKE ? ESCAPE '/'\n";
        String s9 = "ORDER BY procedure_schem, procedure_name\n";
        PreparedStatement preparedstatement = null;
        Object obj = null;
        String s13 = s1;
        if(s1 == null)
        {
            s13 = "%";
        } else
        if(s1.equals(""))
        {
            s13 = getUserName().toUpperCase();
        }
        String s14 = s2;
        if(s2 == null)
        {
            s14 = "%";
        } else
        if(s2.equals(""))
        {
            DBError.throwSqlException(74);
        }
        if(s == null)
        {
            String s10 = s3 + "UNION ALL " + s4 + s8 + "UNION ALL " + s5 + s8 + "UNION ALL " + s6 + s8 + s9;
            connection.trace("getProcedures Final SQL statement:\n" + s10);
            preparedstatement = connection.prepareStatement(s10);
            preparedstatement.setString(1, s13);
            preparedstatement.setString(2, s14);
            preparedstatement.setString(3, s13);
            preparedstatement.setString(4, s14);
            preparedstatement.setString(5, s13);
            preparedstatement.setString(6, s14);
            preparedstatement.setString(7, s13);
            preparedstatement.setString(8, s14);
        } else
        if(s.equals(""))
        {
            String s11 = s3;
            connection.trace("getProcedures Final SQL statement:\n" + s11);
            preparedstatement = connection.prepareStatement(s11);
            preparedstatement.setString(1, s13);
            preparedstatement.setString(2, s14);
        } else
        {
            String s12 = s4 + s7 + "UNION ALL " + s5 + s7 + "UNION ALL " + s6 + s7 + s9;
            connection.trace("getProcedures Final SQL statement:\n" + s12);
            preparedstatement = connection.prepareStatement(s12);
            preparedstatement.setString(1, s);
            preparedstatement.setString(2, s13);
            preparedstatement.setString(3, s14);
            preparedstatement.setString(4, s);
            preparedstatement.setString(5, s13);
            preparedstatement.setString(6, s14);
            preparedstatement.setString(7, s);
            preparedstatement.setString(8, s13);
            preparedstatement.setString(9, s14);
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getSQLKeywords  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 37174
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getSQLKeywords()
        throws SQLException
    {
        connection.trace("getSQLKeywords");
        return "ACCESS, ADD, ALTER, AUDIT, CLUSTER, COLUMN, COMMENT, COMPRESS, CONNECT, DATE, DROP, EXCLUSIVE, FILE, IDENTIFIED, IMMEDIATE, INCREMENT, INDEX, INITIAL, INTERSECT, LEVEL, LOCK, LONG, MAXEXTENTS, MINUS, MODE, NOAUDIT, NOCOMPRESS, NOWAIT, NUMBER, OFFLINE, ONLINE, PCTFREE, PRIOR, all_PL_SQL_reserved_ words";
    }

    // Decompiling method: getSchemaTerm  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 37240
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getSchemaTerm()
        throws SQLException
    {
        connection.trace("getSchemaTerm");
        return "schema";
    }

    // Decompiling method: getSchemas  Signature: ()Ljava/sql/ResultSet;
    // Max stack: 2, #locals: 4, #params: 1
    // Code length: 32 bytes, Code offset: 37306
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 32 Range 0 31 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 32 Range 0 31 Init 0 fixed
    // LocalVar   1 added: Name statement Type Ljava/sql/Statement; At 9 5 Range 9 13 Init 9
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 12 3 Range 12 14 Init 12
    // LocalVar   3 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 23 8 Range 23 30 Init 23
    public ResultSet getSchemas()
        throws SQLException
    {
        Statement statement = connection.createStatement();
        String s = "SELECT username AS table_schem FROM all_users ORDER BY table_schem";
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)statement.executeQuery(s);
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getSearchStringEscape  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 37406
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getSearchStringEscape()
        throws SQLException
    {
        connection.trace("getSearchStringEscape");
        return "//";
    }

    // Decompiling method: getStringFunctions  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 37472
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getStringFunctions()
        throws SQLException
    {
        connection.trace("getStringFunctions");
        return "CHR,INITCAP,LOWER,LPAD,LTRIM,NLS_INITCAP,NLS_LOWER,NLS_UPPER,REPLACE,RPAD,RTRIM,SOUNDEX,SUBSTR,SUBSTRB,TRANSLATE,UPPER,ASCII,INSTR,INSTRB,LENGTH,LENGTHB,NLSSORT,CHARTOROWID,CONVERT,HEXTORAW,RAWTOHEX,ROWIDTOCHAR,TO_CHAR,TO_DATE,TO_LABEL,TO_MULTI_BYTE,TO_NUMBER,TO_SINGLE_BYTE";
    }

    // Decompiling method: getSystemFunctions  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 37538
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getSystemFunctions()
        throws SQLException
    {
        connection.trace("getSystemFunctions");
        return "DUMP,GREATEST,GREATEST_LB,LEAST,LEAST_UB,NVL,UID,USER,USERENV,VSIZE";
    }

    // Decompiling method: getTablePrivileges  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 3, #locals: 6, #params: 4
    // Code length: 71 bytes, Code offset: 37604
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 71 Range 0 70 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 71 Range 0 70 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 71 Range 0 70 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 71 Range 0 70 Init 0
    // RetValue   6 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 71 Range 0 70 Init 0 fixed
    // LocalVar   4 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 11 40 Range 11 50 Init 11
    // LocalVar   5 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 59 11 Range 59 69 Init 59
    public synchronized ResultSet getTablePrivileges(String s, String s1, String s2)
        throws SQLException
    {
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT NULL AS table_cat,\n       table_schema AS table_schem,\n       table_name,\n       null as column_name,\n       grantor,\n       grantee,\n       privilege,\n       grantable AS is_grantable\nFROM all_tab_privs\nWHERE table_schema LIKE ? ESCAPE '/'\n  AND table_name LIKE ? ESCAPE '/'\nORDER BY table_schem, table_name, privilege\n");
        preparedstatement.setString(1, s1 != null ? s1 : "%");
        preparedstatement.setString(2, s2 != null ? s2 : "%");
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getTableTypes  Signature: ()Ljava/sql/ResultSet;
    // Max stack: 2, #locals: 4, #params: 1
    // Code length: 32 bytes, Code offset: 37751
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 32 Range 0 31 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 32 Range 0 31 Init 0 fixed
    // LocalVar   1 added: Name statement Type Ljava/sql/Statement; At 9 5 Range 9 13 Init 9
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 12 3 Range 12 14 Init 12
    // LocalVar   3 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 23 8 Range 23 30 Init 23
    public ResultSet getTableTypes()
        throws SQLException
    {
        Statement statement = connection.createStatement();
        String s = "select 'TABLE' as table_type from dual\nunion select 'VIEW' as table_type from dual\nunion select 'SYNONYM' as table_type from dual\n";
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)statement.executeQuery(s);
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getTables  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 25, #params: 5
    // Code length: 830 bytes, Code offset: 37851
    // Line Number Table found: 82 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 830 Range 0 829 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 830 Range 0 829 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 830 Range 0 829 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 830 Range 0 829 Init 0
    // Parameter  4 added: Name as Type [Ljava/lang/String; At 0 830 Range 0 829 Init 0
    // RetValue  25 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 830 Range 0 829 Init 0 fixed
    // LocalVar   5 added: Name s3 Type Ljava/lang/String; At 2 295 Range 2 296 Init 2
    // LocalVar   6 added: Name s4 Type Ljava/lang/String; At 6 325 Range 6 330 Init 6
    // LocalVar   7 added: Name s5 Type Ljava/lang/String; At 10 351 Range 10 360 Init 10
    // LocalVar   8 added: Name s6 Type Ljava/lang/String; At 14 322 Range 14 335 Init 14
    // LocalVar   9 added: Name s7 Type Ljava/lang/String; At 18 348 Range 18 365 Init 18
    // LocalVar  10 added: Name s8 Type Ljava/lang/String; At 22 366 Range 22 387 Init 22
    // LocalVar  11 added: Name s9 Type Ljava/lang/String; At 26 624 Range 26 649 Init 26
    // LocalVar  12 added: Name flag Type Z At 29 728 Range 29 756 Init 29
    // LocalVar  13 added: Name s10 Type Ljava/lang/String; At 33 2 Range 33 34 Init 33
    // LocalVar  14 added: Name s11 Type Ljava/lang/String; At 37 2 Range 37 38 Init 37
    // LocalVar  13 added: Name s12 Type Ljava/lang/String; At 46 153 Range 46 198 Init 46
    // LocalVar  14 added: Name s13 Type Ljava/lang/String; At 50 171 Range 50 220 Init 50
    // LocalVar  15 added: Name flag1 Type Z At 53 134 Range 53 186 Init 53
    // LocalVar  15 chged: Name i Oname flag1 Type I At 185 2 Range 53 186 Init 53
    // LocalVar  13 added: Name s14 Type Ljava/lang/String; At 213 234 Range 213 446 Init 213
    // LocalVar  14 added: Name s15 Type Ljava/lang/String; At 235 187 Range 235 421 Init 235
    // LocalVar  15 added: Name s16 Type Ljava/lang/String; At 253 419 Range 253 671 Init 253
    // LocalVar  16 added: Name s17 Type Ljava/lang/String; At 257 268 Range 257 524 Init 257
    // LocalVar  17 added: Name s18 Type Ljava/lang/String; At 261 298 Range 261 558 Init 261
    // LocalVar  18 added: Name s19 Type Ljava/lang/String; At 265 324 Range 265 588 Init 265
    // LocalVar  19 added: Name s20 Type Ljava/lang/String; At 269 295 Range 269 563 Init 269
    // LocalVar  20 added: Name s21 Type Ljava/lang/String; At 273 321 Range 273 593 Init 273
    // LocalVar  21 added: Name s22 Type Ljava/lang/String; At 277 339 Range 277 615 Init 277
    // LocalVar  22 added: Name s23 Type Ljava/lang/String; At 281 8 Range 281 288 Init 281
    // LocalVar  22 added: Name s24 Type Ljava/lang/String; At 303 50 Range 303 352 Init 303
    // LocalVar  22 added: Name s25 Type Ljava/lang/String; At 394 45 Range 394 438 Init 394
    // LocalVar  22 added: Name s26 Type Ljava/lang/String; At 678 34 Range 678 711 Init 678
    // LocalVar  23 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 717 93 Range 717 809 Init 717
    // LocalVar  24 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 818 11 Range 818 828 Init 818
    // LocalVar  13 name s14(Ljava/lang/String;) merged out into s10(Ljava/lang/String;)
    // LocalVar  13 name s12(Ljava/lang/String;) merged out into s10(Ljava/lang/String;)
    // LocalVar  14 name s15(Ljava/lang/String;) merged out into s11(Ljava/lang/String;)
    // LocalVar  14 name s13(Ljava/lang/String;) merged out into s11(Ljava/lang/String;)
    // LocalVar  22 name s24(Ljava/lang/String;) merged out into s23(Ljava/lang/String;)
    // LocalVar  22 name s25(Ljava/lang/String;) merged out into s23(Ljava/lang/String;)
    // LocalVar  22 name s26(Ljava/lang/String;) merged out into s23(Ljava/lang/String;)
    public synchronized ResultSet getTables(String s, String s1, String s2, String as[])
        throws SQLException
    {
        String s3 = "SELECT NULL AS table_cat,\n       o.owner AS table_schem,\n       o.object_name AS table_name,\n       o.object_type AS table_type,\n";
        String s4 = "       c.comments AS table_remarks\n";
        String s5 = "       NULL AS table_remarks\n";
        String s6 = "  FROM all_objects o, all_tab_comments c\n";
        String s7 = "  FROM all_objects o\n";
        String s8 = "  WHERE o.owner LIKE ? ESCAPE '/'\n    AND o.object_name LIKE ? ESCAPE '/'\n";
        String s9 = "    AND o.owner = c.owner (+)\n    AND o.object_name = c.table_name (+)\n";
        boolean flag = false;
        String s10 = "";
        String s11 = "";
        if(as != null)
        {
            s10 = "    AND o.object_type IN ('xxx'";
            s11 = "    AND o.object_type IN ('xxx'";
            for(int i = 0; i < as.length; i++)
            {
                if(as[i].equals("SYNONYM"))
                {
                    s10 = s10 + ", '" + as[i] + "'";
                    flag = true;
                } else
                {
                    s10 = s10 + ", '" + as[i] + "'";
                    s11 = s11 + ", '" + as[i] + "'";
                }
            }

            s10 = s10 + ")\n";
            s11 = s11 + ")\n";
        } else
        {
            flag = true;
            s10 = "    AND o.object_type IN ('TABLE', 'SYNONYM', 'VIEW')\n";
            s11 = "    AND o.object_type IN ('TABLE', 'VIEW')\n";
        }
        String s12 = "  ORDER BY table_type, table_schem, table_name\n";
        String s13 = "SELECT NULL AS table_cat,\n       s.owner AS table_schem,\n       s.synonym_name AS table_name,\n       'SYNONYM' AS table_table_type,\n";
        String s14 = "       c.comments AS remarks\n";
        String s15 = "       NULL AS remarks\n";
        String s16 = "  FROM all_synonyms s, all_objects o, all_tab_comments c\n";
        String s17 = "  FROM all_synonyms s, all_objects o\n";
        String s18 = "  WHERE s.owner LIKE ? ESCAPE '/'\n    AND s.synonym_name LIKE ? ESCAPE '/'\n    AND s.table_owner = o.owner\n    AND s.table_name = o.object_name\n    AND o.object_type IN ('TABLE', 'VIEW')\n";
        String s19 = "";
        s19 = s19 + s3;
        if(connection.getRemarksReporting())
        {
            s19 = s19 + s4 + s6;
        } else
        {
            s19 = s19 + s5 + s7;
        }
        s19 = s19 + s8;
        if(connection.getRestrictGetTables())
        {
            s19 = s19 + s11;
        } else
        {
            s19 = s19 + s10;
        }
        if(connection.getRemarksReporting())
        {
            s19 = s19 + s9;
        }
        if(flag && connection.getRestrictGetTables())
        {
            s19 = s19 + "UNION\n" + s13;
            if(connection.getRemarksReporting())
            {
                s19 = s19 + s14 + s16;
            } else
            {
                s19 = s19 + s15 + s17;
            }
            s19 = s19 + s18;
            if(connection.getRemarksReporting())
            {
                s19 = s19 + s9;
            }
        }
        s19 = s19 + s12;
        connection.trace("getTables final SQL statement is:\n" + s19);
        PreparedStatement preparedstatement = connection.prepareStatement(s19);
        preparedstatement.setString(1, s1 != null ? s1 : "%");
        preparedstatement.setString(2, s2 != null ? s2 : "%");
        if(flag && connection.getRestrictGetTables())
        {
            preparedstatement.setString(3, s1 != null ? s1 : "%");
            preparedstatement.setString(4, s2 != null ? s2 : "%");
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getTimeDateFunctions  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 39053
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 14 Range 0 13 Init 0 fixed
    public String getTimeDateFunctions()
        throws SQLException
    {
        connection.trace("getTimeDateFunctions");
        return "ADD_MONTHS,LAST_DAY,MONTHS_BETWEEN,NEW_TIME,NEXT_DAY,ROUND,SYSDATE,TRUNC";
    }

    // Decompiling method: getTypeInfo  Signature: ()Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 26, #params: 1
    // Code length: 584 bytes, Code offset: 39119
    // Line Number Table found: 101 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 584 Range 0 583 Init 0 fixed
    // RetValue  26 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 584 Range 0 583 Init 0 fixed
    // LocalVar   1 added: Name statement Type Ljava/sql/Statement; At 20 542 Range 20 561 Init 20
    // LocalVar   2 added: Name word0 Type S At 30 472 Range 30 501 Init 30
    // LocalVar   3 added: Name s Type Ljava/lang/String; At 33 397 Range 33 429 Init 33
    // LocalVar   4 added: Name s1 Type Ljava/lang/String; At 37 431 Range 37 467 Init 37
    // LocalVar   5 added: Name s2 Type Ljava/lang/String; At 42 431 Range 42 472 Init 42
    // LocalVar   6 added: Name s3 Type Ljava/lang/String; At 47 431 Range 47 477 Init 47
    // LocalVar   7 added: Name s4 Type Ljava/lang/String; At 52 431 Range 52 482 Init 52
    // LocalVar   8 added: Name s5 Type Ljava/lang/String; At 57 431 Range 57 487 Init 57
    // LocalVar   9 added: Name s6 Type Ljava/lang/String; At 62 431 Range 62 492 Init 62
    // LocalVar  10 added: Name s7 Type Ljava/lang/String; At 67 431 Range 67 497 Init 67
    // LocalVar  11 added: Name s8 Type Ljava/lang/String; At 136 302 Range 136 437 Init 136
    // LocalVar  12 added: Name s9 Type Ljava/lang/String; At 205 238 Range 205 442 Init 205
    // LocalVar  13 added: Name s10 Type Ljava/lang/String; At 210 248 Range 210 457 Init 210
    // LocalVar  14 added: Name s11 Type Ljava/lang/String; At 215 233 Range 215 447 Init 215
    // LocalVar  15 added: Name s12 Type Ljava/lang/String; At 284 169 Range 284 452 Init 284
    // LocalVar  16 added: Name s13 Type Ljava/lang/String; At 289 174 Range 289 462 Init 289
    // LocalVar  17 added: Name s14 Type Ljava/lang/String; At 294 69 Range 294 362 Init 294
    // LocalVar  18 added: Name s15 Type Ljava/lang/String; At 349 165 Range 349 513 Init 349
    // LocalVar  19 added: Name s16 Type Ljava/lang/String; At 404 118 Range 404 521 Init 404
    // LocalVar  20 added: Name s17 Type Ljava/lang/String; At 409 123 Range 409 531 Init 409
    // LocalVar  21 added: Name s18 Type Ljava/lang/String; At 414 113 Range 414 526 Init 414
    // LocalVar  22 added: Name s19 Type Ljava/lang/String; At 419 118 Range 419 536 Init 419
    // LocalVar  23 added: Name s20 Type Ljava/lang/String; At 423 130 Range 423 552 Init 423
    // LocalVar  24 added: Name s21 Type Ljava/lang/String; At 559 5 Range 559 563 Init 559
    // LocalVar  25 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 572 11 Range 572 582 Init 572
    public ResultSet getTypeInfo()
        throws SQLException
    {
        connection.trace("getTypeInfo");
        Statement statement = connection.createStatement();
        short word0 = connection.getVersionNumber();
        String s = "select\n 'NUMBER' as type_name, 2 as data_type, 38 as precision,\n NULL as literal_prefix, NULL as literal_suffix, NULL as create_params,\n 1 as nullable, 0 as case_sensitive, 3 as searchable,\n 0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n 'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s1 = "union select 'NUMBER' as type_name, -7 as data_type, 1 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \n'(1)' as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s2 = "union select 'NUMBER' as type_name, -6 as data_type, 3 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \n'(3)' as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s3 = "union select 'NUMBER' as type_name, 5 as data_type, 5 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \n'(5)' as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s4 = "union select 'NUMBER' as type_name, 4 as data_type, 10 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \n'(10)' as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s5 = "union select 'NUMBER' as type_name, -5 as data_type, 38 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \nNULL as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'NUMBER' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s6 = "union select 'FLOAT' as type_name, 6 as data_type, 63 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \nNULL as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'FLOAT' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s7 = "union select 'REAL' as type_name, 7 as data_type, 63 as precision,\nNULL as literal_prefix, NULL as literal_suffix, \nNULL as create_params, 1 as nullable, 0 as case_sensitive, 3 as searchable,\n0 as unsigned_attribute, 1 as fixed_prec_scale, 0 as auto_increment,\n'REAL' as local_type_name, -84 as minimum_scale, 127 as maximum_scale,\nNULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s8 = "union select\n 'CHAR' as type_name, 1 as data_type, " + (word0 < 8100 ? '\377' : 2000) + " as precision,\n" + " '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n" + " 1 as nullable, 1 as case_sensitive, 3 as searchable,\n" + " 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n" + " 'CHAR' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n" + " NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\n" + "from dual\n";
        String s9 = "union select\n 'VARCHAR2' as type_name, 12 as data_type, " + (word0 < 8100 ? '\u07D0' : 4000) + " as precision,\n" + " '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n" + " 1 as nullable, 1 as case_sensitive, 3 as searchable,\n" + " 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n" + " 'VARCHAR2' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n" + " NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\n" + "from dual\n";
        String s10 = "union select\n 'LONG' as type_name, -1 as data_type, 2147483647 as precision,\n '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n 1 as nullable, 1 as case_sensitive, 0 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'LONG' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s11 = "union select\n 'DATE' as type_name, 93 as data_type, 7 as precision,\n NULL as literal_prefix, NULL as literal_suffix, NULL as create_params,\n 1 as nullable, 0 as case_sensitive, 3 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'DATE' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s12 = "union select\n 'RAW' as type_name, -3 as data_type, " + (word0 < 8100 ? '\377' : 2000) + " as precision,\n" + " '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n" + " 1 as nullable, 0 as case_sensitive, 3 as searchable,\n" + " 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n" + " 'RAW' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n" + " NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\n" + "from dual\n";
        String s13 = "union select\n 'LONG RAW' as type_name, -4 as data_type, 2147483647 as precision,\n '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n 1 as nullable, 0 as case_sensitive, 0 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'LONG RAW' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s14 = getLobPrecision();
        String s15 = "union select\n 'BLOB' as type_name, 2004 as data_type, " + s14 + " as precision,\n" + " null as literal_prefix, null as literal_suffix, NULL as create_params,\n" + " 1 as nullable, 0 as case_sensitive, 0 as searchable,\n" + " 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n" + " 'BLOB' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n" + " NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\n" + "from dual\n";
        String s16 = "union select\n 'CLOB' as type_name, 2005 as data_type, " + s14 + " as precision,\n" + " '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n" + " 1 as nullable, 1 as case_sensitive, 0 as searchable,\n" + " 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n" + " 'CLOB' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n" + " NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\n" + "from dual\n";
        String s17 = "union select\n 'ARRAY' as type_name, 2003 as data_type, 0 as precision,\n '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n 1 as nullable, 1 as case_sensitive, 0 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'ARRAY' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s18 = "union select\n 'REF' as type_name, 2006 as data_type, 0 as precision,\n '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n 1 as nullable, 1 as case_sensitive, 0 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'REF' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s19 = "union select\n 'STRUCT' as type_name, 2002 as data_type, 0 as precision,\n '''' as literal_prefix, '''' as literal_suffix, NULL as create_params,\n 1 as nullable, 1 as case_sensitive, 0 as searchable,\n 0 as unsigned_attribute, 0 as fixed_prec_scale, 0 as auto_increment,\n 'STRUCT' as local_type_name, 0 as minimum_scale, 0 as maximum_scale,\n NULL as sql_data_type, NULL as sql_datetime_sub, 10 as num_prec_radix\nfrom dual\n";
        String s20 = "order by data_type\n";
        String s21 = s + s8 + s9 + s11 + s12 + s10 + s13 + s1 + s2 + s3 + s4 + s5 + s6 + s7 + (word0 < 8100 ? "" : s15 + s16 + s18 + s17 + s19) + s20;
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)statement.executeQuery(s21);
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getUDTs  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 10, #params: 5
    // Code length: 234 bytes, Code offset: 40151
    // Line Number Table found: 34 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 234 Range 0 233 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 234 Range 0 233 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 234 Range 0 233 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 234 Range 0 233 Init 0
    // Parameter  4 added: Name ai Type [I At 0 234 Range 0 233 Init 0
    // RetValue  10 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 234 Range 0 233 Init 0 fixed
    // LocalVar   5 added: Name flag Type Z At 1 123 Range 1 123 Init 1
    // LocalVar   6 added: Name flag1 Type Z At 32 27 Range 32 58 Init 32
    // LocalVar   6 chged: Name i Oname flag1 Type I At 57 2 Range 32 58 Init 32
    // LocalVar   6 added: Name stringbuffer Type Ljava/lang/StringBuffer; At 72 40 Range 72 111 Init 72
    // LocalVar   7 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 120 94 Range 120 213 Init 120
    // LocalVar   8 added: Name as Type [Ljava/lang/String; At 131 24 Range 131 154 Init 131
    // LocalVar   9 added: Name as1 Type [Ljava/lang/String; At 137 30 Range 137 166 Init 137
    // LocalVar   8 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 222 11 Range 222 232 Init 222
    public ResultSet getUDTs(String s, String s1, String s2, int ai[])
        throws SQLException
    {
        boolean flag = false;
        if(s2 == null || s2.length() == 0)
        {
            flag = false;
        } else
        if(ai == null)
        {
            flag = true;
        } else
        {
            for(int i = 0; i < ai.length; i++)
            {
                if(ai[i] != 2002)
                {
                    continue;
                }
                flag = true;
                break;
            }

        }
        StringBuffer stringbuffer = new StringBuffer();
        stringbuffer.append("SELECT NULL AS TYPE_CAT, owner AS TYPE_SCHEM, type_name, NULL AS CLASS_NAME, 'STRUCT' AS DATA_TYPE, NULL AS REMARKS FROM all_types ");
        if(flag)
        {
            stringbuffer.append("WHERE typecode = 'OBJECT' AND owner LIKE ? ESCAPE '/' AND type_name LIKE ? ESCAPE '/'");
        } else
        {
            stringbuffer.append("WHERE 1 = 2");
        }
        PreparedStatement preparedstatement = connection.prepareStatement(stringbuffer.toString());
        if(flag)
        {
            String as[] = new String[1];
            String as1[] = new String[1];
            if(SQLName.parse(s2, as, as1))
            {
                preparedstatement.setString(1, as[0]);
                preparedstatement.setString(2, as1[0]);
            } else
            {
                if(s1 != null)
                {
                    preparedstatement.setString(1, s1);
                } else
                {
                    preparedstatement.setNull(1, 12);
                }
                preparedstatement.setString(2, s2);
            }
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: getURL  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 10 bytes, Code offset: 40565
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 10 Range 0 9 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 10 Range 0 9 Init 0 fixed
    public String getURL()
        throws SQLException
    {
        return connection.getURL();
    }

    // Decompiling method: getUserName  Signature: ()Ljava/lang/String;
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 21 bytes, Code offset: 40623
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 21 Range 0 20 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 21 Range 0 20 Init 0 fixed
    public String getUserName()
        throws SQLException
    {
        connection.trace("getUserName");
        return connection.getUserName();
    }

    // Decompiling method: getVersionColumns  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 3, #locals: 6, #params: 4
    // Code length: 62 bytes, Code offset: 40696
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 62 Range 0 61 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 62 Range 0 61 Init 0
    // RetValue   6 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 62 Range 0 61 Init 0 fixed
    // LocalVar   4 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 11 31 Range 11 41 Init 11
    // LocalVar   5 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 50 11 Range 50 60 Init 50
    public synchronized ResultSet getVersionColumns(String s, String s1, String s2)
        throws SQLException
    {
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT 0 AS scope,\n       t.column_name,\n       DECODE (c.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3,\n               'LONG', -1, 'DATE', 93, 'RAW', -3, 'LONG RAW', -4, 1111)\n              AS data_type,\n       c.data_type AS type_name,\n       DECODE (c.data_precision, null, c.data_length, c.data_precision)\n              AS column_size,\n       0 as buffer_length,\n       c.data_scale as decimal_digits,\n       0 as pseudo_column\nFROM all_trigger_cols t, all_tab_columns c\nWHERE t.table_name = ?\n  AND c.owner like ? escape '/'\n  AND t.table_owner = c.owner\n  AND t.table_name = c.table_name\n  AND t.column_name = c.column_name\n");
        preparedstatement.setString(1, s2);
        preparedstatement.setString(2, s1 != null ? s1 : "%");
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: insertsAreDetected  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 40834
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean insertsAreDetected(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: isCatalogAtStart  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 40884
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean isCatalogAtStart()
        throws SQLException
    {
        connection.trace("isCatalogAtStart");
        return false;
    }

    // Decompiling method: isReadOnly  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 40949
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean isReadOnly()
        throws SQLException
    {
        connection.trace("isReadOnly");
        return false;
    }

    // Decompiling method: keys_query  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
    // Max stack: 4, #locals: 13, #params: 6
    // Code length: 304 bytes, Code offset: 41014
    // Line Number Table found: 36 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 304 Range 0 303 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 304 Range 0 303 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 304 Range 0 303 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 304 Range 0 303 Init 0
    // Parameter  4 added: Name s3 Type Ljava/lang/String; At 0 304 Range 0 303 Init 0
    // Parameter  5 added: Name s4 Type Ljava/lang/String; At 0 304 Range 0 303 Init 0
    // RetValue  13 added: Name <returnValue> Type Ljava/sql/ResultSet; At 0 304 Range 0 303 Init 0 fixed
    // LocalVar   6 added: Name flag Type Z At 1 71 Range 1 71 Init 1
    // LocalVar   6 chged: Name i Oname flag Type I At 9 3 Range 1 71 Init 1
    // LocalVar   7 added: Name flag Type Z At 16 214 Range 16 229 Init 16
    // LocalVar   8 added: Name j Type I At 32 213 Range 32 244 Init 32
    // LocalVar   9 added: Name k Type I At 54 207 Range 54 260 Init 54
    // LocalVar  10 added: Name l Type I At 76 200 Range 76 275 Init 76
    // LocalVar  11 added: Name preparedstatement Type Ljava/sql/PreparedStatement; At 219 65 Range 219 283 Init 219
    // LocalVar   7 chged: Name i1 Oname flag Type I At 228 2 Range 16 229 Init 16
    // LocalVar  12 added: Name oracleresultset Type Loracle/jdbc/internal/OracleResultSet; At 292 11 Range 292 302 Init 292
    ResultSet keys_query(String s, String s1, String s2, String s3, String s4)
        throws SQLException
    {
        int i = 1;
        int j = s1 == null ? 0 : i++;
        int k = s3 == null ? 0 : i++;
        int l = s == null || s.length() <= 0 ? 0 : i++;
        int i1 = s2 == null || s2.length() <= 0 ? 0 : i++;
        PreparedStatement preparedstatement = connection.prepareStatement("SELECT NULL AS pktable_cat,\n       p.owner as pktable_schem,\n       p.table_name as pktable_name,\n       pc.column_name as pkcolumn_name,\n       NULL as fktable_cat,\n       f.owner as fktable_schem,\n       f.table_name as fktable_name,\n       fc.column_name as fkcolumn_name,\n       fc.position as key_seq,\n       NULL as update_rule,\n       decode (f.delete_rule, 'CASCADE', 0, 1) as delete_rule,\n       f.constraint_name as fk_name,\n       p.constraint_name as pk_name,\n       NULL as deferrability\nFROM all_cons_columns pc, all_constraints p,\n     all_cons_columns fc, all_constraints f\nWHERE 1 = 1\n" + (j == 0 ? "" : "  AND p.table_name = ?\n") + (k == 0 ? "" : "  AND f.table_name = ?\n") + (l == 0 ? "" : "  AND p.owner = ?\n") + (i1 == 0 ? "" : "  AND f.owner = ?\n") + "  AND f.constraint_type = 'R'\n" + "  AND p.owner = f.r_owner\n" + "  AND p.constraint_name = f.r_constraint_name\n" + "  AND p.constraint_type = 'P'\n" + "  AND pc.owner = p.owner\n" + "  AND pc.constraint_name = p.constraint_name\n" + "  AND pc.table_name = p.table_name\n" + "  AND fc.owner = f.owner\n" + "  AND fc.constraint_name = f.constraint_name\n" + "  AND fc.table_name = f.table_name\n" + "  AND fc.position = pc.position\n" + s4);
        if(j != 0)
        {
            preparedstatement.setString(j, s1);
        }
        if(k != 0)
        {
            preparedstatement.setString(k, s3);
        }
        if(l != 0)
        {
            preparedstatement.setString(l, s);
        }
        if(i1 != 0)
        {
            preparedstatement.setString(i1, s2);
        }
        oracle.jdbc.internal.OracleResultSet oracleresultset = (oracle.jdbc.internal.OracleResultSet)preparedstatement.executeQuery();
        oracleresultset.closeStatementOnClose();
        return oracleresultset;
    }

    // Decompiling method: nullPlusNonNullIsNull  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 41506
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean nullPlusNonNullIsNull()
        throws SQLException
    {
        connection.trace("nullPlusNonNullIsNull");
        return true;
    }

    // Decompiling method: nullsAreSortedAtEnd  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 41571
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean nullsAreSortedAtEnd()
        throws SQLException
    {
        connection.trace("nullsAreSortedAtEnd");
        return false;
    }

    // Decompiling method: nullsAreSortedAtStart  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 41636
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean nullsAreSortedAtStart()
        throws SQLException
    {
        connection.trace("nullsAreSortedAtStart");
        return false;
    }

    // Decompiling method: nullsAreSortedHigh  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 41701
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean nullsAreSortedHigh()
        throws SQLException
    {
        connection.trace("nullsAreSortedHigh");
        return false;
    }

    // Decompiling method: nullsAreSortedLow  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 41766
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean nullsAreSortedLow()
        throws SQLException
    {
        connection.trace("nullsAreSortedLow");
        return true;
    }

    // Decompiling method: othersDeletesAreVisible  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 41831
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean othersDeletesAreVisible(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: othersInsertsAreVisible  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 41881
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean othersInsertsAreVisible(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: othersUpdatesAreVisible  Signature: (I)Z
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 11 bytes, Code offset: 41931
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 11 Range 0 10 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 11 Range 0 10 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 11 Range 0 10 Init 0 fixed
    public boolean othersUpdatesAreVisible(int i)
        throws SQLException
    {
        return i == 1005;
    }

    // Decompiling method: ownDeletesAreVisible  Signature: (I)Z
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 13 bytes, Code offset: 41998
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 13 Range 0 12 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean ownDeletesAreVisible(int i)
        throws SQLException
    {
        return i != 1003;
    }

    // Decompiling method: ownInsertsAreVisible  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 42059
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean ownInsertsAreVisible(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: ownUpdatesAreVisible  Signature: (I)Z
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 13 bytes, Code offset: 42109
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 13 Range 0 12 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean ownUpdatesAreVisible(int i)
        throws SQLException
    {
        return i != 1003;
    }

    // Decompiling method: setGetLobPrecision  Signature: (Z)V
    // Max stack: 3, #locals: 1, #params: 1
    // Code length: 12 bytes, Code offset: 42170
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name flag Type Z 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 setGetLobPrecision(boolean flag)
        throws SQLException
    {
        s_getLobPrecision = new Boolean(flag);
        return;
    }

    // Decompiling method: storesLowerCaseIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42234
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesLowerCaseIdentifiers()
        throws SQLException
    {
        connection.trace("storesLowerCaseIdentifiers");
        return false;
    }

    // Decompiling method: storesLowerCaseQuotedIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42299
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesLowerCaseQuotedIdentifiers()
        throws SQLException
    {
        connection.trace("storesLowerCaseQuotedIdentifiers");
        return false;
    }

    // Decompiling method: storesMixedCaseIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42364
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesMixedCaseIdentifiers()
        throws SQLException
    {
        connection.trace("storesMixedCaseIdentifiers");
        return false;
    }

    // Decompiling method: storesMixedCaseQuotedIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42429
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesMixedCaseQuotedIdentifiers()
        throws SQLException
    {
        connection.trace("storesMixedCaseQuotedIdentifiers");
        return true;
    }

    // Decompiling method: storesUpperCaseIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42494
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesUpperCaseIdentifiers()
        throws SQLException
    {
        connection.trace("storesUpperCaseIdentifiers");
        return true;
    }

    // Decompiling method: storesUpperCaseQuotedIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42559
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean storesUpperCaseQuotedIdentifiers()
        throws SQLException
    {
        connection.trace("storesUpperCaseQuotedIdentifiers");
        return false;
    }

    // Decompiling method: supportsANSI92EntryLevelSQL  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42624
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsANSI92EntryLevelSQL()
        throws SQLException
    {
        connection.trace("supportsANSI92EntryLevelSQL");
        return true;
    }

    // Decompiling method: supportsANSI92FullSQL  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42689
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsANSI92FullSQL()
        throws SQLException
    {
        connection.trace("supportsANSI92FullSQL");
        return false;
    }

    // Decompiling method: supportsANSI92IntermediateSQL  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42754
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsANSI92IntermediateSQL()
        throws SQLException
    {
        connection.trace("supportsANSI92IntermediateSQL");
        return false;
    }

    // Decompiling method: supportsAlterTableWithAddColumn  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42819
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsAlterTableWithAddColumn()
        throws SQLException
    {
        connection.trace("supportsAlterTableWithAddColumn");
        return true;
    }

    // Decompiling method: supportsAlterTableWithDropColumn  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42884
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsAlterTableWithDropColumn()
        throws SQLException
    {
        connection.trace("supportsAlterTableWithDropColumn");
        return false;
    }

    // Decompiling method: supportsBatchUpdates  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 2 bytes, Code offset: 42949
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean supportsBatchUpdates()
        throws SQLException
    {
        return true;
    }

    // Decompiling method: supportsCatalogsInDataManipulation  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 42999
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCatalogsInDataManipulation()
        throws SQLException
    {
        connection.trace("supportsCatalogsInDataManipulation");
        return false;
    }

    // Decompiling method: supportsCatalogsInIndexDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43064
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCatalogsInIndexDefinitions()
        throws SQLException
    {
        connection.trace("supportsCatalogsInIndexDefinitions");
        return false;
    }

    // Decompiling method: supportsCatalogsInPrivilegeDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43129
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCatalogsInPrivilegeDefinitions()
        throws SQLException
    {
        connection.trace("supportsCatalogsInPrivilegeDefinitions");
        return false;
    }

    // Decompiling method: supportsCatalogsInProcedureCalls  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43194
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCatalogsInProcedureCalls()
        throws SQLException
    {
        connection.trace("supportsCatalogsInProcedureCalls");
        return false;
    }

    // Decompiling method: supportsCatalogsInTableDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43259
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCatalogsInTableDefinitions()
        throws SQLException
    {
        connection.trace("supportsCatalogsInTableDefinitions");
        return false;
    }

    // Decompiling method: supportsColumnAliasing  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43324
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsColumnAliasing()
        throws SQLException
    {
        connection.trace("supportsColumnAliasing");
        return true;
    }

    // Decompiling method: supportsConvert  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43389
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsConvert()
        throws SQLException
    {
        connection.trace("supportsConvert");
        return true;
    }

    // Decompiling method: supportsConvert  Signature: (II)Z
    // Max stack: 2, #locals: 3, #params: 3
    // Code length: 142 bytes, Code offset: 43454
    // Line Number Table found: 13 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 142 Range 0 141 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 142 Range 0 141 Init 0
    // Parameter  2 added: Name j Type I At 0 142 Range 0 141 Init 0
    // RetValue   3 added: Name <returnValue> Type Z At 0 142 Range 0 141 Init 0 fixed
    public boolean supportsConvert(int i, int j)
        throws SQLException
    {
        connection.trace("supportsConvert");
        if(i == j || i == 1 || i == 12 || i == -1 || j == 1 || j == 12 || j == -1)
        {
            return true;
        }
        switch(i)
        {
        case 2: // '\002'
        case 3: // '\003'
            return j == 92 || j == 93 || j == 91;

        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
            return j == 2 || j == 3;
        }
        return false;
    }

    // Decompiling method: supportsCoreSQLGrammar  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43692
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCoreSQLGrammar()
        throws SQLException
    {
        connection.trace("supportsCoreSQLGrammar");
        return true;
    }

    // Decompiling method: supportsCorrelatedSubqueries  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43757
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsCorrelatedSubqueries()
        throws SQLException
    {
        connection.trace("supportsCorrelatedSubqueries");
        return true;
    }

    // Decompiling method: supportsDataDefinitionAndDataManipulationTransactions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43822
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsDataDefinitionAndDataManipulationTransactions()
        throws SQLException
    {
        connection.trace("supportsDataDefinitionAndDataManipulationTransactions");
        return true;
    }

    // Decompiling method: supportsDataManipulationTransactionsOnly  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43887
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsDataManipulationTransactionsOnly()
        throws SQLException
    {
        connection.trace("supportsDataManipulationTransactionsOnly");
        return true;
    }

    // Decompiling method: supportsDifferentTableCorrelationNames  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 43952
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsDifferentTableCorrelationNames()
        throws SQLException
    {
        connection.trace("supportsDifferentTableCorrelationNames");
        return true;
    }

    // Decompiling method: supportsExpressionsInOrderBy  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44017
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsExpressionsInOrderBy()
        throws SQLException
    {
        connection.trace("supportsExpressionsInOrderBy");
        return true;
    }

    // Decompiling method: supportsExtendedSQLGrammar  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44082
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsExtendedSQLGrammar()
        throws SQLException
    {
        connection.trace("supportsExtendedSQLGrammar");
        return true;
    }

    // Decompiling method: supportsFullOuterJoins  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44147
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsFullOuterJoins()
        throws SQLException
    {
        connection.trace("supportsFullOuterJoins");
        return true;
    }

    // Decompiling method: supportsGroupBy  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44212
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsGroupBy()
        throws SQLException
    {
        connection.trace("supportsGroupBy");
        return true;
    }

    // Decompiling method: supportsGroupByBeyondSelect  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44277
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsGroupByBeyondSelect()
        throws SQLException
    {
        connection.trace("supportsGroupByBeyondSelect");
        return true;
    }

    // Decompiling method: supportsGroupByUnrelated  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44342
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsGroupByUnrelated()
        throws SQLException
    {
        connection.trace("supportsGroupByUnrelated");
        return true;
    }

    // Decompiling method: supportsIntegrityEnhancementFacility  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44407
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsIntegrityEnhancementFacility()
        throws SQLException
    {
        connection.trace("supportsIntegrityEnhancementFacility");
        return true;
    }

    // Decompiling method: supportsLikeEscapeClause  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44472
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsLikeEscapeClause()
        throws SQLException
    {
        connection.trace("supportsLikeEscapeClause");
        return true;
    }

    // Decompiling method: supportsLimitedOuterJoins  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44537
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsLimitedOuterJoins()
        throws SQLException
    {
        connection.trace("supportsLimitedOuterJoins");
        return true;
    }

    // Decompiling method: supportsMinimumSQLGrammar  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44602
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsMinimumSQLGrammar()
        throws SQLException
    {
        connection.trace("supportsMinimumSQLGrammar");
        return true;
    }

    // Decompiling method: supportsMixedCaseIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44667
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsMixedCaseIdentifiers()
        throws SQLException
    {
        connection.trace("supportsMixedCaseIdentifiers");
        return false;
    }

    // Decompiling method: supportsMixedCaseQuotedIdentifiers  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44732
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsMixedCaseQuotedIdentifiers()
        throws SQLException
    {
        connection.trace("supportsMixedCaseQuotedIdentifiers");
        return true;
    }

    // Decompiling method: supportsMultipleResultSets  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44797
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsMultipleResultSets()
        throws SQLException
    {
        connection.trace("supportsMultipleResultSets");
        return false;
    }

    // Decompiling method: supportsMultipleTransactions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44862
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsMultipleTransactions()
        throws SQLException
    {
        connection.trace("supportsMultipleTransactions");
        return true;
    }

    // Decompiling method: supportsNonNullableColumns  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44927
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsNonNullableColumns()
        throws SQLException
    {
        connection.trace("supportsNonNullableColumns");
        return true;
    }

    // Decompiling method: supportsOpenCursorsAcrossCommit  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 44992
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOpenCursorsAcrossCommit()
        throws SQLException
    {
        connection.trace("supportsOpenCursorsAcrossCommit");
        return false;
    }

    // Decompiling method: supportsOpenCursorsAcrossRollback  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45057
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOpenCursorsAcrossRollback()
        throws SQLException
    {
        connection.trace("supportsOpenCursorsAcrossRollback");
        return false;
    }

    // Decompiling method: supportsOpenStatementsAcrossCommit  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45122
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOpenStatementsAcrossCommit()
        throws SQLException
    {
        connection.trace("supportsOpenStatementsAcrossCommit");
        return false;
    }

    // Decompiling method: supportsOpenStatementsAcrossRollback  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45187
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOpenStatementsAcrossRollback()
        throws SQLException
    {
        connection.trace("supportsOpenStatementsAcrossRollback");
        return false;
    }

    // Decompiling method: supportsOrderByUnrelated  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45252
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOrderByUnrelated()
        throws SQLException
    {
        connection.trace("supportsOrderByUnrelated");
        return true;
    }

    // Decompiling method: supportsOuterJoins  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45317
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsOuterJoins()
        throws SQLException
    {
        connection.trace("supportsOuterJoins");
        return true;
    }

    // Decompiling method: supportsPositionedDelete  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45382
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsPositionedDelete()
        throws SQLException
    {
        connection.trace("supportsPositionedDelete");
        return true;
    }

    // Decompiling method: supportsPositionedUpdate  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45447
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsPositionedUpdate()
        throws SQLException
    {
        connection.trace("supportsPositionedUpdate");
        return true;
    }

    // Decompiling method: supportsResultSetConcurrency  Signature: (II)Z
    // Max stack: 1, #locals: 3, #params: 3
    // Code length: 2 bytes, Code offset: 45512
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // Parameter  2 added: Name j Type I At 0 2 Range 0 1 Init 0
    // RetValue   3 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean supportsResultSetConcurrency(int i, int j)
        throws SQLException
    {
        return true;
    }

    // Decompiling method: supportsResultSetType  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 45562
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean supportsResultSetType(int i)
        throws SQLException
    {
        return true;
    }

    // Decompiling method: supportsSchemasInDataManipulation  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45612
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSchemasInDataManipulation()
        throws SQLException
    {
        connection.trace("supportsSchemasInDataManipulation");
        return true;
    }

    // Decompiling method: supportsSchemasInIndexDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45677
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSchemasInIndexDefinitions()
        throws SQLException
    {
        connection.trace("supportsSchemasInIndexDefinitions");
        return true;
    }

    // Decompiling method: supportsSchemasInPrivilegeDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45742
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSchemasInPrivilegeDefinitions()
        throws SQLException
    {
        connection.trace("supportsSchemasInPrivilegeDefinitions");
        return true;
    }

    // Decompiling method: supportsSchemasInProcedureCalls  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45807
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSchemasInProcedureCalls()
        throws SQLException
    {
        connection.trace("supportsSchemasInProcedureCalls");
        return true;
    }

    // Decompiling method: supportsSchemasInTableDefinitions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45872
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSchemasInTableDefinitions()
        throws SQLException
    {
        connection.trace("supportsSchemasInTableDefinitions");
        return true;
    }

    // Decompiling method: supportsSelectForUpdate  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 45937
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSelectForUpdate()
        throws SQLException
    {
        connection.trace("supportsSelectForUpdate");
        return true;
    }

    // Decompiling method: supportsStoredProcedures  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46002
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsStoredProcedures()
        throws SQLException
    {
        connection.trace("supportsStoredProcedures");
        return true;
    }

    // Decompiling method: supportsSubqueriesInComparisons  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46067
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSubqueriesInComparisons()
        throws SQLException
    {
        connection.trace("supportsSubqueriesInComparisons");
        return true;
    }

    // Decompiling method: supportsSubqueriesInExists  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46132
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSubqueriesInExists()
        throws SQLException
    {
        connection.trace("supportsSubqueriesInExists");
        return true;
    }

    // Decompiling method: supportsSubqueriesInIns  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46197
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSubqueriesInIns()
        throws SQLException
    {
        connection.trace("supportsSubqueriesInIns");
        return true;
    }

    // Decompiling method: supportsSubqueriesInQuantifieds  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46262
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsSubqueriesInQuantifieds()
        throws SQLException
    {
        connection.trace("supportsSubqueriesInQuantifieds");
        return true;
    }

    // Decompiling method: supportsTableCorrelationNames  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 46327
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 13 Range 0 12 Init 0 fixed
    public boolean supportsTableCorrelationNames()
        throws SQLException
    {
        connection.trace("supportsTableCorrelationNames");
        return true;
    }

    // Decompiling method: supportsTransactionIsolationLevel  Signature: (I)Z
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 29 bytes, Code offset: 46392
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 29 Range 0 28 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 29 Range 0 28 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 29 Range 0 28 Init 0 fixed
    public boolean supportsTransactionIsolationLevel(int i)
        throws SQLException
    {
        connection.trace("supportsTransactionIsolationLevel");
        return i == 2 || i == 8;
    }

    // Decompiling method: supportsTransactions  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 46481
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 14 Range 0 13 Init 0 fixed
    public boolean supportsTransactions()
        throws SQLException
    {
        connection.trace("supportsTransactions");
        return true;
    }

    // Decompiling method: supportsUnion  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 46547
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 14 Range 0 13 Init 0 fixed
    public boolean supportsUnion()
        throws SQLException
    {
        connection.trace("supportsUnion");
        return true;
    }

    // Decompiling method: supportsUnionAll  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 46613
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 14 Range 0 13 Init 0 fixed
    public boolean supportsUnionAll()
        throws SQLException
    {
        connection.trace("supportsUnionAll");
        return true;
    }

    // Decompiling method: updatesAreDetected  Signature: (I)Z
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 46679
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 2 Range 0 1 Init 0 fixed
    public boolean updatesAreDetected(int i)
        throws SQLException
    {
        return false;
    }

    // Decompiling method: usesLocalFilePerTable  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 46729
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 14 Range 0 13 Init 0 fixed
    public boolean usesLocalFilePerTable()
        throws SQLException
    {
        connection.trace("usesLocalFilePerTable");
        return false;
    }

    // Decompiling method: usesLocalFiles  Signature: ()Z
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 46795
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/OracleDatabaseMetaData; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 14 Range 0 13 Init 0 fixed
    public boolean usesLocalFiles()
        throws SQLException
    {
        connection.trace("usesLocalFiles");
        return false;
    }

    // Decompiling method: <clinit>  Signature: ()V
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 34 bytes, Code offset: 29400
    // Line Number Table found: 8 entries
    // RetValue   0 added: Name <returnValue> Type V At 0 34 Range 0 33 Init 0 fixed
    static 
    {
        /* DRIVER_NAME = "Oracle JDBC driver"; */
        /* DRIVER_VERSION = "9.0.1.1.0"; */
        /* DRIVER_MAJOR_VERSION = 9; */
        /* DRIVER_MINOR_VERSION = 0; */
        /* LOB_MAXSIZE = "4294967295"; */
        /* GET_LOB_PRECISION = "oracledatabasemetadata.get_lob_precision"; */
        /* s_getLobPrecision = null; */
    }
}
