Class NetConnection
java.lang.Object
org.apache.derby.client.am.ClientConnection
org.apache.derby.client.net.NetConnection
- All Implemented Interfaces:
AutoCloseable, Connection, Wrapper, ConnectionCallbackInterface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate boolean(package private) byte[]protected intprivate char[]private Stringprivate PreparedStatementPrepared statement that is used each time isValid() is called on this connection.private static final MessageUtilprotected NetAgentprivate final ClientPooledConnectionprivate ByteBufferprivate byte[]private intprivate byte[]protected intprotected intprotected intprivate byte[]protected intprotected intprivate int(package private) intprivate byte[](package private) String(package private) Stringprotected intprotected intprotected intprotected NetXAResourceFields inherited from class ClientConnection
agent_, autoCommit_, commBufferSize_, databaseMetaData_, databaseName_, dataSource_, encryptionManager_, inUnitOfWork_, isXAConnection_, open_, portNumber_, productID_, resetConnectionAtFirstSql_, serverNameIP_, user_, XA_T0_NOT_ASSOCIATED, XA_T1_ASSOCIATED, xaHostVersion_Fields inherited from interface Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE -
Constructor Summary
ConstructorsConstructorDescriptionNetConnection(LogWriter logWriter, int driverManagerLoginTimeout, String serverName, int portNumber, String databaseName, Properties properties) NetConnection(LogWriter logWriter, String user, String password, BasicClientDataSource40 dataSource, int rmId, boolean isXAConn) NetConnection(LogWriter logWriter, String user, String password, BasicClientDataSource40 dataSource, int rmId, boolean isXAConn, ClientPooledConnection cpc) This constructor is called from the ClientPooledConnection object to enable the NetConnection to passthison to the associated prepared statement object thus enabling the prepared statement object to in turn raise the statement events to the ClientPooledConnection object -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanCheck if the connection can be closed when there are uncommitted operations.protected booleanprivate voidprivate voidcheckPasswordLength(String password) private voidcheckSecmgrForSecmecSupport(int securityMechanism) private voidprivate voidcheckUserLength(String user) private voidcheckUserPassword(String user, String password) voidclose()Close the connection and release its resources.private voidcompleteReset(boolean isDeferredReset) protected voidprivate voidprivate voidcreateArrayOf(String typeName, Object[] elements) createStruct(String typeName, Object[] attributes) protected booleanprivate byte[]encryptedPasswordForEUSRIDPWD(String password) private byte[]encryptedPasswordForUSRENCPWD(String password) private byte[]private char[]flipBits(char[] array) private voidflowConnect(String password, int securityMechanism) private voidprivate voidflowEUSRIDPWDconnect(String password) private voidflowEUSRPWDDTAconnect(String password) private voidflowKeyExchange(int securityMechanism, byte[] publicKey) private booleanflowReconnect(String password, int securityMechanism) private voidflowSecurityCheckAndAccessRdb(int securityMechanism, String user, String password, byte[] encryptedUserid, byte[] encryptedPassword) private voidflowSeedExchange(int securityMechanism, byte[] sourceSeed) private voidprivate voidflowServerAttributesAndKeyExchange(int securityMechanism, byte[] publicKey) private voidprivate voidflowUSRENCPWDconnect(String password) private voidprivate voidflowUSRIDPWDconnect(String password) private voidflowUSRSSBPWDconnect(String password) The User ID and Strong Password Substitute mechanism (USRSSBPWD) authenticates the user like the user ID and password mechanism, but the password does not flow.intgetAGENT()getClientInfoalways returns an emptyPropertiesobject since Derby doesn't support ClientInfoProperties.getClientInfo(String name) getClientInfoalways returns anull Stringsince Derby doesn't support ClientInfoProperties.intprivate String(package private) Xid[]intgetRDB()intintintintgetSQLAM()intbyte[]intgetXAMGR()private voidhandleLoginTimeout(Throwable original) Handle socket timeouts during connection attemptsprivate voidinitialize(String password, BasicClientDataSource40 dataSource, boolean isXAConn) private voidprivate voidfinal booleanprotected booleanbooleanisOpen()Returns if a transaction is in processbooleanisValid(int timeout) Checks if the connection has not been closed and is still valid.booleanisWrapperFor(Class<?> interfaces) Returns false unlessinterfacesis implementedprivate SqlExceptionmapSecchkcd(int secchkcd) protected voidprotected AgentnewAgent_(LogWriter logWriter, int loginTimeout, String serverName, int portNumber, int clientSSLMode) protected ClientCallableStatementnewCallableStatement_(String sql, int type, int concurrency, int holdability) protected ClientDatabaseMetaDataprotected ClientPreparedStatementnewPositionedUpdatePreparedStatement_(String sql, Section section) protected ClientPreparedStatementnewPreparedStatement_(String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes) newSectionManager(Agent agent) protected ClientStatementnewStatement_(int type, int concurrency, int holdability) private byte[]passwordSubstituteForUSRSSBPWD(String password) (package private) voidrdbAccessed(int svrcod, String prdid, boolean crrtknReceived, byte[] crrtkn) private voidreadAllConnectCommandsChained(int securityMechanism) void(package private) voidvoidvoidvoidvoidvoidprivate voidprivate voidreadServerAttributesAndKeyExchange(int securityMechanism) voidprotected voidInvokes readCommit on NetXAConnectionprotected voidInvokes writeRollback on NetXAConnectionprotected voidprotected voidresetCallableStatement_(ClientCallableStatement cs, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) private voidresetNetConnection(LogWriter logWriter) protected voidresetPreparedStatement_(ClientPreparedStatement ps, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes) protected voidresetStatement_(ClientStatement statement, int type, int concurrency, int holdability) (package private) voidsecurityCheckComplete(int svrcod, int secchkcd) final booleanprotected final booleanfinal booleanprotected final booleanChecks whether the server supports locators for large objects.(package private) final booleanCheck whether the server has full support for the QRYCLSIMP parameter in OPNQRY.protected final booleanReturn true if the server supports nanoseconds in timestampsprotected final booleanCheck whether the server supports UDTsprotected final booleanCheck whether the server supports the UTF-8 Ccsid Manager(package private) voidsetAccessSecurityData(int secchkcd, int desiredSecmec, int[] secmecList, boolean sectknReceived, byte[] sectkn) voidsetClientInfo(String name, String value) setClientInfowill always throw aSQLClientInfoExceptionsince Derby does not support any properties.voidsetClientInfo(Properties properties) setClientInfowill throw aSQLClientInfoExceptionunless thepropertiesparameter is empty, since Derby does not support any properties.voidsetConnectionNull(boolean connectionNull) private voidsetDeferredResetPassword(String password) voidsetIndoubtTransactions(List<Xid> indoubtTransactions) voidsetInputStream(InputStream inputStream) voidsetOutputStream(OutputStream outputStream) (package private) voidsetServerAttributeData(String srvclsnm, String srvrlslv) protected final booleanCheck whether the server supports session data caching<T> TReturnsthisif this class implements the interfacebooleanprivate voidwriteAllConnectCommandsChained(int securityMechanism, String user, String password) void(package private) voidvoidvoidvoidvoidvoidprivate voidwriteSecurityCheckAndAccessRdb(int securityMechanism, String user, String password, byte[] encryptedUserid, byte[] encryptedPassword) private voidwriteServerAttributesAndKeyExchange(int securityMechanism, byte[] publicKey) voidwriteTransactionStart(ClientStatement statement) protected voidInvokes write commit on NetXAConnectionprotected voidInvokes writeRollback on NetXAConnectionprotected voidwriteXATransactionStart(ClientStatement statement) Methods inherited from class ClientConnection
abort, beginAborting, checkForClosedConnection, clearWarnings, closeResources, commit, completeAbnormalUnitOfWork, completeAbnormalUnitOfWork, completeChainBreakingDisconnect, completeConnect, completeInitialPiggyBackIsolation, completeInitialPiggyBackSchema, completeLocalCommit, completeLocalRollback, completePiggyBackIsolation, completePiggyBackSchema, completeReset, completeSqlca, createBlob, createClob, createStatement, createStatement, createStatement, finalize, flowAutoCommit, flowRollback, getAutoCommit, getCatalog, getCurrentSchemaName, getHoldability, getMetaData, getNetworkTimeout, getSchema, getServerVersion, getTransactionID, getTransactionIsolation, getTransactionIsolationX, getTypeMap, getWarnings, getXAState, isAborting, isClosed, isClosedX, isPhysicalConnClosed, isReadOnly, isXAConnection, lightReset, nativeSQL, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, reset, resetConnection, resetPrepareCall, resetPrepareStatement, resetStatement, rollback, rollback, setAutoCommit, setCatalog, setHoldability, setNetworkTimeout, setReadOnly, setSavepoint, setSavepoint, setSchema, setTransactionIsolation, setTypeMap, setXAState, transactionInProgressMethods inherited from class Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
Field Details
-
msgutil
-
netAgent_
-
pooledConnection_
-
closeStatementsOnClose
private final boolean closeStatementsOnClose -
targetAgent_
protected int targetAgent_ -
targetCmntcpip_
protected int targetCmntcpip_ -
targetRdb_
protected int targetRdb_ -
targetSecmgr_
int targetSecmgr_ -
targetCmnappc_
protected int targetCmnappc_ -
targetXamgr_
protected int targetXamgr_ -
targetSyncptmgr_
protected int targetSyncptmgr_ -
targetRsyncmgr_
protected int targetRsyncmgr_ -
targetUnicodemgr_
protected int targetUnicodemgr_ -
extnam_
-
targetSrvclsnm_
String targetSrvclsnm_ -
targetSrvrlslv_
String targetSrvrlslv_ -
publicKey_
private transient byte[] publicKey_ -
targetPublicKey_
private transient byte[] targetPublicKey_ -
sourceSeed_
private transient byte[] sourceSeed_ -
targetSeed_
private transient byte[] targetSeed_ -
prddta_
-
crrtkn_
byte[] crrtkn_ -
targetSecmec_
private int targetSecmec_ -
securityMechanism_
private int securityMechanism_ -
deferredResetPassword_
private transient char[] deferredResetPassword_ -
connectionNull
private boolean connectionNull -
xares_
-
indoubtTransactions_
-
currXACallInfoOffset_
protected int currXACallInfoOffset_ -
isValidStmt
Prepared statement that is used each time isValid() is called on this connection. The statement is created the first time isValid is called and closed when the connection is closed (by the close call).
-
-
Constructor Details
-
NetConnection
NetConnection(LogWriter logWriter, int driverManagerLoginTimeout, String serverName, int portNumber, String databaseName, Properties properties) throws SqlException - Throws:
SqlException
-
NetConnection
NetConnection(LogWriter logWriter, String user, String password, BasicClientDataSource40 dataSource, int rmId, boolean isXAConn) throws SqlException - Throws:
SqlException
-
NetConnection
NetConnection(LogWriter logWriter, String user, String password, BasicClientDataSource40 dataSource, int rmId, boolean isXAConn, ClientPooledConnection cpc) throws SqlException This constructor is called from the ClientPooledConnection object to enable the NetConnection to passthison to the associated prepared statement object thus enabling the prepared statement object to in turn raise the statement events to the ClientPooledConnection object- Parameters:
logWriter- LogWriter object associated with this connectionuser- user id for this connectionpassword- password for this connectiondataSource- The DataSource object passed from the PooledConnection object from which this constructor was calledrmId- The Resource manager ID for XA ConnectionsisXAConn- true if this is a XA connectioncpc- The ClientPooledConnection object from which this NetConnection constructor was called. This is used to pass StatementEvents back to the pooledConnection object- Throws:
SqlException
-
-
Method Details
-
setDeferredResetPassword
-
getDeferredResetPassword
-
initialize
private void initialize(String password, BasicClientDataSource40 dataSource, boolean isXAConn) throws SqlException - Throws:
SqlException
-
resetNetConnection
- Throws:
SqlException
-
reset_
- Specified by:
reset_in classClientConnection- Throws:
SqlException
-
completeReset
- Throws:
SqlException
-
flowConnect
- Throws:
SqlException
-
flowSimpleConnect
- Throws:
SqlException
-
handleLoginTimeout
Handle socket timeouts during connection attempts- Throws:
SqlException
-
flowReconnect
- Throws:
SqlException
-
flowUSRIDPWDconnect
- Throws:
SqlException
-
flowUSRIDONLconnect
- Throws:
SqlException
-
flowUSRENCPWDconnect
- Throws:
SqlException
-
flowEUSRIDPWDconnect
- Throws:
SqlException
-
flowEUSRIDDTAconnect
- Throws:
SqlException
-
flowEUSRPWDDTAconnect
- Throws:
SqlException
-
flowUSRSSBPWDconnect
The User ID and Strong Password Substitute mechanism (USRSSBPWD) authenticates the user like the user ID and password mechanism, but the password does not flow. A password substitute is generated instead using the SHA-1 algorithm, and is sent to the application server. The application server generates a password substitute using the same algorithm and compares it with the application requester's password substitute. If equal, the user is authenticated. The SECTKN parameter is used to flow the client and server encryption seeds on the ACCSEC and ACCSECRD commands. More information in DRDA, V3, Volume 3 standard - PWDSSB (page 650)- Throws:
SqlException
-
flowServerAttributes
- Throws:
SqlException
-
flowKeyExchange
- Throws:
SqlException
-
flowSeedExchange
- Throws:
SqlException
-
flowServerAttributesAndKeyExchange
private void flowServerAttributesAndKeyExchange(int securityMechanism, byte[] publicKey) throws SqlException - Throws:
SqlException
-
flowSecurityCheckAndAccessRdb
private void flowSecurityCheckAndAccessRdb(int securityMechanism, String user, String password, byte[] encryptedUserid, byte[] encryptedPassword) throws SqlException - Throws:
SqlException
-
writeAllConnectCommandsChained
private void writeAllConnectCommandsChained(int securityMechanism, String user, String password) throws SqlException - Throws:
SqlException
-
readAllConnectCommandsChained
- Throws:
SqlException
-
writeServerAttributesAndKeyExchange
private void writeServerAttributesAndKeyExchange(int securityMechanism, byte[] publicKey) throws SqlException - Throws:
SqlException
-
readServerAttributesAndKeyExchange
- Throws:
SqlException
-
writeSecurityCheckAndAccessRdb
private void writeSecurityCheckAndAccessRdb(int securityMechanism, String user, String password, byte[] encryptedUserid, byte[] encryptedPassword) throws SqlException - Throws:
SqlException
-
readSecurityCheckAndAccessRdb
- Throws:
SqlException
-
writeDeferredReset
- Throws:
SqlException
-
readDeferredReset
- Throws:
SqlException
-
setServerAttributeData
-
setAccessSecurityData
void setAccessSecurityData(int secchkcd, int desiredSecmec, int[] secmecList, boolean sectknReceived, byte[] sectkn) throws DisconnectException - Throws:
DisconnectException
-
securityCheckComplete
void securityCheckComplete(int svrcod, int secchkcd) -
rdbAccessed
-
newAgent_
protected Agent newAgent_(LogWriter logWriter, int loginTimeout, String serverName, int portNumber, int clientSSLMode) throws SqlException - Specified by:
newAgent_in classClientConnection- Throws:
SqlException
-
newStatement_
protected ClientStatement newStatement_(int type, int concurrency, int holdability) throws SqlException - Specified by:
newStatement_in classClientConnection- Throws:
SqlException
-
resetStatement_
protected void resetStatement_(ClientStatement statement, int type, int concurrency, int holdability) throws SqlException - Specified by:
resetStatement_in classClientConnection- Throws:
SqlException
-
newPositionedUpdatePreparedStatement_
protected ClientPreparedStatement newPositionedUpdatePreparedStatement_(String sql, Section section) throws SqlException - Specified by:
newPositionedUpdatePreparedStatement_in classClientConnection- Throws:
SqlException
-
newPreparedStatement_
protected ClientPreparedStatement newPreparedStatement_(String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes) throws SqlException - Specified by:
newPreparedStatement_in classClientConnection- Throws:
SqlException
-
resetPreparedStatement_
protected void resetPreparedStatement_(ClientPreparedStatement ps, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes) throws SqlException - Specified by:
resetPreparedStatement_in classClientConnection- Throws:
SqlException
-
newCallableStatement_
protected ClientCallableStatement newCallableStatement_(String sql, int type, int concurrency, int holdability) throws SqlException - Specified by:
newCallableStatement_in classClientConnection- Throws:
SqlException
-
resetCallableStatement_
protected void resetCallableStatement_(ClientCallableStatement cs, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SqlException - Specified by:
resetCallableStatement_in classClientConnection- Throws:
SqlException
-
newDatabaseMetaData_
- Specified by:
newDatabaseMetaData_in classClientConnection
-
checkDatabaseName
- Throws:
SqlException
-
checkUserLength
- Throws:
SqlException
-
checkPasswordLength
- Throws:
SqlException
-
checkUser
- Throws:
SqlException
-
checkUserPassword
- Throws:
SqlException
-
checkSecmgrForSecmecSupport
- Throws:
SqlException
-
mapSecchkcd
-
constructCrrtkn
- Throws:
SqlException
-
constructExtnam
- Throws:
SqlException
-
constructPrddta
- Throws:
SqlException
-
initializePublicKeyForEncryption
- Throws:
SqlException
-
initializeClientSeed
- Throws:
SqlException
-
encryptedPasswordForUSRENCPWD
- Throws:
SqlException
-
encryptedUseridForEUSRIDPWD
- Throws:
SqlException
-
encryptedPasswordForEUSRIDPWD
- Throws:
SqlException
-
passwordSubstituteForUSRSSBPWD
- Throws:
SqlException
-
getSQLAM
public int getSQLAM() -
getAGENT
public int getAGENT() -
getCMNTCPIP
public int getCMNTCPIP() -
getRDB
public int getRDB() -
getSECMGR
public int getSECMGR() -
getXAMGR
public int getXAMGR() -
getSYNCPTMGR
public int getSYNCPTMGR() -
getRSYNCMGR
public int getRSYNCMGR() -
flipBits
private char[] flipBits(char[] array) -
writeCommitSubstitute_
- Specified by:
writeCommitSubstitute_in classClientConnection- Throws:
SqlException
-
readCommitSubstitute_
- Specified by:
readCommitSubstitute_in classClientConnection- Throws:
SqlException
-
writeLocalXAStart_
- Specified by:
writeLocalXAStart_in classClientConnection- Throws:
SqlException
-
readLocalXAStart_
- Specified by:
readLocalXAStart_in classClientConnection- Throws:
SqlException
-
writeLocalXACommit_
- Specified by:
writeLocalXACommit_in classClientConnection- Throws:
SqlException
-
readLocalXACommit_
- Specified by:
readLocalXACommit_in classClientConnection- Throws:
SqlException
-
writeLocalXARollback_
- Specified by:
writeLocalXARollback_in classClientConnection- Throws:
SqlException
-
readLocalXARollback_
- Specified by:
readLocalXARollback_in classClientConnection- Throws:
SqlException
-
writeLocalCommit_
- Specified by:
writeLocalCommit_in classClientConnection- Throws:
SqlException
-
readLocalCommit_
- Specified by:
readLocalCommit_in classClientConnection- Throws:
SqlException
-
writeLocalRollback_
- Specified by:
writeLocalRollback_in classClientConnection- Throws:
SqlException
-
readLocalRollback_
- Specified by:
readLocalRollback_in classClientConnection- Throws:
SqlException
-
markClosed_
protected void markClosed_()- Specified by:
markClosed_in classClientConnection
-
isGlobalPending_
protected boolean isGlobalPending_()- Specified by:
isGlobalPending_in classClientConnection
-
doCloseStatementsOnClose_
protected boolean doCloseStatementsOnClose_()- Specified by:
doCloseStatementsOnClose_in classClientConnection
-
allowCloseInUOW_
protected boolean allowCloseInUOW_()Check if the connection can be closed when there are uncommitted operations.- Specified by:
allowCloseInUOW_in classClientConnection- Returns:
- if this connection can be closed when it has uncommitted
operations,
true; otherwise,false
-
allowLocalCommitRollback_
protected boolean allowLocalCommitRollback_()- Specified by:
allowLocalCommitRollback_in classClientConnection
-
setInputStream
-
setOutputStream
-
getInputStream
-
getOutputStream
-
writeTransactionStart
- Overrides:
writeTransactionStartin classClientConnection- Throws:
SqlException
-
readTransactionStart
- Overrides:
readTransactionStartin classClientConnection- Throws:
SqlException
-
setIndoubtTransactions
-
getIndoubtTransactionIds
Xid[] getIndoubtTransactionIds() -
newSectionManager
- Specified by:
newSectionManagerin classClientConnection
-
willAutoCommitGenerateFlow
public boolean willAutoCommitGenerateFlow()- Overrides:
willAutoCommitGenerateFlowin classClientConnection
-
getSecurityMechanism
public int getSecurityMechanism() -
getEncryptionManager
-
getTargetPublicKey
public byte[] getTargetPublicKey() -
getProductID
-
isConnectionNull
public final boolean isConnectionNull()- Returns:
- Returns the connectionNull.
-
setConnectionNull
public void setConnectionNull(boolean connectionNull) - Parameters:
connectionNull- The connectionNull to set.
-
serverSupportsQryclsimp
final boolean serverSupportsQryclsimp()Check whether the server has full support for the QRYCLSIMP parameter in OPNQRY.- Returns:
- true if QRYCLSIMP is fully supported
-
serverSupportsLayerBStreaming
public final boolean serverSupportsLayerBStreaming() -
serverSupportLongRDBNAM
public final boolean serverSupportLongRDBNAM() -
supportsSessionDataCaching
protected final boolean supportsSessionDataCaching()Check whether the server supports session data caching- Specified by:
supportsSessionDataCachingin classClientConnection- Returns:
- true session data caching is supported
-
serverSupportsUtf8Ccsid
protected final boolean serverSupportsUtf8Ccsid()Check whether the server supports the UTF-8 Ccsid Manager- Returns:
- true if the server supports the UTF-8 Ccsid Manager
-
serverSupportsUDTs
protected final boolean serverSupportsUDTs()Check whether the server supports UDTs- Returns:
- true if UDTs are supported
-
serverSupportsEXTDTAAbort
protected final boolean serverSupportsEXTDTAAbort() -
serverSupportsLocators
protected final boolean serverSupportsLocators()Checks whether the server supports locators for large objects.- Specified by:
serverSupportsLocatorsin classClientConnection- Returns:
trueif LOB locators are supported.
-
serverSupportsTimestampNanoseconds
protected final boolean serverSupportsTimestampNanoseconds()Return true if the server supports nanoseconds in timestamps- Specified by:
serverSupportsTimestampNanosecondsin classClientConnection
-
isOpen
public boolean isOpen()Returns if a transaction is in process- Returns:
- open
-
writeXACommit_
Invokes write commit on NetXAConnection- Specified by:
writeXACommit_in classClientConnection- Throws:
SqlException
-
readXACommit_
Invokes readCommit on NetXAConnection- Specified by:
readXACommit_in classClientConnection- Throws:
SqlException
-
writeXARollback_
Invokes writeRollback on NetXAConnection- Specified by:
writeXARollback_in classClientConnection- Throws:
SqlException
-
readXARollback_
Invokes writeRollback on NetXAConnection- Specified by:
readXARollback_in classClientConnection- Throws:
SqlException
-
writeXATransactionStart
- Specified by:
writeXATransactionStartin classClientConnection- Throws:
SqlException
-
createArrayOf
- Throws:
SQLException
-
createNClob
- Throws:
SQLException
-
createSQLXML
- Throws:
SQLException
-
createStruct
- Throws:
SQLException
-
isValid
Checks if the connection has not been closed and is still valid. The validity is checked by running a simple query against the database. The timeout specified by the caller is implemented as follows: On the server: uses the queryTimeout functionality to make the query time out on the server in case the server has problems or is highly loaded. On the client: uses a timeout on the socket to make sure that the client is not blocked forever in the cases where the server is "hanging" or not sending the reply.- Parameters:
timeout- 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.- Returns:
- true if the connection is valid, false otherwise
- Throws:
SQLException- if the parameter value is illegal or if a database error has occurred
-
close
Close the connection and release its resources.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Overrides:
closein classClientConnection- Throws:
SQLException- if a database-access error occurs.
-
setClientInfo
setClientInfowill always throw aSQLClientInfoExceptionsince Derby does not support any properties.- Parameters:
name- a property keyStringvalue- a property valueString- Throws:
SQLClientInfoException- always.
-
setClientInfo
setClientInfowill throw aSQLClientInfoExceptionunless thepropertiesparameter is empty, since Derby does not support any properties. All the property keys in thepropertiesparameter are added to failedProperties of the exception thrown, with REASON_UNKNOWN_PROPERTY as the value.- Parameters:
properties- aPropertiesobject with the properties to set.- Throws:
SQLClientInfoException- unless the properties parameter is null or empty.
-
getClientInfo
getClientInfoalways returns anull Stringsince Derby doesn't support ClientInfoProperties.- Parameters:
name- aStringvalue- Returns:
- a
null Stringvalue - Throws:
SQLException- if the connection is closed.
-
getClientInfo
getClientInfoalways returns an emptyPropertiesobject since Derby doesn't support ClientInfoProperties.- Returns:
- an empty
Propertiesobject. - Throws:
SQLException- if the connection is closed.
-
isWrapperFor
Returns false unlessinterfacesis implemented- Parameters:
interfaces- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
- Throws:
SQLException- if an error occurs while determining whether this is a wrapper for an object with the given interface.
-
unwrap
Returnsthisif this class implements the interface- Parameters:
interfaces- a Class defining an interface- Returns:
- an object that implements the interface
- Throws:
SQLException- if no object if found that implements the interface
-