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

package oracle.jdbc.driver;

import java.io.IOException;
import java.io.PrintStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Types;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.Hashtable;
import java.util.Map;
import java.util.Properties;
import java.util.TimeZone;
import oracle.jdbc.Const;
import oracle.jdbc.OracleDatabaseMetaData;
import oracle.jdbc.OracleOCIFailover;
import oracle.jdbc.dbaccess.DBAccess;
import oracle.jdbc.dbaccess.DBConversion;
import oracle.jdbc.dbaccess.DBError;
import oracle.jdbc.oracore.Util;
import oracle.jdbc.pool.OracleOCIConnectionPool;
import oracle.jdbc.pool.OraclePooledConnection;
import oracle.sql.BfileDBAccess;
import oracle.sql.BlobDBAccess;
import oracle.sql.ClobDBAccess;
import oracle.sql.LobDBAccessImpl;

// Referenced classes of package oracle.jdbc.driver:
//            ClientDataSupport, LRUStmtCache, OracleCallableStatement, OracleCloseCallback, 
//            OracleDatabaseMetaData, OracleDriver, OracleLog, OraclePreparedStatement, 
//            OracleSql, OracleStatement, ResultSetUtil

// flag ACC_SUPER is set
public class OracleConnection
    implements oracle.jdbc.internal.OracleConnection, ClientDataSupport
{
    // Constants:          884
    // Interfaces:         2
    // Fields:             71
    // Methods:            128
    // Class Attributes:   1


    public static final boolean DEBUG = false;
    private static String dll_string = "dll";
    private String url;
    private String user;
    private String password;
    protected String database;
    private boolean auto_commit;
    private String protocol;
    public DBAccess db_access;
    public DBConversion conversion;
    public LobDBAccessImpl lob_dbaccess;
    public boolean XA_wants_error;
    public boolean UsingXA;
    private byte fdo[];
    private Boolean big_endian;
    Hashtable statement_table;
    protected boolean closed;
    private boolean m_clientIdSet;
    private String m_clientId;
    int default_batch;
    int default_row_prefetch;
    boolean report_remarks;
    boolean include_synonyms;
    boolean restrict_getTables;
    boolean m_accumulateBatchResult;
    private int trans_level;
    Map map;
    Map m_javaObjectMap;
    Hashtable descriptorCache;
    OracleStatement statement_holding_line;
    OracleDatabaseMetaData m_dbMetaData;
    private boolean physicalStatus;
    private boolean logicalHandle;
    private OraclePooledConnection m_opc;
    private OracleConnection m_opc_oc;
    static int DEFAULT_ROW_PREFETCH = 10;
    private static OracleSql s_osql = null;
    SQLWarning m_warning;
    private int m_stmtCacheSize;
    private LRUStmtCache m_stmtCache;
    boolean m_stmtClearMetaData;
    boolean m_defaultAutoRefetch;
    private OracleCloseCallback m_occ;
    private Object m_privData;
    boolean defaultFixedString;
    private static boolean m_traceEnabled = false;
    static final int BINARYSTREAM = 0;
    static final int ASCIISTREAM = 1;
    static final int UNICODESTREAM = 2;
    static final int EOJ_NON = 0;
    static final int EOJ_B_TO_A = 1;
    static final int EOJ_B_TO_U = 2;
    static final int EOJ_A_TO_U = 3;
    static final int EOJ_8_TO_A = 4;
    static final int EOJ_8_TO_U = 5;
    static final int EOJ_U_TO_A = 6;
    static final int ASCII_CHARSET = 0;
    static final int NLS_CHARSET = 1;
    public static final int CHAR_TO_ASCII = 0;
    public static final int CHAR_TO_UNICODE = 1;
    public static final int RAW_TO_ASCII = 2;
    public static final int RAW_TO_UNICODE = 3;
    public static final int UNICODE_TO_CHAR = 4;
    public static final int ASCII_TO_CHAR = 5;
    public static final int NONE = 6;
    public static final int JAVACHAR_TO_CHAR = 7;
    public static final int RAW_TO_JAVACHAR = 8;
    public static final int CHAR_TO_JAVACHAR = 9;
    private Hashtable m_clientData;
    private String m_sessionTimeZone;
    private Calendar m_dbTzCalendar;

    // Decompiling method: <init>  Signature: (Loracle/jdbc/dbaccess/DBAccess;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)V
    // Max stack: 9, #locals: 11, #params: 7
    // Code length: 281 bytes, Code offset: 12840
    // Exception table: 4 entries
    //           start  139 end 247 handler 250 type IOException
    //           start  139 end 247 handler 260 type SQLException
    //           start  262 end 269 handler 272 type IOException
    //           start  262 end 269 handler 276 type SQLException
    // Line Number Table found: 51 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 281 Range 0 280 Init 0 fixed
    // Parameter  1 added: Name dbaccess Type Loracle/jdbc/dbaccess/DBAccess; At 0 281 Range 0 280 Init 0
    // Parameter  2 added: Name s Type Ljava/lang/String; At 0 281 Range 0 280 Init 0
    // Parameter  3 added: Name s1 Type Ljava/lang/String; At 0 281 Range 0 280 Init 0
    // Parameter  4 added: Name s2 Type Ljava/lang/String; At 0 281 Range 0 280 Init 0
    // Parameter  5 added: Name s3 Type Ljava/lang/String; At 0 281 Range 0 280 Init 0
    // Parameter  6 added: Name properties Type Ljava/util/Properties; At 0 281 Range 0 280 Init 0
    // RetValue  11 added: Name <returnValue> Type V At 0 281 Range 0 280 Init 0 fixed
    // LocalVar   7 added: Name obj Type A At 95 30 Range 95 124 Init 95
    // LocalVar   8 added: Name obj1 Type A At 98 2 Range 98 99 Init 98
    // LocalVar   9 added: Name flag Type Z At 101 135 Range 101 235 Init 101
    // LocalVar   7 chged: Name s4 Oname obj Type Ljava/lang/String; At 118 7 Range 95 124 Init 95
    // LocalVar   8 added: Name s5 Type Ljava/lang/String; At 212 9 Range 212 220 Init 212
    // LocalVar  10 added: Name ioexception Type Ljava/io/IOException; At 250 4 Range 250 253 Init 250
    // LocalVar  10 added: Name sqlexception Type Ljava/sql/SQLException; At 260 19 Range 260 278 Init 260
    public OracleConnection(DBAccess dbaccess, String s, String s1, String s2, String s3, Properties properties)
        throws SQLException
    {
        super();
        m_clientIdSet = false;
        m_clientId = null;
        include_synonyms = false;
        restrict_getTables = false;
        m_accumulateBatchResult = true;
        m_dbMetaData = null;
        m_opc = null;
        m_opc_oc = null;
        m_warning = null;
        m_stmtCacheSize = 0;
        m_stmtCache = null;
        m_stmtClearMetaData = false;
        m_defaultAutoRefetch = true;
        m_occ = null;
        m_privData = null;
        defaultFixedString = false;
        m_sessionTimeZone = null;
        m_dbTzCalendar = null;
        String s4 = null;
        Object obj = null;
        boolean flag = true;
        if(properties != null)
        {
            s4 = (String)properties.get("protocol");
        }
        initialize(s, s1, s4, dbaccess, null, null, null, s3);
        logicalHandle = false;
        try
        {
            needLine();
            conversion = db_access.logon(s1, s2, s3, properties);
            m_warning = db_access.getWarnings();
            if(properties == null || properties.getProperty("connection_pool") != "connection_pool")
            {
                default_row_prefetch = db_access.getDefaultPrefetch();
                if(properties != null)
                {
                    String s5 = properties.getProperty("autoCommit");
                    if(s5 != null && s5.equalsIgnoreCase("false"))
                    {
                        flag = false;
                    }
                }
                setAutoCommit(flag);
                db_access.initNls(this);
            }
        }
        catch(IOException ioexception)
        {
            DBError.throwSqlException(ioexception);
        }
        catch(SQLException sqlexception)
        {
            try
            {
                db_access.logoff();
            }
            catch(IOException _ex) { }
            catch(SQLException _ex) { }
            throw sqlexception;
        }
        return;
    }

    // Decompiling method: <init>  Signature: (Loracle/jdbc/pool/OraclePooledConnection;Loracle/jdbc/driver/OracleConnection;Z)V
    // Max stack: 9, #locals: 5, #params: 4
    // Code length: 248 bytes, Code offset: 13401
    // Exception table: 1 entries
    //           start  212 end 232 handler 232 type IOException
    // Line Number Table found: 39 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 248 Range 0 247 Init 0 fixed
    // Parameter  1 added: Name oraclepooledconnection Type Loracle/jdbc/pool/OraclePooledConnection; At 0 248 Range 0 247 Init 0
    // Parameter  2 added: Name oracleconnection Type Loracle/jdbc/driver/OracleConnection; At 0 248 Range 0 247 Init 0
    // Parameter  3 added: Name flag Type Z At 0 248 Range 0 247 Init 0
    // RetValue   5 added: Name <returnValue> Type V At 0 248 Range 0 247 Init 0 fixed
    // LocalVar   4 added: Name ioexception Type Ljava/io/IOException; At 232 8 Range 232 239 Init 232
    public OracleConnection(OraclePooledConnection oraclepooledconnection, OracleConnection oracleconnection, boolean flag)
        throws SQLException
    {
        super();
        m_clientIdSet = false;
        m_clientId = null;
        include_synonyms = false;
        restrict_getTables = false;
        m_accumulateBatchResult = true;
        m_dbMetaData = null;
        m_opc = null;
        m_opc_oc = null;
        m_warning = null;
        m_stmtCacheSize = 0;
        m_stmtCache = null;
        m_stmtClearMetaData = false;
        m_defaultAutoRefetch = true;
        m_occ = null;
        m_privData = null;
        defaultFixedString = false;
        m_sessionTimeZone = null;
        m_dbTzCalendar = null;
        initialize(oracleconnection.url, oracleconnection.user, oracleconnection.protocol, oracleconnection.db_access, oracleconnection.descriptorCache, oracleconnection.map, oracleconnection.m_javaObjectMap, null);
        logicalHandle = true;
        m_opc = oraclepooledconnection;
        m_opc_oc = oracleconnection;
        conversion = oracleconnection.conversion;
        if(oracleconnection.isStmtCacheEnabled() && oracleconnection.m_stmtCacheSize == 0 && oracleconnection.m_stmtCache != null)
        {
            oracleconnection.m_stmtCache.close();
            oracleconnection.m_stmtCache = null;
        }
        setAutoCommit(flag);
        if(getProtocolType().equals("oci") || getProtocolType().equals("oci8"))
        {
            try
            {
                if(db_access.getVersion() == null)
                {
                    throw new SQLException("Connection Closed");
                }
            }
            catch(IOException ioexception)
            {
                throw new SQLException(ioexception.getMessage());
            }
        }
        return;
    }

    // Decompiling method: _getPC  Signature: ()Ljava/sql/Connection;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 14 bytes, Code offset: 13857
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 14 Range 0 13 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Connection; At 0 14 Range 0 13 Init 0 fixed
    public synchronized Connection _getPC()
    {
        if(logicalHandle)
        {
            return m_opc_oc;
        } else
        {
            return null;
        }
    }

    // Decompiling method: add_statement  Signature: (Ljava/sql/Statement;)V
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 11 bytes, Code offset: 13917
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 11 Range 0 10 Init 0 fixed
    // Parameter  1 added: Name statement Type Ljava/sql/Statement; At 0 11 Range 0 10 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 11 Range 0 10 Init 0 fixed
    synchronized void add_statement(Statement statement)
    {
        statement_table.put(statement, statement);
        return;
    }

    // Decompiling method: archive  Signature: (IILjava/lang/String;)V
    // Max stack: 4, #locals: 4, #params: 4
    // Code length: 23 bytes, Code offset: 13970
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 23 Range 0 22 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 23 Range 0 22 Init 0
    // Parameter  2 added: Name j Type I At 0 23 Range 0 22 Init 0
    // Parameter  3 added: Name s Type Ljava/lang/String; At 0 23 Range 0 22 Init 0
    // RetValue   4 added: Name <returnValue> Type V At 0 23 Range 0 22 Init 0 fixed
    public synchronized void archive(int i, int j, String s)
        throws SQLException
    {
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        db_access.archive(i, j, s);
        return;
    }

    // Decompiling method: assertComplete  Signature: ()V
    // Max stack: 0, #locals: 1, #params: 1
    // Code length: 1 bytes, Code offset: 14053
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 1 Range 0 0 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 1 Range 0 0 Init 0 fixed
    public void assertComplete()
        throws SQLException
    {
        return;
    }

    // Decompiling method: cacheStatement  Signature: (Loracle/jdbc/driver/OracleStatement;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 16 bytes, Code offset: 14102
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 16 Range 0 15 Init 0 fixed
    // Parameter  1 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 0 16 Range 0 15 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 16 Range 0 15 Init 0 fixed
    synchronized void cacheStatement(OracleStatement oraclestatement)
        throws SQLException
    {
        if(m_stmtCache != null)
        {
            m_stmtCache.add(oraclestatement);
        }
        return;
    }

    // Decompiling method: checkPhyiscalStatus  Signature: ()V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 13 bytes, Code offset: 14174
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 13 Range 0 12 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 13 Range 0 12 Init 0 fixed
    private void checkPhyiscalStatus()
        throws SQLException
    {
        if(!physicalStatus)
        {
            DBError.throwSqlException(73);
        }
        return;
    }

    // Decompiling method: cleanup  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 50 bytes, Code offset: 14243
    // Line Number Table found: 11 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 50 Range 0 49 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 50 Range 0 49 Init 0 fixed
    private void cleanup()
    {
        fdo = null;
        db_access = null;
        conversion = null;
        statement_table = null;
        descriptorCache = null;
        map = null;
        m_javaObjectMap = null;
        statement_holding_line = null;
        m_opc = null;
        s_osql = null;
        return;
    }

    // Decompiling method: clearClientIdentifier  Signature: (Ljava/lang/String;)V
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 17 bytes, Code offset: 14371
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 17 Range 0 16 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 17 Range 0 16 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 17 Range 0 16 Init 0 fixed
    public void clearClientIdentifier(String s)
        throws SQLException
    {
        if(m_clientIdSet)
        {
            db_access.clearClientIdentifier(this, s);
        }
        return;
    }

    // Decompiling method: clearWarnings  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 14444
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void clearWarnings()
        throws SQLException
    {
        m_warning = null;
        return;
    }

    // Decompiling method: close  Signature: ()V
    // Max stack: 3, #locals: 2, #params: 1
    // Code length: 119 bytes, Code offset: 14502
    // Exception table: 1 entries
    //           start  70 end 90 handler 93 type IOException
    // Line Number Table found: 22 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 119 Range 0 118 Init 0 fixed
    // RetValue   2 added: Name <returnValue> Type V At 0 119 Range 0 118 Init 0 fixed
    // LocalVar   1 added: Name ioexception Type Ljava/io/IOException; At 93 2 Range 93 94 Init 93
    public synchronized void close()
        throws SQLException
    {
        if(closed)
        {
            return;
        }
        if(m_occ != null)
        {
            m_occ.beforeClose(this, m_privData);
        }
        close_statements();
        closed = true;
        if(logicalHandle)
        {
            logicalClose();
            if(m_occ != null)
            {
                m_occ.afterClose(m_privData);
            }
            return;
        }
        try
        {
            XA_wants_error = false;
            needLine();
            db_access.logoff();
            cleanup();
        }
        catch(IOException ioexception)
        {
            DBError.throwSqlException(ioexception);
        }
        if(m_occ != null)
        {
            m_occ.afterClose(m_privData);
        }
        return;
    }

    // Decompiling method: close_statements  Signature: ()V
    // Max stack: 2, #locals: 3, #params: 1
    // Code length: 132 bytes, Code offset: 14761
    // Line Number Table found: 22 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 132 Range 0 131 Init 0 fixed
    // RetValue   3 added: Name <returnValue> Type V At 0 132 Range 0 131 Init 0 fixed
    // LocalVar   1 added: Name enumeration Type Ljava/util/Enumeration; At 46 37 Range 46 82 Init 46
    // LocalVar   1 added: Name enumeration1 Type Ljava/util/Enumeration; At 98 25 Range 98 122 Init 98
    // LocalVar   2 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 59 18 Range 59 76 Init 59
    // LocalVar   2 added: Name obj Type A At 81 1 Range 81 81 Init 81
    // LocalVar   2 added: Name oraclestatement1 Type Loracle/jdbc/driver/OracleStatement; At 111 6 Range 111 116 Init 111
    // LocalVar   2 added: Name obj1 Type A At 121 1 Range 121 121 Init 121
    // LocalVar   2 name obj(A) merged out into oraclestatement(Loracle/jdbc/driver/OracleStatement;)
    // LocalVar   2 name obj1(A) merged out into oraclestatement1(Loracle/jdbc/driver/OracleStatement;)
    public synchronized void close_statements()
        throws SQLException
    {
        if(m_stmtCacheSize > 0 && !logicalHandle)
        {
            m_stmtCacheSize = 0;
            m_stmtClearMetaData = true;
            m_stmtCache.close();
            m_stmtCache = null;
        } else
        {
            for(Enumeration enumeration = statement_table.elements(); enumeration.hasMoreElements();)
            {
                OracleStatement oraclestatement = (OracleStatement)enumeration.nextElement();
                if(oraclestatement != null && oraclestatement.serverCursor)
                {
                    oraclestatement.close();
                    remove_statement(oraclestatement);
                    oraclestatement = null;
                }
            }

            for(Enumeration enumeration1 = statement_table.elements(); enumeration1.hasMoreElements();)
            {
                OracleStatement oraclestatement1 = (OracleStatement)enumeration1.nextElement();
                if(oraclestatement1 != null)
                {
                    oraclestatement1.close();
                    oraclestatement1 = null;
                }
            }

        }
        return;
    }

    // Decompiling method: commit  Signature: ()V
    // Max stack: 1, #locals: 3, #params: 1
    // Code length: 90 bytes, Code offset: 15025
    // Exception table: 1 entries
    //           start  70 end 81 handler 84 type IOException
    // Line Number Table found: 17 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 90 Range 0 89 Init 0 fixed
    // RetValue   3 added: Name <returnValue> Type V At 0 90 Range 0 89 Init 0 fixed
    // LocalVar   1 added: Name enumeration Type Ljava/util/Enumeration; At 42 20 Range 42 61 Init 42
    // LocalVar   2 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 55 2 Range 55 56 Init 55
    // LocalVar   2 added: Name ioexception Type Ljava/io/IOException; At 84 2 Range 84 85 Init 84
    public synchronized void commit()
        throws SQLException
    {
        checkPhyiscalStatus();
        if(XA_wants_error || UsingXA)
        {
            DBError.throwSqlException(69);
        }
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        OracleStatement oraclestatement;
        for(Enumeration enumeration = statement_table.elements(); enumeration.hasMoreElements(); oraclestatement.sendBatch())
        {
            oraclestatement = (OracleStatement)enumeration.nextElement();
        }

        try
        {
            needLine();
            db_access.commit();
        }
        catch(IOException ioexception)
        {
            DBError.throwSqlException(ioexception);
        }
        return;
    }

    // Decompiling method: createBfileDBAccess  Signature: ()Loracle/sql/BfileDBAccess;
    // Max stack: 4, #locals: 1, #params: 1
    // Code length: 24 bytes, Code offset: 15235
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Loracle/sql/BfileDBAccess; At 0 24 Range 0 23 Init 0 fixed
    public synchronized BfileDBAccess createBfileDBAccess()
        throws SQLException
    {
        if(lob_dbaccess == null)
        {
            lob_dbaccess = new LobDBAccessImpl(this);
        }
        return lob_dbaccess;
    }

    // Decompiling method: createBlobDBAccess  Signature: ()Loracle/sql/BlobDBAccess;
    // Max stack: 4, #locals: 1, #params: 1
    // Code length: 24 bytes, Code offset: 15315
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Loracle/sql/BlobDBAccess; At 0 24 Range 0 23 Init 0 fixed
    public synchronized BlobDBAccess createBlobDBAccess()
        throws SQLException
    {
        if(lob_dbaccess == null)
        {
            lob_dbaccess = new LobDBAccessImpl(this);
        }
        return lob_dbaccess;
    }

    // Decompiling method: createClobDBAccess  Signature: ()Loracle/sql/ClobDBAccess;
    // Max stack: 4, #locals: 1, #params: 1
    // Code length: 24 bytes, Code offset: 15395
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Loracle/sql/ClobDBAccess; At 0 24 Range 0 23 Init 0 fixed
    public synchronized ClobDBAccess createClobDBAccess()
        throws SQLException
    {
        if(lob_dbaccess == null)
        {
            lob_dbaccess = new LobDBAccessImpl(this);
        }
        return lob_dbaccess;
    }

    // Decompiling method: createStatement  Signature: ()Ljava/sql/Statement;
    // Max stack: 4, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 15475
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 8 Range 0 7 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Statement; At 0 8 Range 0 7 Init 0 fixed
    public synchronized Statement createStatement()
        throws SQLException
    {
        return privateCreateStatement(-1, -1, null);
    }

    // Decompiling method: createStatement  Signature: (II)Ljava/sql/Statement;
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 8 bytes, Code offset: 15531
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 8 Range 0 7 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 8 Range 0 7 Init 0
    // Parameter  2 added: Name j Type I At 0 8 Range 0 7 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/sql/Statement; At 0 8 Range 0 7 Init 0 fixed
    public synchronized Statement createStatement(int i, int j)
        throws SQLException
    {
        return privateCreateStatement(i, j, null);
    }

    // Decompiling method: createStatementWithKey  Signature: (Ljava/lang/String;)Ljava/sql/Statement;
    // Max stack: 4, #locals: 2, #params: 2
    // Code length: 46 bytes, Code offset: 15595
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 46 Range 0 45 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 46 Range 0 45 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/Statement; At 0 46 Range 0 45 Init 0 fixed
    public synchronized Statement createStatementWithKey(String s)
        throws SQLException
    {
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(s != null && m_stmtCacheSize <= 0)
        {
            DBError.throwSqlException(95);
        }
        if(s == null)
        {
            return null;
        } else
        {
            return privateCreateStatement(-1, -1, s);
        }
    }

    // Decompiling method: getAutoClose  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 2 bytes, Code offset: 15717
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; 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 getAutoClose()
        throws SQLException
    {
        return true;
    }

    // Decompiling method: getAutoCommit  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 15767
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean getAutoCommit()
        throws SQLException
    {
        return auto_commit;
    }

    // Decompiling method: getBigEndian  Signature: ()Z
    // Max stack: 4, #locals: 4, #params: 1
    // Code length: 87 bytes, Code offset: 15820
    // Line Number Table found: 11 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 87 Range 0 86 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Z At 0 87 Range 0 86 Init 0 fixed
    // LocalVar   1 added: Name ai Type [I At 15 9 Range 15 23 Init 15
    // LocalVar   2 added: Name i Type I At 31 2 Range 31 32 Init 31
    // LocalVar   3 added: Name byte0 Type B At 37 12 Range 37 48 Init 37
    // LocalVar   3 chged: Name j Oname byte0 Type I At 47 2 Range 37 48 Init 37
    public synchronized boolean getBigEndian()
        throws SQLException
    {
        if(big_endian == null)
        {
            int ai[] = Util.toJavaUnsignedBytes(getFDO(true));
            int i = ai[6 + ai[5] + ai[6] + 5];
            int j = (byte)(i & 0x10);
            if(j < 0)
            {
                j += 256;
            }
            if(j > 0)
            {
                big_endian = new Boolean(true);
            } else
            {
                big_endian = new Boolean(false);
            }
        }
        return big_endian.booleanValue();
    }

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

    // Decompiling method: getClientData  Signature: (Ljava/lang/Object;)Ljava/lang/Object;
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 18 bytes, Code offset: 16045
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 18 Range 0 17 Init 0 fixed
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 18 Range 0 17 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/lang/Object; At 0 18 Range 0 17 Init 0 fixed
    public synchronized Object getClientData(Object obj)
    {
        if(m_clientData == null)
        {
            return null;
        } else
        {
            return m_clientData.get(obj);
        }
    }

    // Decompiling method: getCreateStatementAsRefCursor  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 16109
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 8 Range 0 7 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 8 Range 0 7 Init 0 fixed
    public boolean getCreateStatementAsRefCursor()
    {
        return db_access.getCreateStatementAsRefCursor();
    }

    // Decompiling method: getDBAccessProperties  Signature: ()Ljava/util/Properties;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 17 bytes, Code offset: 16155
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 17 Range 0 16 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/util/Properties; At 0 17 Range 0 16 Init 0 fixed
    public Properties getDBAccessProperties()
        throws SQLException
    {
        if(db_access == null)
        {
            return null;
        } else
        {
            return db_access.getDBAccessProperties();
        }
    }

    // Decompiling method: getDatabaseProductVersion  Signature: ()Ljava/lang/String;
    // Max stack: 3, #locals: 3, #params: 1
    // Code length: 30 bytes, Code offset: 16228
    // Exception table: 1 entries
    //           start  4 end 27 handler 27 type IOException
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 30 Range 0 29 Init 0 fixed
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/String; At 0 30 Range 0 29 Init 0 fixed
    // LocalVar   1 added: Name ai Type [I At 3 1 Range 3 3 Init 3
    // LocalVar   2 added: Name abyte0 Type [B At 15 7 Range 15 21 Init 15
    public String getDatabaseProductVersion()
        throws SQLException
    {
        int ai[] = new int[1];
        try
        {
            needLine();
            byte abyte0[] = db_access.getVersion();
            return conversion.CharBytesToString(abyte0, abyte0.length);
        }
        catch(IOException _ex)
        {
            return null;
        }
    }

    // Decompiling method: getDbCsId  Signature: ()S
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 20 bytes, Code offset: 16338
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 20 Range 0 19 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type S At 0 20 Range 0 19 Init 0 fixed
    public short getDbCsId()
        throws SQLException
    {
        if(conversion == null)
        {
            DBError.throwSqlException(65);
        }
        return conversion.getDbCharSet();
    }

    // Decompiling method: getDbTzCalendar  Signature: ()Ljava/util/Calendar;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 16414
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/util/Calendar; At 0 5 Range 0 4 Init 0 fixed
    public Calendar getDbTzCalendar()
    {
        return m_dbTzCalendar;
    }

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

    // Decompiling method: getDefaultExecuteBatch  Signature: ()I
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 16510
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 5 Range 0 4 Init 0 fixed
    public synchronized int getDefaultExecuteBatch()
    {
        return default_batch;
    }

    // Decompiling method: getDefaultFixedString  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 16553
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public boolean getDefaultFixedString()
    {
        return defaultFixedString;
    }

    // Decompiling method: getDefaultRowPrefetch  Signature: ()I
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 16596
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 5 Range 0 4 Init 0 fixed
    public synchronized int getDefaultRowPrefetch()
    {
        return default_row_prefetch;
    }

    // Decompiling method: getDescriptor  Signature: (Ljava/lang/String;)Ljava/lang/Object;
    // Max stack: 2, #locals: 3, #params: 2
    // Code length: 24 bytes, Code offset: 16639
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; 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
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/Object; At 0 24 Range 0 23 Init 0 fixed
    // LocalVar   2 added: Name obj Type A At 1 22 Range 1 22 Init 1
    // LocalVar   2 chged: Name obj Oname obj Type Ljava/lang/Object; At 21 2 Range 1 22 Init 1
    public synchronized Object getDescriptor(String s)
    {
        Object obj = null;
        if(s != null && descriptorCache != null)
        {
            obj = descriptorCache.get(s);
        }
        return obj;
    }

    // Decompiling method: getDescriptor  Signature: ([B)Ljava/lang/Object;
    // Max stack: 2, #locals: 3, #params: 2
    // Code length: 24 bytes, Code offset: 16713
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // Parameter  1 added: Name abyte0 Type [B At 0 24 Range 0 23 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/Object; At 0 24 Range 0 23 Init 0 fixed
    // LocalVar   2 added: Name obj Type A At 1 22 Range 1 22 Init 1
    // LocalVar   2 chged: Name obj Oname obj Type Ljava/lang/Object; At 21 2 Range 1 22 Init 1
    public synchronized Object getDescriptor(byte abyte0[])
    {
        Object obj = null;
        if(abyte0 != null && descriptorCache != null)
        {
            obj = descriptorCache.get(abyte0);
        }
        return obj;
    }

    // Decompiling method: getFDO  Signature: (Z)[B
    // Max stack: 3, #locals: 5, #params: 2
    // Code length: 92 bytes, Code offset: 16787
    // Exception table: 1 entries
    //           start  13 end 59 handler 65 type any
    // Line Number Table found: 16 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 92 Range 0 91 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 92 Range 0 91 Init 0
    // RetValue   5 added: Name <returnValue> Type [B At 0 92 Range 0 91 Init 0 fixed
    // LocalVar   2 added: Name obj Type A At 12 66 Range 12 77 Init 12
    // LocalVar   2 chged: Name callablestatement Oname obj Type Ljava/sql/CallableStatement; At 23 55 Range 12 77 Init 12
    // LocalVar   4 added: Name local Type @ At 71 16 Range 71 86 Init 71
    // LocalVar   2 added: Name obj Type A At 84 1 Range 84 84 Init 84
    // LocalVar   3 added: Name exception Type Ljava.lang.Exception; At 65 5 Range 65 69 Init 65
    // LocalVar   2 name obj(A) merged out into callablestatement(Ljava/sql/CallableStatement;)
    public synchronized byte[] getFDO(boolean flag)
        throws SQLException
    {
        if(fdo == null && flag)
        {
            CallableStatement callablestatement = null;
            try
            {
                checkPhyiscalStatus();
                callablestatement = prepareCall("begin ? := dbms_pickler.get_format (?); end;");
                callablestatement.registerOutParameter(1, 2);
                callablestatement.registerOutParameter(2, -4);
                callablestatement.execute();
                fdo = callablestatement.getBytes(2);
            }
            finally
            {
                if(callablestatement != null)
                {
                    callablestatement.close();
                }
                callablestatement = null;
            }
        }
        return fdo;
    }

    // Decompiling method: getIncludeSynonyms  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 16995
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public boolean getIncludeSynonyms()
    {
        return include_synonyms;
    }

    // Decompiling method: getJavaObject  Signature: (Ljava/lang/String;)Ljava/lang/Object;
    // Max stack: 2, #locals: 4, #params: 2
    // Code length: 50 bytes, Code offset: 17038
    // Exception table: 2 entries
    //           start  2 end 32 handler 35 type IllegalAccessException
    //           start  2 end 32 handler 43 type InstantiationException
    // Line Number Table found: 12 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 50 Range 0 49 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 50 Range 0 49 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/lang/Object; At 0 50 Range 0 49 Init 0 fixed
    // LocalVar   2 added: Name obj Type A At 1 48 Range 1 48 Init 1
    // LocalVar   3 added: Name class1 Type Ljava/lang/Class; At 26 2 Range 26 27 Init 26
    // LocalVar   2 chged: Name obj Oname obj Type Ljava/lang/Object; At 31 18 Range 1 48 Init 1
    // LocalVar   3 added: Name illegalaccessexception Type Ljava/lang/IllegalAccessException; At 35 2 Range 35 36 Init 35
    // LocalVar   3 added: Name instantiationexception Type Ljava/lang/InstantiationException; At 43 2 Range 43 44 Init 43
    public synchronized Object getJavaObject(String s)
        throws SQLException
    {
        Object obj = null;
        try
        {
            if(s != null && map != null)
            {
                Class class1 = (Class)map.get(s);
                obj = class1.newInstance();
            }
        }
        catch(IllegalAccessException illegalaccessexception)
        {
            illegalaccessexception.printStackTrace();
        }
        catch(InstantiationException instantiationexception)
        {
            instantiationexception.printStackTrace();
        }
        return obj;
    }

    // Decompiling method: getJavaObjectTypeMap  Signature: ()Ljava/util/Map;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 20 bytes, Code offset: 17196
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 20 Range 0 19 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/util/Map; At 0 20 Range 0 19 Init 0 fixed
    public synchronized Map getJavaObjectTypeMap()
    {
        if(logicalHandle)
        {
            return m_opc_oc.m_javaObjectMap;
        } else
        {
            return m_javaObjectMap;
        }
    }

    // Decompiling method: getJdbcCsId  Signature: ()S
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 20 bytes, Code offset: 17262
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 20 Range 0 19 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type S At 0 20 Range 0 19 Init 0 fixed
    public short getJdbcCsId()
        throws SQLException
    {
        if(conversion == null)
        {
            DBError.throwSqlException(65);
        }
        return conversion.getAccessCharSet();
    }

    // Decompiling method: getMetaData  Signature: ()Ljava/sql/DatabaseMetaData;
    // Max stack: 4, #locals: 1, #params: 1
    // Code length: 36 bytes, Code offset: 17338
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 36 Range 0 35 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/DatabaseMetaData; At 0 36 Range 0 35 Init 0 fixed
    public synchronized DatabaseMetaData getMetaData()
        throws SQLException
    {
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(m_dbMetaData == null)
        {
            m_dbMetaData = new oracle.jdbc.driver.OracleDatabaseMetaData(this);
        }
        return m_dbMetaData;
    }

    // Decompiling method: getProtocolType  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17438
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 5 Range 0 4 Init 0 fixed
    public String getProtocolType()
    {
        return protocol;
    }

    // Decompiling method: getRemarksReporting  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17481
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean getRemarksReporting()
    {
        return report_remarks;
    }

    // Decompiling method: getReportRemarks  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17524
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean getReportRemarks()
    {
        return report_remarks;
    }

    // Decompiling method: getRestrictGetTables  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17567
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public boolean getRestrictGetTables()
    {
        return restrict_getTables;
    }

    // Decompiling method: getSQLType  Signature: (Ljava/lang/Object;)Ljava/lang/String;
    // Max stack: 2, #locals: 3, #params: 2
    // Code length: 35 bytes, Code offset: 17610
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 35 Range 0 34 Init 0 fixed
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 35 Range 0 34 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/String; At 0 35 Range 0 34 Init 0 fixed
    // LocalVar   2 added: Name s Type Ljava/lang/String; At 18 6 Range 18 23 Init 18
    public synchronized String getSQLType(Object obj)
        throws SQLException
    {
        if(obj != null && map != null)
        {
            String s = obj.getClass().getName();
            return (String)map.get(s);
        } else
        {
            return null;
        }
    }

    // Decompiling method: getSessionTimeZone  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17705
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 5 Range 0 4 Init 0 fixed
    public String getSessionTimeZone()
    {
        return m_sessionTimeZone;
    }

    // Decompiling method: getStmtCacheSize  Signature: ()I
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17748
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 5 Range 0 4 Init 0 fixed
    public synchronized int getStmtCacheSize()
    {
        return m_stmtCacheSize;
    }

    // Decompiling method: getStructAttrCsId  Signature: ()S
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17791
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type S At 0 5 Range 0 4 Init 0 fixed
    public synchronized short getStructAttrCsId()
        throws SQLException
    {
        return getDbCsId();
    }

    // Decompiling method: getSynchronousMode  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 2 bytes, Code offset: 17844
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; 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 getSynchronousMode()
    {
        return true;
    }

    // Decompiling method: getTransactionIsolation  Signature: ()I
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 17884
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 5 Range 0 4 Init 0 fixed
    public int getTransactionIsolation()
        throws SQLException
    {
        return trans_level;
    }

    // Decompiling method: getTypeMap  Signature: ()Ljava/util/Map;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 20 bytes, Code offset: 17937
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 20 Range 0 19 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/util/Map; At 0 20 Range 0 19 Init 0 fixed
    public synchronized Map getTypeMap()
    {
        if(logicalHandle)
        {
            return m_opc_oc.map;
        } else
        {
            return map;
        }
    }

    // Decompiling method: getURL  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 18003
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 5 Range 0 4 Init 0 fixed
    public String getURL()
    {
        return url;
    }

    // Decompiling method: getUserName  Signature: ()Ljava/lang/String;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 16 bytes, Code offset: 18046
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 16 Range 0 15 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/String; At 0 16 Range 0 15 Init 0 fixed
    public synchronized String getUserName()
        throws SQLException
    {
        if(user == null)
        {
            initUserName();
        }
        return user;
    }

    // Decompiling method: getUsingXAFlag  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 18118
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean getUsingXAFlag()
    {
        return UsingXA;
    }

    // Decompiling method: getVersionNumber  Signature: ()S
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 18161
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 8 Range 0 7 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type S At 0 8 Range 0 7 Init 0 fixed
    public synchronized short getVersionNumber()
        throws SQLException
    {
        return db_access.getVersionNumber();
    }

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

    // Decompiling method: getXAErrorFlag  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 18270
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean getXAErrorFlag()
    {
        return XA_wants_error;
    }

    // Decompiling method: holdLine  Signature: (Loracle/jdbc/driver/OracleStatement;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 18313
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void holdLine(OracleStatement oraclestatement)
    {
        statement_holding_line = oraclestatement;
        return;
    }

    // Decompiling method: initClientDataSupport  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 18361
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    private void initClientDataSupport()
    {
        m_clientData = null;
        return;
    }

    // Decompiling method: initUserName  Signature: ()V
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 91 bytes, Code offset: 18409
    // Exception table: 1 entries
    //           start  25 end 67 handler 73 type any
    // Line Number Table found: 16 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 91 Range 0 90 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type V At 0 91 Range 0 90 Init 0 fixed
    // LocalVar   1 added: Name statement Type Ljava/sql/Statement; At 16 65 Range 16 80 Init 16
    // LocalVar   4 added: Name resultset Type Ljava/sql/ResultSet; At 33 26 Range 33 58 Init 33
    // LocalVar   4 added: Name obj Type A At 65 2 Range 65 66 Init 65
    // LocalVar   3 added: Name local Type @ At 79 11 Range 79 89 Init 79
    // LocalVar   1 added: Name obj1 Type A At 87 1 Range 87 87 Init 87
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 73 5 Range 73 77 Init 73
    // LocalVar   1 name obj1(A) merged out into statement(Ljava/sql/Statement;)
    // LocalVar   4 name obj(A) merged out into resultset(Ljava/sql/ResultSet;)
    public synchronized void initUserName()
        throws SQLException
    {
        if(user != null)
        {
            return;
        }
        checkPhyiscalStatus();
        Statement statement = createStatement();
        ((OracleStatement)statement).setRowPrefetch(1);
        try
        {
            ResultSet resultset = statement.executeQuery("select USER from dual");
            if(resultset.next())
            {
                user = resultset.getString(1);
            }
            resultset.close();
            resultset = null;
        }
        finally
        {
            statement.close();
            statement = null;
        }
        return;
    }

    // Decompiling method: initialize  Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Loracle/jdbc/dbaccess/DBAccess;Ljava/util/Hashtable;Ljava/util/Map;Ljava/util/Map;Ljava/lang/String;)V
    // Max stack: 4, #locals: 9, #params: 9
    // Code length: 223 bytes, Code offset: 18616
    // Line Number Table found: 39 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 223 Range 0 222 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 223 Range 0 222 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 223 Range 0 222 Init 0
    // Parameter  3 added: Name s2 Type Ljava/lang/String; At 0 223 Range 0 222 Init 0
    // Parameter  4 added: Name dbaccess Type Loracle/jdbc/dbaccess/DBAccess; At 0 223 Range 0 222 Init 0
    // Parameter  5 added: Name hashtable Type Ljava/util/Hashtable; At 0 223 Range 0 222 Init 0
    // Parameter  6 added: Name map1 Type Ljava/util/Map; At 0 223 Range 0 222 Init 0
    // Parameter  7 added: Name map2 Type Ljava/util/Map; At 0 223 Range 0 222 Init 0
    // Parameter  8 added: Name s3 Type Ljava/lang/String; At 0 223 Range 0 222 Init 0
    // RetValue   9 added: Name <returnValue> Type V At 0 223 Range 0 222 Init 0 fixed
    private void initialize(String s, String s1, String s2, DBAccess dbaccess, Hashtable hashtable, Map map1, Map map2, 
            String s3)
        throws SQLException
    {
        initClientDataSupport();
        m_stmtCacheSize = 0;
        m_stmtCache = null;
        m_stmtClearMetaData = false;
        database = s3;
        url = s;
        if(s1 != null)
        {
            user = s1.toUpperCase();
        } else
        {
            user = s1;
        }
        db_access = dbaccess;
        protocol = s2;
        physicalStatus = true;
        default_row_prefetch = DEFAULT_ROW_PREFETCH;
        default_batch = 1;
        statement_table = new Hashtable(10);
        if(hashtable != null)
        {
            descriptorCache = hashtable;
        } else
        {
            descriptorCache = new Hashtable(10);
        }
        if(map1 != null)
        {
            map = map1;
        } else
        {
            map = new Hashtable(10);
        }
        if(map2 != null)
        {
            m_javaObjectMap = map2;
        } else
        {
            m_javaObjectMap = new Hashtable(10);
        }
        closed = false;
        trans_level = 2;
        XA_wants_error = false;
        UsingXA = false;
        fdo = null;
        big_endian = null;
        m_occ = null;
        m_privData = null;
        m_clientIdSet = false;
        m_clientId = null;
        return;
    }

    // Decompiling method: isAccumulateBatchResult  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 19039
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public boolean isAccumulateBatchResult()
    {
        return m_accumulateBatchResult;
    }

    // Decompiling method: isClosed  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 19082
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean isClosed()
        throws SQLException
    {
        return closed;
    }

    // Decompiling method: isLogicalConnection  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 19135
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 5 Range 0 4 Init 0 fixed
    public synchronized boolean isLogicalConnection()
    {
        return logicalHandle;
    }

    // Decompiling method: isReadOnly  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 2 bytes, Code offset: 19178
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; 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 isReadOnly()
        throws SQLException
    {
        return false;
    }

    // Decompiling method: isStmtCacheEnabled  Signature: ()Z
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 11 bytes, Code offset: 19228
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 11 Range 0 10 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 11 Range 0 10 Init 0 fixed
    synchronized boolean isStmtCacheEnabled()
    {
        return m_stmtCacheSize > 0;
    }

    // Decompiling method: logicalClose  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 42 bytes, Code offset: 19285
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 42 Range 0 41 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 42 Range 0 41 Init 0 fixed
    public synchronized void logicalClose()
        throws SQLException
    {
        if(m_opc != null && physicalStatus)
        {
            m_opc.logicalClose();
        }
        setPhysicalStatus(false);
        if(m_clientIdSet)
        {
            clearClientIdentifier(m_clientId);
        }
        return;
    }

    // Decompiling method: nativeSQL  Signature: (Ljava/lang/String;)Ljava/lang/String;
    // Max stack: 2, #locals: 3, #params: 2
    // Code length: 26 bytes, Code offset: 19395
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 26 Range 0 25 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 26 Range 0 25 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/String; At 0 26 Range 0 25 Init 0 fixed
    // LocalVar   2 added: Name s1 Type Ljava/lang/String; At 23 2 Range 23 24 Init 23
    public String nativeSQL(String s)
        throws SQLException
    {
        if(s_osql == null)
        {
            s_osql = new OracleSql();
        }
        String s1 = s_osql.parse(s);
        return s1;
    }

    // Decompiling method: needLine  Signature: ()V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 27 bytes, Code offset: 19481
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 27 Range 0 26 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 27 Range 0 26 Init 0 fixed
    public synchronized void needLine()
        throws SQLException
    {
        if(XA_wants_error)
        {
            DBError.throwSqlException(63);
        }
        if(statement_holding_line != null)
        {
            statement_holding_line.freeLine();
        }
        return;
    }

    // Decompiling method: openJoltConnection  Signature: (Ljava/lang/String;SS)Ljava/lang/Object;
    // Max stack: 1, #locals: 4, #params: 4
    // Code length: 2 bytes, Code offset: 19572
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 2 Range 0 1 Init 0
    // Parameter  2 added: Name word0 Type S At 0 2 Range 0 1 Init 0
    // Parameter  3 added: Name word1 Type S At 0 2 Range 0 1 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/lang/Object; At 0 2 Range 0 1 Init 0 fixed
    public Object openJoltConnection(String s, short word0, short word1)
    {
        return null;
    }

    // Decompiling method: pingDatabase  Signature: (I)I
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 18 bytes, Code offset: 19612
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 18 Range 0 17 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 18 Range 0 17 Init 0
    // RetValue   2 added: Name <returnValue> Type I At 0 18 Range 0 17 Init 0 fixed
    public int pingDatabase(int i)
        throws SQLException
    {
        if(closed)
        {
            return -1;
        } else
        {
            return db_access.pingDatabase(i);
        }
    }

    // Decompiling method: prepareCall  Signature: (Ljava/lang/String;)Ljava/sql/CallableStatement;
    // Max stack: 5, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 19686
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/CallableStatement; At 0 9 Range 0 8 Init 0 fixed
    public synchronized CallableStatement prepareCall(String s)
        throws SQLException
    {
        return privatePrepareCall(s, null, -1, -1);
    }

    // Decompiling method: prepareCall  Signature: (Ljava/lang/String;II)Ljava/sql/CallableStatement;
    // Max stack: 5, #locals: 4, #params: 4
    // Code length: 9 bytes, Code offset: 19743
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 9 Range 0 8 Init 0
    // Parameter  2 added: Name i Type I At 0 9 Range 0 8 Init 0
    // Parameter  3 added: Name j Type I At 0 9 Range 0 8 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/CallableStatement; At 0 9 Range 0 8 Init 0 fixed
    public synchronized CallableStatement prepareCall(String s, int i, int j)
        throws SQLException
    {
        return privatePrepareCall(s, null, i, j);
    }

    // Decompiling method: prepareCallWithKey  Signature: (Ljava/lang/String;)Ljava/sql/CallableStatement;
    // Max stack: 5, #locals: 2, #params: 2
    // Code length: 47 bytes, Code offset: 19808
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 47 Range 0 46 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 47 Range 0 46 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/CallableStatement; At 0 47 Range 0 46 Init 0 fixed
    public synchronized CallableStatement prepareCallWithKey(String s)
        throws SQLException
    {
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(s != null && m_stmtCacheSize <= 0)
        {
            DBError.throwSqlException(95);
        }
        if(s == null)
        {
            return null;
        } else
        {
            return privatePrepareCall(null, s, -1, -1);
        }
    }

    // Decompiling method: prepareStatement  Signature: (Ljava/lang/String;)Ljava/sql/PreparedStatement;
    // Max stack: 5, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 19931
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/PreparedStatement; At 0 9 Range 0 8 Init 0 fixed
    public synchronized PreparedStatement prepareStatement(String s)
        throws SQLException
    {
        return privatePrepareStatement(s, null, -1, -1);
    }

    // Decompiling method: prepareStatement  Signature: (Ljava/lang/String;II)Ljava/sql/PreparedStatement;
    // Max stack: 5, #locals: 4, #params: 4
    // Code length: 9 bytes, Code offset: 19988
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 9 Range 0 8 Init 0
    // Parameter  2 added: Name i Type I At 0 9 Range 0 8 Init 0
    // Parameter  3 added: Name j Type I At 0 9 Range 0 8 Init 0
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/PreparedStatement; At 0 9 Range 0 8 Init 0 fixed
    public synchronized PreparedStatement prepareStatement(String s, int i, int j)
        throws SQLException
    {
        return privatePrepareStatement(s, null, i, j);
    }

    // Decompiling method: prepareStatementWithKey  Signature: (Ljava/lang/String;)Ljava/sql/PreparedStatement;
    // Max stack: 5, #locals: 2, #params: 2
    // Code length: 47 bytes, Code offset: 20053
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 47 Range 0 46 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 47 Range 0 46 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/sql/PreparedStatement; At 0 47 Range 0 46 Init 0 fixed
    public synchronized PreparedStatement prepareStatementWithKey(String s)
        throws SQLException
    {
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(s != null && m_stmtCacheSize <= 0)
        {
            DBError.throwSqlException(95);
        }
        if(s == null)
        {
            return null;
        } else
        {
            return privatePrepareStatement(null, s, -1, -1);
        }
    }

    // Decompiling method: printState  Signature: ()V
    // Max stack: 7, #locals: 5, #params: 1
    // Code length: 101 bytes, Code offset: 20176
    // Exception table: 1 entries
    //           start  0 end 90 handler 93 type SQLException
    // Line Number Table found: 20 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 101 Range 0 100 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type V At 0 101 Range 0 100 Init 0 fixed
    // LocalVar   1 added: Name word0 Type S At 4 17 Range 4 20 Init 4
    // LocalVar   2 added: Name word1 Type S At 34 17 Range 34 50 Init 34
    // LocalVar   3 added: Name word2 Type S At 64 17 Range 64 80 Init 64
    // LocalVar   4 added: Name sqlexception Type Ljava/sql/SQLException; At 93 4 Range 93 96 Init 93
    public void printState()
    {
        try
        {
            short word0 = getJdbcCsId();
            OracleLog.print(this, 1, 8, 32, "Jdbc character set id is   " + word0);
            short word1 = getDbCsId();
            OracleLog.print(this, 1, 8, 32, "Db character set id is     " + word1);
            short word2 = getStructAttrCsId();
            OracleLog.print(this, 1, 8, 32, "STRUCT character set id is " + word2);
        }
        catch(SQLException sqlexception)
        {
            sqlexception.printStackTrace();
        }
        return;
    }

    // Decompiling method: privateCreateStatement  Signature: (IILjava/lang/String;)Ljava/sql/Statement;
    // Max stack: 7, #locals: 6, #params: 4
    // Code length: 155 bytes, Code offset: 20399
    // Line Number Table found: 29 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 155 Range 0 154 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 155 Range 0 154 Init 0
    // Parameter  2 added: Name j Type I At 0 155 Range 0 154 Init 0
    // Parameter  3 added: Name s Type Ljava/lang/String; At 0 155 Range 0 154 Init 0
    // RetValue   6 added: Name <returnValue> Type Ljava/sql/Statement; At 0 155 Range 0 154 Init 0 fixed
    // LocalVar   4 added: Name obj Type A At 45 2 Range 45 46 Init 45
    // LocalVar   5 added: Name k Type I At 50 38 Range 50 87 Init 50
    // LocalVar   4 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 91 15 Range 91 105 Init 91
    // LocalVar   4 added: Name oraclestatement1 Type Loracle/jdbc/driver/OracleStatement; At 132 22 Range 132 153 Init 132
    // LocalVar   4 chged: Name oraclestatement2 Oname obj Type Loracle/jdbc/driver/OracleStatement; At 45 2 Range 45 46 Init 45
    // LocalVar   4 name oraclestatement1(Loracle/jdbc/driver/OracleStatement;) merged out into oraclestatement2(Loracle/jdbc/driver/OracleStatement;)
    // LocalVar   4 name oraclestatement(Loracle/jdbc/driver/OracleStatement;) merged out into oraclestatement2(Loracle/jdbc/driver/OracleStatement;)
    private Statement privateCreateStatement(int i, int j, String s)
        throws SQLException
    {
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(logicalHandle && m_opc.getStmtCacheSize() > 0)
        {
            return m_opc_oc.privateCreateStatement(i, j, s);
        }
        OracleStatement oraclestatement = null;
        int k = OracleStatement.DEFAULT_RSET_TYPE;
        if(i != -1 || j != -1)
        {
            k = ResultSetUtil.getRsetTypeCode(i, j);
        }
        if(m_stmtCacheSize > 0 && s != null)
        {
            oraclestatement = m_stmtCache.lookup(s, 0, k);
            if(oraclestatement != null)
            {
                oraclestatement.m_key = null;
            }
            return oraclestatement;
        }
        if(i != -1 || j != -1)
        {
            oraclestatement = new OracleStatement(this, 1, default_row_prefetch, i, j);
        } else
        {
            oraclestatement = new OracleStatement(this, 1, default_row_prefetch);
        }
        return oraclestatement;
    }

    // Decompiling method: privatePrepareCall  Signature: (Ljava/lang/String;Ljava/lang/String;II)Ljava/sql/CallableStatement;
    // Max stack: 8, #locals: 7, #params: 5
    // Code length: 247 bytes, Code offset: 20714
    // Line Number Table found: 46 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 247 Range 0 246 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 247 Range 0 246 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 247 Range 0 246 Init 0
    // Parameter  3 added: Name i Type I At 0 247 Range 0 246 Init 0
    // Parameter  4 added: Name j Type I At 0 247 Range 0 246 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/CallableStatement; At 0 247 Range 0 246 Init 0 fixed
    // LocalVar   5 added: Name obj Type A At 66 180 Range 66 245 Init 66
    // LocalVar   6 added: Name k Type I At 71 70 Range 71 140 Init 71
    // LocalVar   5 chged: Name oraclecallablestatement Oname obj Type Loracle/jdbc/driver/OracleCallableStatement; At 117 15 Range 66 245 Init 66
    private CallableStatement privatePrepareCall(String s, String s1, int i, int j)
        throws SQLException
    {
        if(s1 == null && s == null || s == "")
        {
            DBError.throwSqlException(104);
        }
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(logicalHandle && m_opc.getStmtCacheSize() > 0)
        {
            return m_opc_oc.privatePrepareCall(s, s1, i, j);
        }
        OracleCallableStatement oraclecallablestatement = null;
        int k = OracleStatement.DEFAULT_RSET_TYPE;
        if(i != -1 || j != -1)
        {
            k = ResultSetUtil.getRsetTypeCode(i, j);
        }
        if(m_stmtCacheSize > 0)
        {
            if(s1 != null)
            {
                oraclecallablestatement = (OracleCallableStatement)m_stmtCache.lookup(s1, 2, k);
                if(oraclecallablestatement != null)
                {
                    oraclecallablestatement.m_key = null;
                }
                return oraclecallablestatement;
            }
            oraclecallablestatement = (OracleCallableStatement)m_stmtCache.lookup(s, 2, k);
            if(oraclecallablestatement != null)
            {
                oraclecallablestatement.initializeStateAndData(default_batch, default_row_prefetch, m_defaultAutoRefetch, false, true);
                oraclecallablestatement.resetFirstRows();
                if(m_stmtClearMetaData)
                {
                    oraclecallablestatement.initializeMetaData();
                }
            }
        }
        if(oraclecallablestatement == null)
        {
            if(i != -1 || j != -1)
            {
                oraclecallablestatement = new OracleCallableStatement(this, s, 1, default_row_prefetch, i, j);
            } else
            {
                oraclecallablestatement = new OracleCallableStatement(this, s, 1, default_row_prefetch);
            }
        }
        return oraclecallablestatement;
    }

    // Decompiling method: privatePrepareStatement  Signature: (Ljava/lang/String;Ljava/lang/String;II)Ljava/sql/PreparedStatement;
    // Max stack: 8, #locals: 7, #params: 5
    // Code length: 253 bytes, Code offset: 21189
    // Line Number Table found: 50 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 253 Range 0 252 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 253 Range 0 252 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 253 Range 0 252 Init 0
    // Parameter  3 added: Name i Type I At 0 253 Range 0 252 Init 0
    // Parameter  4 added: Name j Type I At 0 253 Range 0 252 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/PreparedStatement; At 0 253 Range 0 252 Init 0 fixed
    // LocalVar   5 added: Name obj Type A At 66 186 Range 66 251 Init 66
    // LocalVar   6 added: Name k Type I At 71 70 Range 71 140 Init 71
    // LocalVar   5 chged: Name oraclepreparedstatement Oname obj Type Loracle/jdbc/driver/OraclePreparedStatement; At 117 15 Range 66 251 Init 66
    private PreparedStatement privatePrepareStatement(String s, String s1, int i, int j)
        throws SQLException
    {
        if(s1 == null && s == null || s == "")
        {
            DBError.throwSqlException(104);
        }
        checkPhyiscalStatus();
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        if(logicalHandle && m_opc.getStmtCacheSize() > 0)
        {
            return m_opc_oc.privatePrepareStatement(s, s1, i, j);
        }
        OraclePreparedStatement oraclepreparedstatement = null;
        int k = OracleStatement.DEFAULT_RSET_TYPE;
        if(i != -1 || j != -1)
        {
            k = ResultSetUtil.getRsetTypeCode(i, j);
        }
        if(m_stmtCacheSize > 0)
        {
            if(s1 != null)
            {
                oraclepreparedstatement = (OraclePreparedStatement)m_stmtCache.lookup(s1, 1, k);
                if(oraclepreparedstatement != null)
                {
                    oraclepreparedstatement.m_key = null;
                }
                return oraclepreparedstatement;
            }
            oraclepreparedstatement = (OraclePreparedStatement)m_stmtCache.lookup(s, 1, k);
            if(oraclepreparedstatement != null)
            {
                oraclepreparedstatement.initializeStateAndData(default_batch, default_row_prefetch, m_defaultAutoRefetch, false, true);
                oraclepreparedstatement.resetFirstRows();
                if(m_stmtClearMetaData)
                {
                    oraclepreparedstatement.initializeMetaData();
                }
            }
        }
        if(oraclepreparedstatement == null)
        {
            if(i != -1 || j != -1)
            {
                oraclepreparedstatement = new OraclePreparedStatement(this, s, default_batch, default_row_prefetch, i, j);
            } else
            {
                oraclepreparedstatement = new OraclePreparedStatement(this, s, default_batch, default_row_prefetch);
            }
        }
        return oraclepreparedstatement;
    }

    // Decompiling method: putDescriptor  Signature: (Ljava/lang/String;Ljava/lang/Object;)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 47 bytes, Code offset: 21686
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 47 Range 0 46 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 47 Range 0 46 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 47 Range 0 46 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 47 Range 0 46 Init 0 fixed
    public synchronized void putDescriptor(String s, Object obj)
        throws SQLException
    {
        if(s != null && obj != null)
        {
            if(descriptorCache == null)
            {
                descriptorCache = new Hashtable(10);
            }
            descriptorCache.put(s, obj);
        } else
        {
            DBError.throwSqlException(68);
        }
        return;
    }

    // Decompiling method: putDescriptor  Signature: ([BLjava/lang/Object;)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 47 bytes, Code offset: 21805
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 47 Range 0 46 Init 0 fixed
    // Parameter  1 added: Name abyte0 Type [B At 0 47 Range 0 46 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 47 Range 0 46 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 47 Range 0 46 Init 0 fixed
    public synchronized void putDescriptor(byte abyte0[], Object obj)
        throws SQLException
    {
        if(abyte0 != null && obj != null)
        {
            if(descriptorCache == null)
            {
                descriptorCache = new Hashtable(10);
            }
            descriptorCache.put(abyte0, obj);
        } else
        {
            DBError.throwSqlException(68);
        }
        return;
    }

    // Decompiling method: registerApiDescription  Signature: (Ljava/lang/String;SSLjava/lang/String;)V
    // Max stack: 0, #locals: 5, #params: 5
    // Code length: 1 bytes, Code offset: 21924
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 1 Range 0 0 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 1 Range 0 0 Init 0
    // Parameter  2 added: Name word0 Type S At 0 1 Range 0 0 Init 0
    // Parameter  3 added: Name word1 Type S At 0 1 Range 0 0 Init 0
    // Parameter  4 added: Name s1 Type Ljava/lang/String; At 0 1 Range 0 0 Init 0
    // RetValue   5 added: Name <returnValue> Type V At 0 1 Range 0 0 Init 0 fixed
    public void registerApiDescription(String s, short word0, short word1, String s1)
    {
        return;
    }

    // Decompiling method: registerCloseCallback  Signature: (Loracle/jdbc/driver/OracleCloseCallback;Ljava/lang/Object;)V
    // Max stack: 2, #locals: 3, #params: 3
    // Code length: 11 bytes, Code offset: 21963
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 11 Range 0 10 Init 0 fixed
    // Parameter  1 added: Name oracleclosecallback Type Loracle/jdbc/driver/OracleCloseCallback; At 0 11 Range 0 10 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 11 Range 0 10 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 11 Range 0 10 Init 0 fixed
    public synchronized void registerCloseCallback(OracleCloseCallback oracleclosecallback, Object obj)
    {
        m_occ = oracleclosecallback;
        m_privData = obj;
        return;
    }

    // Decompiling method: registerSQLType  Signature: (Ljava/lang/String;Ljava/lang/Class;)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 61 bytes, Code offset: 22020
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 61 Range 0 60 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 61 Range 0 60 Init 0
    // Parameter  2 added: Name class1 Type Ljava/lang/Class; At 0 61 Range 0 60 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 61 Range 0 60 Init 0 fixed
    public synchronized void registerSQLType(String s, Class class1)
        throws SQLException
    {
        if(s == null || class1 == null)
        {
            DBError.throwSqlException(68);
        }
        if(map == null)
        {
            map = new Hashtable(10);
        }
        map.put(s, class1);
        map.put(class1.getName(), s);
        return;
    }

    // Decompiling method: registerSQLType  Signature: (Ljava/lang/String;Ljava/lang/String;)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 47 bytes, Code offset: 22153
    // Exception table: 1 entries
    //           start  13 end 22 handler 25 type ClassNotFoundException
    // Line Number Table found: 10 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 47 Range 0 46 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 47 Range 0 46 Init 0
    // Parameter  2 added: Name s1 Type Ljava/lang/String; At 0 47 Range 0 46 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 47 Range 0 46 Init 0 fixed
    public synchronized void registerSQLType(String s, String s1)
        throws SQLException
    {
        if(s == null || s1 == null)
        {
            DBError.throwSqlException(68);
        }
        try
        {
            registerSQLType(s, Class.forName(s1));
        }
        catch(ClassNotFoundException _ex)
        {
            DBError.throwSqlException(1, "Class not found: " + s1);
        }
        return;
    }

    // Decompiling method: registerTAFCallback  Signature: (Loracle/jdbc/OracleOCIFailover;Ljava/lang/Object;)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 18 bytes, Code offset: 22292
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 18 Range 0 17 Init 0 fixed
    // Parameter  1 added: Name oracleocifailover Type Loracle/jdbc/OracleOCIFailover; At 0 18 Range 0 17 Init 0
    // Parameter  2 added: Name obj Type Ljava/lang/Object; At 0 18 Range 0 17 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 18 Range 0 17 Init 0 fixed
    public synchronized void registerTAFCallback(OracleOCIFailover oracleocifailover, Object obj)
        throws SQLException
    {
        if(db_access != null)
        {
            db_access.registerTAFCallback(this, oracleocifailover, obj);
        }
        return;
    }

    // Decompiling method: releaseLine  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 6 bytes, Code offset: 22366
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void releaseLine()
    {
        statement_holding_line = null;
        return;
    }

    // Decompiling method: removeAllDescriptor  Signature: ()V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 22414
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 15 Range 0 14 Init 0 fixed
    public synchronized void removeAllDescriptor()
    {
        if(descriptorCache != null)
        {
            descriptorCache.clear();
        }
        return;
    }

    // Decompiling method: removeClientData  Signature: (Ljava/lang/Object;)Ljava/lang/Object;
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 18 bytes, Code offset: 22475
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 18 Range 0 17 Init 0 fixed
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 18 Range 0 17 Init 0
    // RetValue   2 added: Name <returnValue> Type Ljava/lang/Object; At 0 18 Range 0 17 Init 0 fixed
    public synchronized Object removeClientData(Object obj)
    {
        if(m_clientData == null)
        {
            return null;
        } else
        {
            return m_clientData.remove(obj);
        }
    }

    // Decompiling method: removeDecriptor  Signature: (Ljava/lang/String;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 21 bytes, Code offset: 22539
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 21 Range 0 20 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 21 Range 0 20 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 21 Range 0 20 Init 0 fixed
    public synchronized void removeDecriptor(String s)
    {
        if(s != null && descriptorCache != null)
        {
            descriptorCache.remove(s);
        }
        return;
    }

    // Decompiling method: removeDecriptor  Signature: ([B)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 21 bytes, Code offset: 22606
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 21 Range 0 20 Init 0 fixed
    // Parameter  1 added: Name abyte0 Type [B At 0 21 Range 0 20 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 21 Range 0 20 Init 0 fixed
    public synchronized void removeDecriptor(byte abyte0[])
    {
        if(abyte0 != null && descriptorCache != null)
        {
            descriptorCache.remove(abyte0);
        }
        return;
    }

    // Decompiling method: remove_statement  Signature: (Ljava/sql/Statement;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 10 bytes, Code offset: 22673
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 10 Range 0 9 Init 0 fixed
    // Parameter  1 added: Name statement Type Ljava/sql/Statement; At 0 10 Range 0 9 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 10 Range 0 9 Init 0 fixed
    synchronized void remove_statement(Statement statement)
    {
        statement_table.remove(statement);
        return;
    }

    // Decompiling method: rollback  Signature: ()V
    // Max stack: 1, #locals: 2, #params: 1
    // Code length: 55 bytes, Code offset: 22725
    // Exception table: 1 entries
    //           start  35 end 46 handler 49 type IOException
    // Line Number Table found: 12 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 55 Range 0 54 Init 0 fixed
    // RetValue   2 added: Name <returnValue> Type V At 0 55 Range 0 54 Init 0 fixed
    // LocalVar   1 added: Name ioexception Type Ljava/io/IOException; At 49 2 Range 49 50 Init 49
    public synchronized void rollback()
        throws SQLException
    {
        checkPhyiscalStatus();
        if(XA_wants_error || UsingXA)
        {
            DBError.throwSqlException(69);
        }
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        try
        {
            needLine();
            db_access.rollback();
        }
        catch(IOException ioexception)
        {
            DBError.throwSqlException(ioexception);
        }
        return;
    }

    // Decompiling method: setAccumulateBatchResult  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 22880
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void setAccumulateBatchResult(boolean flag)
    {
        m_accumulateBatchResult = flag;
        return;
    }

    // Decompiling method: setAutoClose  Signature: (Z)V
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 10 bytes, Code offset: 22928
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 10 Range 0 9 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 10 Range 0 9 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 10 Range 0 9 Init 0 fixed
    public synchronized void setAutoClose(boolean flag)
        throws SQLException
    {
        if(!flag)
        {
            DBError.throwSqlException(31);
        }
        return;
    }

    // Decompiling method: setAutoCommit  Signature: (Z)V
    // Max stack: 2, #locals: 3, #params: 2
    // Code length: 66 bytes, Code offset: 22994
    // Exception table: 1 entries
    //           start  40 end 52 handler 55 type IOException
    // Line Number Table found: 13 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 66 Range 0 65 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 66 Range 0 65 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 66 Range 0 65 Init 0 fixed
    // LocalVar   2 added: Name ioexception Type Ljava/io/IOException; At 55 2 Range 55 56 Init 55
    public synchronized void setAutoCommit(boolean flag)
        throws SQLException
    {
        checkPhyiscalStatus();
        if(XA_wants_error || UsingXA && flag)
        {
            DBError.throwSqlException(69);
        }
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        try
        {
            needLine();
            db_access.setAutoCommit(flag);
        }
        catch(IOException ioexception)
        {
            DBError.throwSqlException(ioexception);
        }
        auto_commit = flag;
        return;
    }

    // Decompiling method: setCatalog  Signature: (Ljava/lang/String;)V
    // Max stack: 0, #locals: 2, #params: 2
    // Code length: 1 bytes, Code offset: 23164
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 1 Range 0 0 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 1 Range 0 0 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 1 Range 0 0 Init 0 fixed
    public void setCatalog(String s)
        throws SQLException
    {
        return;
    }

    // Decompiling method: setClientData  Signature: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    // Max stack: 3, #locals: 3, #params: 3
    // Code length: 28 bytes, Code offset: 23213
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 28 Range 0 27 Init 0 fixed
    // Parameter  1 added: Name obj Type Ljava/lang/Object; At 0 28 Range 0 27 Init 0
    // Parameter  2 added: Name obj1 Type Ljava/lang/Object; At 0 28 Range 0 27 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/Object; At 0 28 Range 0 27 Init 0 fixed
    public synchronized Object setClientData(Object obj, Object obj1)
    {
        if(m_clientData == null)
        {
            m_clientData = new Hashtable();
        }
        return m_clientData.put(obj, obj1);
    }

    // Decompiling method: setClientIdentifier  Signature: (Ljava/lang/String;)V
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 20 bytes, Code offset: 23287
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 20 Range 0 19 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 20 Range 0 19 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 20 Range 0 19 Init 0 fixed
    public void setClientIdentifier(String s)
        throws SQLException
    {
        m_clientIdSet = true;
        m_clientId = s;
        db_access.setClientIdentifier(this, s);
        return;
    }

    // Decompiling method: setCreateStatementAsRefCursor  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 23367
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public void setCreateStatementAsRefCursor(boolean flag)
    {
        db_access.setCreateStatementAsRefCursor(flag);
        return;
    }

    // Decompiling method: setDbTzCalendar  Signature: (Ljava/lang/String;)V
    // Max stack: 5, #locals: 9, #params: 2
    // Code length: 148 bytes, Code offset: 23418
    // Line Number Table found: 22 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 148 Range 0 147 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 148 Range 0 147 Init 0
    // RetValue   9 added: Name <returnValue> Type V At 0 148 Range 0 147 Init 0 fixed
    // LocalVar   2 added: Name flag Type Z At 1 1 Range 1 1 Init 1
    // LocalVar   3 added: Name stringbuffer Type Ljava/lang/StringBuffer; At 9 80 Range 9 88 Init 9
    // LocalVar   4 added: Name c Type C At 15 32 Range 15 46 Init 15
    // LocalVar   2 added: Name flag1 Type Z At 25 84 Range 25 108 Init 25
    // LocalVar   5 added: Name time Type Ljava/sql/Time; At 95 4 Range 95 98 Init 95
    // LocalVar   6 added: Name l Type J At 106 24 Range 106 129 Init 106
    // LocalVar   8 added: Name timezone Type Ljava/util/TimeZone; At 124 17 Range 124 140 Init 124
    // LocalVar   2 name flag1(Z) merged out into flag(Z)
    private void setDbTzCalendar(String s)
    {
        boolean flag = true;
        StringBuffer stringbuffer = new StringBuffer();
        char c = s.charAt(0);
        if(c == '+')
        {
            flag = true;
            stringbuffer.append(s.toCharArray(), 1, s.length() - 1);
        } else
        if(c == '-')
        {
            flag = false;
            stringbuffer.append(s.toCharArray(), 1, s.length() - 1);
        } else
        {
            flag = true;
            stringbuffer.append(s);
        }
        stringbuffer.append(":00");
        Time time = Time.valueOf(stringbuffer.toString());
        long l = time.getTime() - 0x001b77400L;
        if(!flag)
        {
            l *= -1L;
        }
        TimeZone timezone = TimeZone.getDefault();
        timezone.setRawOffset((int)l);
        m_dbTzCalendar = new GregorianCalendar(timezone);
        return;
    }

    // Decompiling method: setDefaultAutoRefetch  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 23688
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void setDefaultAutoRefetch(boolean flag)
        throws SQLException
    {
        m_defaultAutoRefetch = flag;
        return;
    }

    // Decompiling method: setDefaultExecuteBatch  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 15 bytes, Code offset: 23746
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 15 Range 0 14 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 15 Range 0 14 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 15 Range 0 14 Init 0 fixed
    public synchronized void setDefaultExecuteBatch(int i)
        throws SQLException
    {
        if(i <= 0)
        {
            DBError.throwSqlException(42);
        }
        default_batch = i;
        return;
    }

    // Decompiling method: setDefaultFixedString  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 23821
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void setDefaultFixedString(boolean flag)
    {
        defaultFixedString = flag;
        return;
    }

    // Decompiling method: setDefaultRowPrefetch  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 15 bytes, Code offset: 23869
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 15 Range 0 14 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 15 Range 0 14 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 15 Range 0 14 Init 0 fixed
    public synchronized void setDefaultRowPrefetch(int i)
        throws SQLException
    {
        if(i <= 0)
        {
            DBError.throwSqlException(20);
        }
        default_row_prefetch = i;
        return;
    }

    // Decompiling method: setFDO  Signature: ([B)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 23944
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name abyte0 Type [B At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void setFDO(byte abyte0[])
        throws SQLException
    {
        fdo = abyte0;
        return;
    }

    // Decompiling method: setIncludeSynonyms  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 24002
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void setIncludeSynonyms(boolean flag)
    {
        include_synonyms = flag;
        return;
    }

    // Decompiling method: setJavaObjectTypeMap  Signature: (Ljava/util/Map;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 24 bytes, Code offset: 24050
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // Parameter  1 added: Name map1 Type Ljava/util/Map; At 0 24 Range 0 23 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 24 Range 0 23 Init 0 fixed
    public synchronized void setJavaObjectTypeMap(Map map1)
    {
        if(logicalHandle)
        {
            m_opc_oc.m_javaObjectMap = map1;
        } else
        {
            m_javaObjectMap = map1;
        }
        return;
    }

    // Decompiling method: setPhysicalStatus  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 24128
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void setPhysicalStatus(boolean flag)
    {
        physicalStatus = flag;
        return;
    }

    // Decompiling method: setReadOnly  Signature: (Z)V
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 10 bytes, Code offset: 24176
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 10 Range 0 9 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 10 Range 0 9 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 10 Range 0 9 Init 0 fixed
    public void setReadOnly(boolean flag)
        throws SQLException
    {
        if(flag)
        {
            DBError.throwSqlException(29);
        }
        return;
    }

    // Decompiling method: setRemarksReporting  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 24242
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void setRemarksReporting(boolean flag)
    {
        report_remarks = flag;
        return;
    }

    // Decompiling method: setRestrictGetTables  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 24290
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public void setRestrictGetTables(boolean flag)
    {
        restrict_getTables = flag;
        return;
    }

    // Decompiling method: setSessionTimeZone  Signature: (Ljava/lang/String;)V
    // Max stack: 4, #locals: 7, #params: 2
    // Code length: 111 bytes, Code offset: 24338
    // Exception table: 2 entries
    //           start  4 end 73 handler 76 type SQLException
    //           start  4 end 81 handler 87 type any
    // Line Number Table found: 20 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 111 Range 0 110 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 111 Range 0 110 Init 0
    // RetValue   7 added: Name <returnValue> Type V At 0 111 Range 0 110 Init 0 fixed
    // LocalVar   2 added: Name obj Type A At 1 97 Range 1 97 Init 1
    // LocalVar   3 added: Name obj1 Type A At 3 1 Range 3 3 Init 3
    // LocalVar   2 chged: Name preparedstatement Oname obj Type Ljava/sql/PreparedStatement; At 29 2 Range 1 97 Init 1
    // LocalVar   3 added: Name resultset Type Ljava/sql/ResultSet; At 50 9 Range 50 58 Init 50
    // LocalVar   6 added: Name s1 Type Ljava/lang/String; At 65 5 Range 65 69 Init 65
    // LocalVar   5 added: Name local Type @ At 95 10 Range 95 104 Init 95
    // LocalVar   6 added: Name sqlexception Type Ljava/sql/SQLException; At 76 4 Range 76 79 Init 76
    // LocalVar   4 added: Name exception Type Ljava.lang.Exception; At 87 7 Range 87 93 Init 87
    public void setSessionTimeZone(String s)
        throws SQLException
    {
        PreparedStatement preparedstatement = null;
        Object obj = null;
        try
        {
            preparedstatement = prepareStatement("ALTER SESSION SET TIME_ZONE = '" + s + "'");
            preparedstatement.executeUpdate();
            preparedstatement = prepareStatement("SELECT DBTIMEZONE FROM DUAL");
            ResultSet resultset = preparedstatement.executeQuery();
            resultset.next();
            String s1 = resultset.getString(1);
            setDbTzCalendar(s1);
        }
        catch(SQLException sqlexception)
        {
            throw sqlexception;
        }
        finally
        {
            preparedstatement.close();
        }
        m_sessionTimeZone = s;
        return;
    }

    // Decompiling method: setStmtCacheSize  Signature: (I)V
    // Max stack: 3, #locals: 2, #params: 2
    // Code length: 7 bytes, Code offset: 24589
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 7 Range 0 6 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 7 Range 0 6 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 7 Range 0 6 Init 0 fixed
    public synchronized void setStmtCacheSize(int i)
        throws SQLException
    {
        setStmtCacheSize(i, false);
        return;
    }

    // Decompiling method: setStmtCacheSize  Signature: (IZ)V
    // Max stack: 4, #locals: 3, #params: 3
    // Code length: 86 bytes, Code offset: 24648
    // Line Number Table found: 15 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 86 Range 0 85 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 86 Range 0 85 Init 0
    // Parameter  2 added: Name flag Type Z At 0 86 Range 0 85 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 86 Range 0 85 Init 0 fixed
    public synchronized void setStmtCacheSize(int i, boolean flag)
        throws SQLException
    {
        if(logicalHandle)
        {
            DBError.throwSqlException(96);
        }
        if(i < 0)
        {
            DBError.throwSqlException(68);
        }
        m_stmtCacheSize = i;
        if(i == 0 && m_stmtCache != null)
        {
            m_stmtCache.close();
            m_stmtCache = null;
            return;
        }
        if(m_stmtCache == null)
        {
            m_stmtCache = new LRUStmtCache(i);
        } else
        {
            m_stmtCache.setCacheSize(i);
        }
        m_stmtClearMetaData = flag;
        return;
    }

    // Decompiling method: setSynchronousMode  Signature: (Z)V
    // Max stack: 0, #locals: 2, #params: 2
    // Code length: 1 bytes, Code offset: 24838
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 1 Range 0 0 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 1 Range 0 0 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 1 Range 0 0 Init 0 fixed
    public void setSynchronousMode(boolean flag)
    {
        return;
    }

    // Decompiling method: setTransactionIsolation  Signature: (I)V
    // Max stack: 2, #locals: 5, #params: 2
    // Code length: 97 bytes, Code offset: 24877
    // Exception table: 1 entries
    //           start  12 end 76 handler 82 type any
    // Line Number Table found: 15 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 97 Range 0 96 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 97 Range 0 96 Init 0
    // RetValue   5 added: Name <returnValue> Type V At 0 97 Range 0 96 Init 0 fixed
    // LocalVar   2 added: Name oraclestatement Type Loracle/jdbc/driver/OracleStatement; At 11 80 Range 11 90 Init 11
    // LocalVar   4 added: Name local Type @ At 88 8 Range 88 95 Init 88
    // LocalVar   3 added: Name exception Type Ljava.lang.Exception; At 82 5 Range 82 86 Init 82
    public synchronized void setTransactionIsolation(int i)
        throws SQLException
    {
        checkPhyiscalStatus();
        OracleStatement oraclestatement = (OracleStatement)createStatement();
        try
        {
            switch(i)
            {
            case 2: // '\002'
                oraclestatement.execute("ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED");
                trans_level = 2;
                break;

            case 8: // '\b'
                oraclestatement.execute("ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE");
                trans_level = 8;
                break;

            default:
                DBError.throwSqlException(30);
                break;
            }
        }
        finally
        {
            oraclestatement.close();
        }
        return;
    }

    // Decompiling method: setTypeMap  Signature: (Ljava/util/Map;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 24 bytes, Code offset: 25086
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 24 Range 0 23 Init 0 fixed
    // Parameter  1 added: Name map1 Type Ljava/util/Map; At 0 24 Range 0 23 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 24 Range 0 23 Init 0 fixed
    public synchronized void setTypeMap(Map map1)
    {
        if(logicalHandle)
        {
            m_opc_oc.map = map1;
        } else
        {
            map = map1;
        }
        return;
    }

    // Decompiling method: setUsingXAFlag  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 25164
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void setUsingXAFlag(boolean flag)
    {
        UsingXA = flag;
        return;
    }

    // Decompiling method: setXAErrorFlag  Signature: (Z)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 25212
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public synchronized void setXAErrorFlag(boolean flag)
    {
        XA_wants_error = flag;
        return;
    }

    // Decompiling method: shutdown  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 21 bytes, Code offset: 25260
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 21 Range 0 20 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 21 Range 0 20 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 21 Range 0 20 Init 0 fixed
    public synchronized void shutdown(int i)
        throws SQLException
    {
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        db_access.shutdown(i);
        return;
    }

    // Decompiling method: startup  Signature: (Ljava/lang/String;I)V
    // Max stack: 3, #locals: 3, #params: 3
    // Code length: 22 bytes, Code offset: 25341
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; 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 i Type I At 0 22 Range 0 21 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 22 Range 0 21 Init 0 fixed
    public synchronized void startup(String s, int i)
        throws SQLException
    {
        if(closed)
        {
            DBError.throwSqlException(8);
        }
        db_access.startup(s, i);
        return;
    }

    // Decompiling method: trace  Signature: (Ljava/lang/String;)V
    // Max stack: 3, #locals: 3, #params: 2
    // Code length: 48 bytes, Code offset: 25423
    // Line Number Table found: 11 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/driver/OracleConnection; At 0 48 Range 0 47 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 48 Range 0 47 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 48 Range 0 47 Init 0 fixed
    // LocalVar   2 added: Name printstream Type Ljava/io/PrintStream; At 3 30 Range 3 32 Init 3
    public void trace(String s)
    {
        PrintStream printstream = DriverManager.getLogStream();
        if(printstream == null)
        {
            if(m_traceEnabled)
            {
                OracleLog.setLogStream(null);
            }
            m_traceEnabled = false;
        } else
        {
            if(!m_traceEnabled)
            {
                OracleLog.setLogStream(printstream);
            }
            OracleLog.print(1, 32, s);
            m_traceEnabled = true;
        }
        return;
    }

    // Decompiling method: <clinit>  Signature: ()V
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 19 bytes, Code offset: 12767
    // Line Number Table found: 5 entries
    // RetValue   0 added: Name <returnValue> Type V At 0 19 Range 0 18 Init 0 fixed
    static 
    {
        /* dll_string = "dll"; */
        /* DEFAULT_ROW_PREFETCH = 10; */
        /* s_osql = null; */
        /* m_traceEnabled = false; */
    }
}
