public class MonitoredConnection
extends java.lang.Object
implements java.sql.Connection
This class is a wrapper for java.sql.Connection. All calls are passed through to an embedded instance of java.sql.Connection.
| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | CLASS_VERSIONClass version string | 
| Constructor and Description | 
|---|
| MonitoredConnection(java.sql.Connection pWrapped,
                   ApplicationLogging pLog,
                   ConnectionStats pStats,
                   java.lang.String pId)Constructs a new wrapper java.sql.Connection wrapper | 
| MonitoredConnection(java.sql.Connection pWrapped,
                   ApplicationLogging pLog,
                   ConnectionStats pStats,
                   java.lang.String pId,
                   java.lang.Integer pMaxFieldSize,
                   java.lang.Integer pMaxRows,
                   java.lang.Integer pQueryTimeout)Constructs a new wrapper java.sql.Connection wrapper | 
| Modifier and Type | Method and Description | 
|---|---|
| void | abort(java.util.concurrent.Executor executor)Terminates an open connection. | 
| void | checkConnectionIntegrity()Checks to see if this connection has been closed, i.e. | 
| void | clearWarnings()Wraps the call to clearWarnings | 
| void | close()Wraps the call to close | 
| void | commit()Wraps the call to commit | 
| java.sql.Array | createArrayOf(java.lang.String typeName,
             java.lang.Object[] elements)Factory method for creating Array objects. | 
| java.sql.Blob | createBlob()Constructs an object that implements the  Blobinterface. | 
| java.sql.Clob | createClob()Constructs an object that implements the  Clobinterface. | 
| java.sql.NClob | createNClob()Constructs an object that implements the  NClobinterface. | 
| java.sql.SQLXML | createSQLXML()Constructs an object that implements the  SQLXMLinterface. | 
| java.sql.Statement | createStatement()Wraps the call to createStatement | 
| java.sql.Statement | createStatement(int p0,
               int p1)Wraps the call to createStatement | 
| java.sql.Statement | createStatement(int resultSetType,
               int resultSetConcurrency,
               int resultSetHoldability)Creates a  Statementobject that will generateResultSetobjects with the given type, concurrency,
 and holdability. | 
| java.sql.Struct | createStruct(java.lang.String typeName,
            java.lang.Object[] attributes)Factory method for creating Struct objects. | 
| java.lang.String | getActiveQuery() | 
| boolean | getAutoCommit()Wraps the call to getAutoCommit | 
| java.lang.String | getCatalog()Wraps the call to getCatalog | 
| java.util.Properties | getClientInfo()Returns a list containing the name and current value of each client info 
 property supported by the driver. | 
| java.lang.String | getClientInfo(java.lang.String name)Returns the value of the client info property specified by name. | 
| java.lang.String | getCreationStackTrace() | 
| int | getHoldability()Retrieves the current holdability of  ResultSetobjects
 created using thisConnectionobject. | 
| java.lang.String | getId() | 
| ApplicationLogging | getLog() | 
| java.lang.Integer | getMaxFieldSize() | 
| java.lang.Integer | getMaxRows() | 
| java.sql.DatabaseMetaData | getMetaData()Wraps the call to getMetaData | 
| int | getNetworkTimeout()Retrieves the number of milliseconds the driver will
 wait for a database request to complete. | 
| java.lang.Integer | getQueryTimeout() | 
| ResourceObject | getResourceObject() | 
| java.lang.String | getSchema()Retrieves this  Connectionobject's current schema name. | 
| ConnectionStats | getStats() | 
| int | getTransactionIsolation()Wraps the call to getTransactionIsolation | 
| java.util.Map | getTypeMap()Wraps the call to getTypeMap | 
| java.sql.SQLWarning | getWarnings()Wraps the call to getWarnings | 
| java.sql.Connection | getWrapped() | 
| boolean | isClosed()Wraps the call to isClosed | 
| boolean | isReadOnly()Wraps the call to isReadOnly | 
| boolean | isValid(int timeout)Returns true if the connection has not been closed and is still valid. | 
| boolean | isWrapperFor(java.lang.Class<?> pInterface)Returns true if this class implements the pInterface argument | 
| java.lang.String | nativeSQL(java.lang.String p0)Wraps the call to nativeSQL | 
| java.sql.CallableStatement | prepareCall(java.lang.String p0)Wraps the call to prepareCall | 
| java.sql.CallableStatement | prepareCall(java.lang.String p0,
           int p1,
           int p2)Wraps the call to prepareCall | 
| java.sql.CallableStatement | prepareCall(java.lang.String sql,
           int resultSetType,
           int resultSetConcurrency,
           int resultSetHoldability)Creates a  CallableStatementobject that will generateResultSetobjects with the given type and concurrency. | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String p0)Wraps the call to prepareStatement | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String sql,
                int autoGeneratedKeys)Creates a default  PreparedStatementobject that has
 the capability to retrieve auto-generated keys. | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String sql,
                int[] columnIndexes)Creates a default  PreparedStatementobject capable
 of returning the auto-generated keys designated by the given array. | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String p0,
                int p1,
                int p2)Wraps the call to prepareStatement | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String sql,
                int resultSetType,
                int resultSetConcurrency,
                int resultSetHoldability)Creates a  PreparedStatementobject that will generateResultSetobjects with the given type, concurrency,
 and holdability. | 
| java.sql.PreparedStatement | prepareStatement(java.lang.String sql,
                java.lang.String[] columnNames)Creates a default  PreparedStatementobject capable
 of returning the auto-generated keys designated by the given array. | 
| void | releaseSavepoint(java.sql.Savepoint savepoint)Removes the given  Savepointobject from the current
 transaction. | 
| void | rollback()Wraps the call to rollback | 
| void | rollback(java.sql.Savepoint savepoint)Undoes all changes made after the given  Savepointobject
 was set. | 
| void | setActiveQuery(java.lang.String pActiveQuery) | 
| void | setAutoCommit(boolean p0)Wraps the call to setAutoCommit | 
| void | setCatalog(java.lang.String p0)Wraps the call to setCatalog | 
| void | setClientInfo(java.util.Properties properties)Sets the value of the connection's client info properties. | 
| void | setClientInfo(java.lang.String name,
             java.lang.String value)Sets the value of the client info property specified by name to the 
 value specified by value. | 
| void | setCreationStackTrace(java.lang.String pStackTrace) | 
| void | setHoldability(int holdability)Changes the holdability of  ResultSetobjects
 created using thisConnectionobject to the given
 holdability. | 
| void | setId(java.lang.String pId) | 
| void | setLog(ApplicationLogging pLog) | 
| void | setMaxFieldSize(java.lang.Integer pMaxFieldSize) | 
| void | setMaxRows(java.lang.Integer pMaxRows) | 
| void | setNetworkTimeout(java.util.concurrent.Executor executor,
                 int milliseconds)Sets the maximum period a  Connectionor
 objects created from theConnectionwill wait for the database to reply to any one request. | 
| void | setQueryTimeout(java.lang.Integer pQueryTimeout) | 
| void | setReadOnly(boolean p0)Wraps the call to setReadOnly | 
| void | setResourceObject(ResourceObject pRobj) | 
| java.sql.Savepoint | setSavepoint()Creates an unnamed savepoint in the current transaction and
 returns the new  Savepointobject that represents it. | 
| java.sql.Savepoint | setSavepoint(java.lang.String name)Creates a savepoint with the given name in the current transaction
 and returns the new  Savepointobject that represents it. | 
| void | setSchema(java.lang.String schema)Sets the given schema name to access. | 
| void | setStats(ConnectionStats pStats) | 
| void | setTransactionIsolation(int p0)Wraps the call to setTransactionIsolation | 
| void | setTypeMap(java.util.Map p0)Wraps the call to setTypeMap | 
| void | setWrapped(java.sql.Connection pWrapped) | 
| <T> T | unwrap(java.lang.Class<T> pInterface)Returns an object that implements the given interface | 
public MonitoredConnection(java.sql.Connection pWrapped,
                   ApplicationLogging pLog,
                   ConnectionStats pStats,
                   java.lang.String pId)
pWrapped - the instance being wrappedpLog - the ApplicationLogging to which output should be
 sent.  SQL statements are logged as info, the actual arguments
 and result set values are logged as debug.  If null, then no
 logging is sent.pStats - the object that receives notifications about
 connection statistics, such as the number of statements executed.
 If null, then no notifications are sent.pId - an identifier for the connection, used when logging.public MonitoredConnection(java.sql.Connection pWrapped,
                   ApplicationLogging pLog,
                   ConnectionStats pStats,
                   java.lang.String pId,
                   java.lang.Integer pMaxFieldSize,
                   java.lang.Integer pMaxRows,
                   java.lang.Integer pQueryTimeout)
pWrapped - the instance being wrappedpLog - the ApplicationLogging to which output should be
 sent.  SQL statements are logged as info, the actual arguments
 and result set values are logged as debug.  If null, then no
 logging is sent.pStats - the object that receives notifications about
 connection statistics, such as the number of statements executed.
 If null, then no notifications are sent.pId - an identifier for the connection, used when logging.pMaxFieldSize - if not null then set on every Statement createdpMaxRow - if not null then set on every Statement createdpQueryTimeout - if not null then set on every Statement createdpublic ResourceObject getResourceObject()
public void setResourceObject(ResourceObject pRobj)
public java.sql.Connection getWrapped()
public void setWrapped(java.sql.Connection pWrapped)
public ApplicationLogging getLog()
public void setLog(ApplicationLogging pLog)
public ConnectionStats getStats()
public void setStats(ConnectionStats pStats)
public java.lang.String getId()
public void setId(java.lang.String pId)
public java.lang.Integer getMaxFieldSize()
public void setMaxFieldSize(java.lang.Integer pMaxFieldSize)
public java.lang.Integer getMaxRows()
public void setMaxRows(java.lang.Integer pMaxRows)
public java.lang.Integer getQueryTimeout()
public void setQueryTimeout(java.lang.Integer pQueryTimeout)
public java.lang.String getCreationStackTrace()
public void setCreationStackTrace(java.lang.String pStackTrace)
public java.lang.String getActiveQuery()
public void setActiveQuery(java.lang.String pActiveQuery)
public void checkConnectionIntegrity()
                              throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.Statement createStatement()
                                   throws java.sql.SQLException
createStatement in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.Statement createStatement(int p0,
                                 int p1)
                                   throws java.sql.SQLException
createStatement in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.PreparedStatement prepareStatement(java.lang.String p0)
                                            throws java.sql.SQLException
prepareStatement in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.PreparedStatement prepareStatement(java.lang.String p0,
                                          int p1,
                                          int p2)
                                            throws java.sql.SQLException
prepareStatement in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.CallableStatement prepareCall(java.lang.String p0)
                                       throws java.sql.SQLException
prepareCall in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.CallableStatement prepareCall(java.lang.String p0,
                                     int p1,
                                     int p2)
                                       throws java.sql.SQLException
prepareCall in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.lang.String nativeSQL(java.lang.String p0)
                           throws java.sql.SQLException
nativeSQL in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setAutoCommit(boolean p0)
                   throws java.sql.SQLException
setAutoCommit in interface java.sql.Connectionjava.sql.SQLExceptionpublic boolean getAutoCommit()
                      throws java.sql.SQLException
getAutoCommit in interface java.sql.Connectionjava.sql.SQLExceptionpublic void commit()
            throws java.sql.SQLException
commit in interface java.sql.Connectionjava.sql.SQLExceptionpublic void rollback()
              throws java.sql.SQLException
rollback in interface java.sql.Connectionjava.sql.SQLExceptionpublic void close()
           throws java.sql.SQLException
close in interface java.lang.AutoCloseableclose in interface java.sql.Connectionjava.sql.SQLExceptionpublic boolean isClosed()
                 throws java.sql.SQLException
isClosed in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.DatabaseMetaData getMetaData()
                                      throws java.sql.SQLException
getMetaData in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setTypeMap(java.util.Map p0)
                throws java.sql.SQLException
setTypeMap in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.util.Map getTypeMap()
                         throws java.sql.SQLException
getTypeMap in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setReadOnly(boolean p0)
                 throws java.sql.SQLException
setReadOnly in interface java.sql.Connectionjava.sql.SQLExceptionpublic boolean isReadOnly()
                   throws java.sql.SQLException
isReadOnly in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setCatalog(java.lang.String p0)
                throws java.sql.SQLException
setCatalog in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.lang.String getCatalog()
                            throws java.sql.SQLException
getCatalog in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setTransactionIsolation(int p0)
                             throws java.sql.SQLException
setTransactionIsolation in interface java.sql.Connectionjava.sql.SQLExceptionpublic int getTransactionIsolation()
                            throws java.sql.SQLException
getTransactionIsolation in interface java.sql.Connectionjava.sql.SQLExceptionpublic java.sql.SQLWarning getWarnings()
                                throws java.sql.SQLException
getWarnings in interface java.sql.Connectionjava.sql.SQLExceptionpublic void clearWarnings()
                   throws java.sql.SQLException
clearWarnings in interface java.sql.Connectionjava.sql.SQLExceptionpublic void setHoldability(int holdability)
                    throws java.sql.SQLException
ResultSet objects
 created using this Connection object to the given
 holdability.setHoldability in interface java.sql.Connectionholdability - a ResultSet holdability constant; one of
        ResultSet.HOLD_CURSORS_OVER_COMMIT or
        ResultSet.CLOSE_CURSORS_AT_COMMITjava.sql.SQLException - if a database access occurs, the given parameter
         is not a ResultSet constant indicating holdability,
         or the given holdability is not supportedgetHoldability(), 
ResultSetpublic int getHoldability()
                   throws java.sql.SQLException
ResultSet objects
 created using this Connection object.getHoldability in interface java.sql.ConnectionResultSet.HOLD_CURSORS_OVER_COMMIT or
        ResultSet.CLOSE_CURSORS_AT_COMMITjava.sql.SQLException - if a database access occurssetHoldability(int), 
ResultSetpublic java.sql.Savepoint setSavepoint()
                                throws java.sql.SQLException
Savepoint object that represents it.setSavepoint in interface java.sql.ConnectionSavepoint objectjava.sql.SQLException - if a database access error occurs
            or this Connection object is currently in
            auto-commit modeSavepointpublic java.sql.Savepoint setSavepoint(java.lang.String name)
                                throws java.sql.SQLException
Savepoint object that represents it.setSavepoint in interface java.sql.Connectionname - a String containing the name of the savepointSavepoint objectjava.sql.SQLException - if a database access error occurs
            or this Connection object is currently in
            auto-commit modeSavepointpublic void rollback(java.sql.Savepoint savepoint)
              throws java.sql.SQLException
Savepoint object
 was set.
 This method should be used only when auto-commit has been disabled.
rollback in interface java.sql.Connectionsavepoint - the Savepoint object to roll back tojava.sql.SQLException - if a database access error occurs,
            the Savepoint object is no longer valid,
            or this Connection object is currently in
            auto-commit modeSavepoint, 
rollback()public void releaseSavepoint(java.sql.Savepoint savepoint)
                      throws java.sql.SQLException
Savepoint object from the current
 transaction. Any reference to the savepoint after it have been removed
 will cause an SQLException to be thrown.releaseSavepoint in interface java.sql.Connectionsavepoint - the Savepoint object to be removedjava.sql.SQLException - if a database access error occurs or
            the given Savepoint object is not a valid
            savepoint in the current transactionpublic java.sql.Statement createStatement(int resultSetType,
                                 int resultSetConcurrency,
                                 int resultSetHoldability)
                                   throws java.sql.SQLException
Statement object that will generate
 ResultSet objects with the given type, concurrency,
 and holdability.
 This method is the same as the createStatement method
 above, but it allows the default result set
 type, concurrency, and holdability to be overridden.createStatement in interface java.sql.ConnectionresultSetType - one of the following ResultSet
        constants:
         ResultSet.TYPE_FORWARD_ONLY,
         ResultSet.TYPE_SCROLL_INSENSITIVE, or
         ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - one of the following ResultSet
        constants:
         ResultSet.CONCUR_READ_ONLY or
         ResultSet.CONCUR_UPDATABLEresultSetHoldability - one of the following ResultSet
        constants:
         ResultSet.HOLD_CURSORS_OVER_COMMIT or
         ResultSet.CLOSE_CURSORS_AT_COMMITStatement object that will generate
         ResultSet objects with the given type,
         concurrency, and holdabilityjava.sql.SQLException - if a database access error occurs
            or the given parameters are not ResultSet
            constants indicating type, concurrency, and holdabilityResultSetpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                          int resultSetType,
                                          int resultSetConcurrency,
                                          int resultSetHoldability)
                                            throws java.sql.SQLException
PreparedStatement object that will generate
 ResultSet objects with the given type, concurrency,
 and holdability.
 
 This method is the same as the prepareStatement method
 above, but it allows the default result set
 type, concurrency, and holdability to be overridden.
prepareStatement in interface java.sql.Connectionsql - a String object that is the SQL statement to
            be sent to the database; may contain one or more ? IN
            parametersresultSetType - one of the following ResultSet
        constants:
         ResultSet.TYPE_FORWARD_ONLY,
         ResultSet.TYPE_SCROLL_INSENSITIVE, or
         ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - one of the following ResultSet
        constants:
         ResultSet.CONCUR_READ_ONLY or
         ResultSet.CONCUR_UPDATABLEresultSetHoldability - one of the following ResultSet
        constants:
         ResultSet.HOLD_CURSORS_OVER_COMMIT or
         ResultSet.CLOSE_CURSORS_AT_COMMITPreparedStatement object, containing the
         pre-compiled SQL statement, that will generate
         ResultSet objects with the given type,
         concurrency, and holdabilityjava.sql.SQLException - if a database access error occurs
            or the given parameters are not ResultSet
            constants indicating type, concurrency, and holdabilityResultSetpublic java.sql.CallableStatement prepareCall(java.lang.String sql,
                                     int resultSetType,
                                     int resultSetConcurrency,
                                     int resultSetHoldability)
                                       throws java.sql.SQLException
CallableStatement object that will generate
 ResultSet objects with the given type and concurrency.
 This method is the same as the prepareCall method
 above, but it allows the default result set
 type, result set concurrency type and holdability to be overridden.prepareCall in interface java.sql.Connectionsql - a String object that is the SQL statement to
            be sent to the database; may contain on or more ? parametersresultSetType - one of the following ResultSet
        constants:
         ResultSet.TYPE_FORWARD_ONLY,
         ResultSet.TYPE_SCROLL_INSENSITIVE, or
         ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - one of the following ResultSet
        constants:
         ResultSet.CONCUR_READ_ONLY or
         ResultSet.CONCUR_UPDATABLEresultSetHoldability - one of the following ResultSet
        constants:
         ResultSet.HOLD_CURSORS_OVER_COMMIT or
         ResultSet.CLOSE_CURSORS_AT_COMMITCallableStatement object, containing the
         pre-compiled SQL statement, that will generate
         ResultSet objects with the given type,
         concurrency, and holdabilityjava.sql.SQLException - if a database access error occurs
            or the given parameters are not ResultSet
            constants indicating type, concurrency, and holdabilityResultSetpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                          int autoGeneratedKeys)
                                            throws java.sql.SQLException
PreparedStatement object that has
 the capability to retrieve auto-generated keys. The given constant
 tells the driver whether it should make auto-generated keys
 available for retrieval.  This parameter is ignored if the SQL
 statement is not an INSERT statement.
 
 Note: This method is optimized for handling
 parametric SQL statements that benefit from precompilation. If
 the driver supports precompilation,
 the method prepareStatement will send
 the statement to the database for precompilation. Some drivers
 may not support precompilation. In this case, the statement may
 not be sent to the database until the PreparedStatement
 object is executed.  This has no direct effect on users; however, it does
 affect which methods throw certain SQLExceptions.
 
 Result sets created using the returned PreparedStatement
 object will by default be type TYPE_FORWARD_ONLY
 and have a concurrency level of CONCUR_READ_ONLY.
prepareStatement in interface java.sql.Connectionsql - an SQL statement that may contain one or more '?' IN
        parameter placeholdersautoGeneratedKeys - a flag indicating whether auto-generated keys
        should be returned; one of
        Statement.RETURN_GENERATED_KEYS or
              Statement.NO_GENERATED_KEYSPreparedStatement object, containing the
         pre-compiled SQL statement, that will have the capability of
         returning auto-generated keysjava.sql.SQLException - if a database access error occurs
         or the given parameter is not a Statement
         constant indicating whether auto-generated keys should be
         returnedpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                          int[] columnIndexes)
                                            throws java.sql.SQLException
PreparedStatement object capable
 of returning the auto-generated keys designated by the given array.
 This array contains the indexes of the columns in the target
 table that contain the auto-generated keys that should be made
 available. This array is ignored if the SQL
 statement is not an INSERT statement.
 
 An SQL statement with or without IN parameters can be
 pre-compiled and stored in a PreparedStatement object. This
 object can then be used to efficiently execute this statement
 multiple times.
 
 Note: This method is optimized for handling
 parametric SQL statements that benefit from precompilation. If
 the driver supports precompilation,
 the method prepareStatement will send
 the statement to the database for precompilation. Some drivers
 may not support precompilation. In this case, the statement may
 not be sent to the database until the PreparedStatement
 object is executed.  This has no direct effect on users; however, it does
 affect which methods throw certain SQLExceptions.
 
 Result sets created using the returned PreparedStatement
 object will by default be type TYPE_FORWARD_ONLY
 and have a concurrency level of CONCUR_READ_ONLY.
prepareStatement in interface java.sql.Connectionsql - an SQL statement that may contain one or more '?' IN
        parameter placeholderscolumnIndexes - an array of column indexes indicating the columns
        that should be returned from the inserted row or rowsPreparedStatement object, containing the
         pre-compiled statement, that is capable of returning the
         auto-generated keys designated by the given array of column
         indexesjava.sql.SQLException - if a database access error occurspublic java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                          java.lang.String[] columnNames)
                                            throws java.sql.SQLException
PreparedStatement object capable
 of returning the auto-generated keys designated by the given array.
 This array contains the names of the columns in the target
 table that contain the auto-generated keys that should be returned.
 This array is ignored if the SQL
 statement is not an INSERT statement.
 
 An SQL statement with or without IN parameters can be
 pre-compiled and stored in a PreparedStatement object. This
 object can then be used to efficiently execute this statement
 multiple times.
 
 Note: This method is optimized for handling
 parametric SQL statements that benefit from precompilation. If
 the driver supports precompilation,
 the method prepareStatement will send
 the statement to the database for precompilation. Some drivers
 may not support precompilation. In this case, the statement may
 not be sent to the database until the PreparedStatement
 object is executed.  This has no direct effect on users; however, it does
 affect which methods throw certain SQLExceptions.
 
 Result sets created using the returned PreparedStatement
 object will by default be type TYPE_FORWARD_ONLY
 and have a concurrency level of CONCUR_READ_ONLY.
prepareStatement in interface java.sql.Connectionsql - an SQL statement that may contain one or more '?' IN
        parameter placeholderscolumnNames - an array of column names indicating the columns
        that should be returned from the inserted row or rowsPreparedStatement object, containing the
         pre-compiled statement, that is capable of returning the
         auto-generated keys designated by the given array of column
         namesjava.sql.SQLException - if a database access error occurspublic java.sql.Clob createClob()
                         throws java.sql.SQLException
Clob interface. 
 The object returned initially contains no data.  The 
 setAsciiStream, setCharacterStream and 
 setString methods of the Clob interface 
 may be used to add data to the Clob.createClob in interface java.sql.ConnectionClob interfacejava.sql.SQLException - if an object that implements the
 Clob interface can not be constructed, this method is 
 called on a closed connection or a database access error occurs.java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not 
 support this data typepublic java.sql.Blob createBlob()
                         throws java.sql.SQLException
Blob interface. 
 The object returned initially contains no data.  The 
 setBinaryStream and setBytes methods of 
 the Blob interface may be used to add data to the 
 Blob.createBlob in interface java.sql.ConnectionBlob interfacejava.sql.SQLException - if an object that implements the
 Blob interface can not be constructed, this method is 
 called on a closed connection or a database access error occurs.java.sql.SQLFeatureNotSupportedException - if the JDBC driver does 
 not support this data typepublic java.sql.NClob createNClob()
                           throws java.sql.SQLException
NClob interface. The object
 returned initially contains no data.  The setAsciiStream,
 setCharacterStream and setString methods of the NClob interface may
 be used to add data to the NClob.createNClob in interface java.sql.ConnectionNClob interfacejava.sql.SQLException - if an object that implements the
 NClob interface can not be constructed, this method is 
 called on a closed connection or a database access error occurs.java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
 this data typepublic java.sql.SQLXML createSQLXML()
                             throws java.sql.SQLException
SQLXML interface. The object
 returned initially contains no data. The createXmlStreamWriter object and
 setString method of the SQLXML interface may be used to add data to the SQLXML
 object.createSQLXML in interface java.sql.ConnectionSQLXML interfacejava.sql.SQLException - if an object that implements the SQLXML interface can not
 be constructed, this method is 
 called on a closed connection or a database access error occurs.java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
 this data typepublic boolean isValid(int timeout)
                throws java.sql.SQLException
The query submitted by the driver to validate the connection shall be executed in the context of the current transaction.
isValid in interface java.sql.Connectiontimeout - -               The time in seconds to wait for the database operation 
                                                used to validate the connection to complete.  If 
                                                the timeout period expires before the operation 
                                                completes, this method returns false.  A value of 
                                                0 indicates a timeout is not applied to the 
                                                database operation.
 java.sql.SQLException - if the value supplied for timeout 
 is less then 0DatabaseMetaData.getClientInfoProperties()public void setClientInfo(java.lang.String name,
                 java.lang.String value)
                   throws java.sql.SQLClientInfoException
 Applications may use the DatabaseMetaData.getClientInfoProperties 
 method to determine the client info properties supported by the driver 
 and the maximum length that may be specified for each property.
 
The driver stores the value specified in a suitable location in the database. For example in a special register, session parameter, or system table column. For efficiency the driver may defer setting the value in the database until the next time a statement is executed or prepared. Other than storing the client information in the appropriate place in the database, these methods shall not alter the behavior of the connection in anyway. The values supplied to these methods are used for accounting, diagnostics and debugging purposes only.
The driver shall generate a warning if the client info name specified is not recognized by the driver.
 If the value specified to this method is greater than the maximum 
 length for the property the driver may either truncate the value and 
 generate a warning or generate a SQLClientInfoException.  If the driver 
 generates a SQLClientInfoException, the value specified was not set on the 
 connection.
 
The following are standard client info properties. Drivers are not required to support these properties however if the driver supports a client info property that can be described by one of the standard properties, the standard property name should be used.
setClientInfo in interface java.sql.Connectionname - The name of the client info property to setvalue - The value to set the client info property to.  If the 
                                        value is null, the current value of the specified
                                        property is cleared.
 java.sql.SQLClientInfoException - if the database server returns an error while 
                        setting the client info value on the database server or this method 
 is called on a closed connection
 public void setClientInfo(java.util.Properties properties)
                   throws java.sql.SQLClientInfoException
Properties object contains the names and values of the client info 
 properties to be set.  The set of client info properties contained in 
 the properties list replaces the current set of client info properties 
 on the connection.  If a property that is currently set on the 
 connection is not present in the properties list, that property is 
 cleared.  Specifying an empty properties list will clear all of the 
 properties on the connection.  See setClientInfo (String, String) for 
 more information.
   
 If an error occurs in setting any of the client info properties, a 
 SQLClientInfoException is thrown. The SQLClientInfoException
 contains information indicating which client info properties were not set. 
 The state of the client information is unknown because 
 some databases do not allow multiple client info properties to be set 
 atomically.  For those databases, one or more properties may have been 
 set before the error occurred.
 
setClientInfo in interface java.sql.Connectionproperties - the list of client info properties to set
 java.sql.SQLClientInfoException - if the database server returns an error while 
                        setting the clientInfo values on the database server or this method 
 is called on a closed connection 
 setClientInfo(String, String)public java.lang.String getClientInfo(java.lang.String name)
                               throws java.sql.SQLException
 Applications may use the DatabaseMetaData.getClientInfoProperties
 method to determine the client info properties supported by the driver.
 
getClientInfo in interface java.sql.Connectionname - The name of the client info property to retrieve
 java.sql.SQLException - if the database server returns an error when 
                                                        fetching the client info value from the database 
or this method is called on a closed connection
 DatabaseMetaData.getClientInfoProperties()public java.util.Properties getClientInfo()
                                   throws java.sql.SQLException
getClientInfo in interface java.sql.ConnectionProperties object that contains the name and current value of 
                        each of the client info properties supported by the driver.  
 java.sql.SQLException - if the database server returns an error when 
                        fetching the client info values from the database
 or this method is called on a closed connection
 public java.sql.Array createArrayOf(java.lang.String typeName,
                           java.lang.Object[] elements)
                             throws java.sql.SQLException
 Note: When createArrayOf is used to create an array object 
 that maps to a primitive data type, then it is implementation-defined 
 whether the Array object is an array of that primitive 
 data type or an array of Object.
 
 Note: The JDBC driver is responsible for mapping the elements 
 Object array to the default JDBC SQL type defined in 
 java.sql.Types for the given class of Object. The default 
 mapping is specified in Appendix B of the JDBC specification.  If the
 resulting JDBC type is not the appropriate type for the given typeName then 
 it is implementation defined whether an SQLException is 
 thrown or the driver supports the resulting conversion.
createArrayOf in interface java.sql.ConnectiontypeName - the SQL name of the type the elements of the array map to. The typeName is a
 database-specific name which may be the name of a built-in type, a user-defined type or a standard  SQL type supported by this database. This
  is the value returned by Array.getBaseTypeNameelements - the elements that populate the returned objectjava.sql.SQLException - if a database error occurs, the JDBC type is not
  appropriate for the typeName and the conversion is not supported, the typeName is null or this method is called on a closed connectionjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this data typepublic java.sql.Struct createStruct(java.lang.String typeName,
                           java.lang.Object[] attributes)
                             throws java.sql.SQLException
createStruct in interface java.sql.ConnectiontypeName - the SQL type name of the SQL structured type that this Struct 
 object maps to. The typeName is the name of  a user-defined type that
 has been defined for this database. It is the value returned by
 Struct.getSQLTypeName.attributes - the attributes that populate the returned objectjava.sql.SQLException - if a database error occurs, the typeName is null or this method is called on a closed connectionjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this data typepublic boolean isWrapperFor(java.lang.Class<?> pInterface)
                     throws java.sql.SQLException
isWrapperFor in interface java.sql.WrapperpInterface - the interface to testjava.sql.SQLException - if there's an error determining whether this is
 a wrapper for the interfacepublic <T> T unwrap(java.lang.Class<T> pInterface)
         throws java.sql.SQLException
unwrap in interface java.sql.WrapperpInterface - the interface of the object to returnjava.sql.SQLException - if no object is found that implements
 the given interfacepublic void setSchema(java.lang.String schema)
               throws java.sql.SQLException
If the driver does not support schemas, it will silently ignore this request.
 Calling setSchema has no effect on previously created or prepared
 Statement objects. It is implementation defined whether a DBMS
 prepare operation takes place immediately when the Connection
 method prepareStatement or prepareCall is invoked.
 For maximum portability, setSchema should be called before a
 Statement is created or prepared.
setSchema in interface java.sql.Connectionschema - the name of a schema  in which to workjava.sql.SQLException - if a database access error occurs
 or this method is called on a closed connectiongetSchema()public java.lang.String getSchema()
                           throws java.sql.SQLException
Connection object's current schema name.getSchema in interface java.sql.Connectionnull if there is nonejava.sql.SQLException - if a database access error occurs
 or this method is called on a closed connectionsetSchema(java.lang.String)public void abort(java.util.concurrent.Executor executor)
           throws java.sql.SQLException
abort results in:
 SQLException.
 
 Calling abort marks the connection closed and releases any
 resources. Calling abort on a closed connection is a
 no-op.
 
 It is possible that the aborting and releasing of the resources that are
 held by the connection can take an extended period of time.  When the
 abort method returns, the connection will have been marked as
 closed and the Executor that was passed as a parameter to abort
 may still be executing tasks to release resources.
 
 This method checks to see that there is an SQLPermission
 object before allowing the method to proceed.  If a
 SecurityManager exists and its
 checkPermission method denies calling abort,
 this method throws a
 java.lang.SecurityException.
abort in interface java.sql.Connectionexecutor - The Executor  implementation which will
 be used by abort.java.sql.SQLException - if a database access error occurs or
 the executor is null,java.lang.SecurityException - if a security manager exists and its
    checkPermission method denies calling abortSecurityManager.checkPermission(java.security.Permission), 
Executorpublic void setNetworkTimeout(java.util.concurrent.Executor executor,
                     int milliseconds)
                       throws java.sql.SQLException
Connection or
 objects created from the Connection
 will wait for the database to reply to any one request. If any
  request remains unanswered, the waiting method will
 return with a SQLException, and the Connection
 or objects created from the Connection  will be marked as
 closed. Any subsequent use of
 the objects, with the exception of the close,
 isClosed or Connection.isValid
 methods, will result in  a SQLException.
 
 Note: This method is intended to address a rare but serious
 condition where network partitions can cause threads issuing JDBC calls
 to hang uninterruptedly in socket reads, until the OS TCP-TIMEOUT
 (typically 10 minutes). This method is related to the
 abort()  method which provides an administrator
 thread a means to free any such threads in cases where the
 JDBC connection is accessible to the administrator thread.
 The setNetworkTimeout method will cover cases where
 there is no administrator thread, or it has no access to the
 connection. This method is severe in it's effects, and should be
 given a high enough value so it is never triggered before any more
 normal timeouts, such as transaction timeouts.
 
 JDBC driver implementations  may also choose to support the
 setNetworkTimeout method to impose a limit on database
 response time, in environments where no network is present.
 
Drivers may internally implement some or all of their API calls with multiple internal driver-database transmissions, and it is left to the driver implementation to determine whether the limit will be applied always to the response to the API call, or to any single request made during the API call.
This method can be invoked more than once, such as to set a limit for an area of JDBC code, and to reset to the default on exit from this area. Invocation of this method has no impact on already outstanding requests.
 The Statement.setQueryTimeout() timeout value is independent of the
 timeout value specified in setNetworkTimeout. If the query timeout
 expires  before the network timeout then the
 statement execution will be canceled. If the network is still
 active the result will be that both the statement and connection
 are still usable. However if the network timeout expires before
 the query timeout or if the statement timeout fails due to network
 problems, the connection will be marked as closed, any resources held by
 the connection will be released and both the connection and
 statement will be unusable.
 When the driver determines that the setNetworkTimeout timeout
 value has expired, the JDBC driver marks the connection
 closed and releases any resources held by the connection.
 
 This method checks to see that there is an SQLPermission
 object before allowing the method to proceed.  If a
 SecurityManager exists and its
 checkPermission method denies calling
 setNetworkTimeout, this method throws a
 java.lang.SecurityException.
setNetworkTimeout in interface java.sql.Connectionexecutor - The Executor  implementation which will
 be used by setNetworkTimeout.milliseconds - The time in milliseconds to wait for the database
 operation
  to complete.  If the JDBC driver does not support milliseconds, the
 JDBC driver will round the value up to the nearest second.  If the
 timeout period expires before the operation
 completes, a SQLException will be thrown.
 A value of 0 indicates that there is not timeout for database operations.java.sql.SQLException - if a database access error occurs, this
 method is called on a closed connection,
 the executor is null,
 or the value specified for seconds is less than 0.java.lang.SecurityException - if a security manager exists and its
    checkPermission method denies calling
 setNetworkTimeout.java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
 this methodSecurityManager.checkPermission(java.security.Permission), 
Statement.setQueryTimeout(int), 
getNetworkTimeout(), 
abort(java.util.concurrent.Executor), 
Executorpublic int getNetworkTimeout()
                      throws java.sql.SQLException
SQLException is thrown.getNetworkTimeout in interface java.sql.Connectionjava.sql.SQLException - if a database access error occurs or
 this method is called on a closed Connectionjava.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support
 this methodsetNetworkTimeout(java.util.concurrent.Executor, int)