Class MariaDbConnection
- java.lang.Object
-
- org.mariadb.jdbc.MariaDbConnection
-
- All Implemented Interfaces:
AutoCloseable,Connection,Wrapper
public class MariaDbConnection extends Object implements Connection
-
-
Field Summary
Fields Modifier and Type Field Description ReentrantLocklockprotected booleannullCatalogMeansCurrentMariaDbPooledConnectionpooledConnection-
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
-
Constructor Summary
Constructors Constructor Description MariaDbConnection(Protocol protocol)Creates a new connection with a given protocol and query factory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description HostAddress__test_host()voidabort(Executor executor)Abort connection.booleancanUseServerTimeout()voidclearWarnings()Clears all warnings reported for thisConnectionobject.ClientSidePreparedStatementclientPrepareStatement(String sql)Create a new client prepared statement.voidclose()close the connection.voidcommit()Sends commit to the server.ArraycreateArrayOf(String typeName, Object[] elements)Factory method for creating Array objects.BlobcreateBlob()Constructs an object that implements theBlobinterface.ClobcreateClob()Constructs an object that implements theClobinterface.NClobcreateNClob()Constructs an object that implements theNClobinterface.SQLXMLcreateSQLXML()Constructs an object that implements theSQLXMLinterface.StatementcreateStatement()creates a new statement.StatementcreateStatement(int resultSetType, int resultSetConcurrency)Creates aStatementobject that will generateResultSetobjects with the given type and concurrency.StatementcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.StructcreateStruct(String typeName, Object[] attributes)Factory method for creating Struct objects.booleangetAutoCommit()returns true if statements on this connection are auto committed.StringgetCatalog()Retrieves thisConnectionobject's current catalog name.PropertiesgetClientInfo()Returns a list containing the name and current value of each client info property supported by the driver.StringgetClientInfo(String name)Returns the value of the client info property specified by name.intgetHoldability()Retrieves the current holdability ofResultSetobjects created using thisConnectionobject.StringgetHostname()Deprecated.CallableParameterMetaDatagetInternalParameterMetaData(String procedureName, String databaseName, boolean isFunction)intgetLowercaseTableNames()Are table case sensitive or not .DatabaseMetaDatagetMetaData()returns the meta data about the database.intgetNetworkTimeout()Get network timeout.protected booleangetPinGlobalTxToPhysicalConnection()intgetPort()Deprecated.protected ProtocolgetProtocol()StringgetSchema()longgetServerThreadId()intgetTransactionIsolation()Retrieves thisConnectionobject's current transaction isolation level.Map<String,Class<?>>getTypeMap()Retrieves theMapobject associated with thisConnectionobject.StringgetUsername()Deprecated.SQLWarninggetWarnings()Retrieves the first warning reported by calls on thisConnectionobject.booleanincludeDeadLockInfo()booleanincludeThreadsTraces()booleanisClosed()checks if the connection is closed.booleanisReadOnly()Retrieves whether thisConnectionobject is in read-only mode.booleanisServerMariaDb()booleanisValid(int timeout)Returns true if the connection has not been closed and is still valid.booleanisWrapperFor(Class<?> iface)Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.StringnativeSQL(String sql)static MariaDbConnectionnewConnection(UrlParser urlParser, GlobalStateInfo globalInfo)Create new connection Object.CallableStatementprepareCall(String sql)Creates aCallableStatementobject for calling database stored procedures.CallableStatementprepareCall(String sql, int resultSetType, int resultSetConcurrency)Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency.CallableStatementprepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency.PreparedStatementprepareStatement(String sql)creates a new prepared statement.PreparedStatementprepareStatement(String sql, int autoGeneratedKeys)Creates a defaultPreparedStatementobject that has the capability to retrieve auto-generated keys.PreparedStatementprepareStatement(String sql, int[] columnIndexes)Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array.PreparedStatementprepareStatement(String sql, int resultSetType, int resultSetConcurrency)Creates aPreparedStatementobject that will generateResultSetobjects with the given type and concurrency.PreparedStatementprepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aPreparedStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.PreparedStatementprepareStatement(String sql, String[] columnNames)Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array.static StringquoteIdentifier(String string)voidreenableWarnings()Re-enable warnings, when next statement is executed.voidreleaseSavepoint(Savepoint savepoint)Removes the specifiedSavepointand subsequentSavepointobjects from the current transaction.voidreset()Reset connection set has it was after creating a "fresh" new connection.voidrollback()Rolls back a transaction.voidrollback(Savepoint savepoint)Undoes all changes made after the givenSavepointobject was set.ServerSidePreparedStatementserverPrepareStatement(String sql)Create a new server prepared statement.voidsetAutoCommit(boolean autoCommit)Sets whether this connection is auto committed.voidsetCatalog(String catalog)Sets the given catalog name in order to select a subspace of thisConnectionobject's database in which to work.voidsetClientInfo(String name, String value)Sets the value of the client info property specified by name to the value specified by value.voidsetClientInfo(Properties properties)Sets the value of the connection's client info properties.voidsetDefaultTransactionIsolation(int defaultTransactionIsolation)voidsetHoldability(int holdability)Changes the default holdability ofResultSetobjects created using thisConnectionobject to the given holdability.voidsetHostFailed()If failover is not activated, will close connection when a connection error occur.voidsetNetworkTimeout(Executor executor, int milliseconds)Change network timeout.voidsetReadOnly(boolean readOnly)Sets whether this connection is read only.SavepointsetSavepoint()Creates an unnamed savepoint in the current transaction and returns the newSavepoint *object that represents it.SavepointsetSavepoint(String name)Creates a savepoint with the given name in the current transaction and returns the newSavepointobject that represents it.voidsetSchema(String arg0)voidsetTransactionIsolation(int level)Attempts to change the transaction isolation level for thisConnectionobject to the one given.voidsetTypeMap(Map<String,Class<?>> map)Installs the givenTypeMapobject as the type map for thisConnectionobject.static StringunquoteIdentifier(String string)Deprecated.since 1.3.0<T> Tunwrap(Class<T> iface)Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.booleanversionGreaterOrEqual(int major, int minor, int patch)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
-
-
-
Field Detail
-
lock
public final ReentrantLock lock
-
pooledConnection
public MariaDbPooledConnection pooledConnection
-
nullCatalogMeansCurrent
protected boolean nullCatalogMeansCurrent
-
-
Constructor Detail
-
MariaDbConnection
public MariaDbConnection(Protocol protocol)
Creates a new connection with a given protocol and query factory.- Parameters:
protocol- the protocol to use.
-
-
Method Detail
-
newConnection
public static MariaDbConnection newConnection(UrlParser urlParser, GlobalStateInfo globalInfo) throws SQLException
Create new connection Object.- Parameters:
urlParser- parserglobalInfo- global info- Returns:
- connection object
- Throws:
SQLException- if any connection error occur
-
unquoteIdentifier
@Deprecated public static String unquoteIdentifier(String string)
Deprecated.since 1.3.0UnQuote string.- Parameters:
string- value- Returns:
- unquote string
-
getProtocol
protected Protocol getProtocol()
-
createStatement
public Statement createStatement() throws SQLException
creates a new statement.- Specified by:
createStatementin interfaceConnection- Returns:
- a statement
- Throws:
SQLException- if we cannot create the statement.
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency)
Creates aStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as thecreateStatementmethod above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
createStatementin interfaceConnection- Parameters:
resultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new
Statementobject that will generateResultSetobjects with the given type and concurrency
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
Creates aStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability. This method is the same as thecreateStatementmethod above, but it allows the default result set type, concurrency, and holdability to be overridden.- Specified by:
createStatementin interfaceConnection- Parameters:
resultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
Statementobject that will generateResultSetobjects with the given type, concurrency, and holdability - See Also:
ResultSet
-
clientPrepareStatement
public ClientSidePreparedStatement clientPrepareStatement(String sql) throws SQLException
Create a new client prepared statement.- Parameters:
sql- the query.- Returns:
- a client prepared statement.
- Throws:
SQLException- if there is a problem preparing the statement.
-
serverPrepareStatement
public ServerSidePreparedStatement serverPrepareStatement(String sql) throws SQLException
Create a new server prepared statement.- Parameters:
sql- the query.- Returns:
- a server prepared statement.
- Throws:
SQLException- if there is a problem preparing the statement.
-
prepareStatement
public PreparedStatement prepareStatement(String sql) throws SQLException
creates a new prepared statement.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- the query.- Returns:
- a prepared statement.
- Throws:
SQLException- if there is a problem preparing the statement.
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
Creates aPreparedStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareStatementmethod above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain one or more '?' IN parametersresultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new PreparedStatement object containing the pre-compiled SQL statement that will
produce
ResultSetobjects with the given type and concurrency - Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameters are notResultSetconstants indicating type and concurrency
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Creates aPreparedStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.This method is the same as the
prepareStatementmethod above, but it allows the default result set type, concurrency, and holdability to be overridden.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain one or more '?' IN parametersresultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
PreparedStatementobject, containing the pre-compiled SQL statement, that will generateResultSetobjects with the given type, concurrency, and holdability - Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameters are notResultSetconstants indicating type, concurrency, and holdability- See Also:
ResultSet
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
Creates a defaultPreparedStatementobject 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 anINSERTstatement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method
prepareStatementwill 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 thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' IN parameter placeholdersautoGeneratedKeys- a flag indicating whether auto-generated keys should be returned; one ofStatement.RETURN_GENERATED_KEYSorStatement.NO_GENERATED_KEYS- Returns:
- a new
PreparedStatementobject, containing the pre-compiled SQL statement, that will have the capability of returning auto-generated keys - Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameter is not aStatementconstant indicating whether auto-generated keys should be returned
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
Creates a defaultPreparedStatementobject 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. The driver will ignore the array if the SQL statement is not anINSERTstatement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).An SQL statement with or without IN parameters can be pre-compiled and stored in a
PreparedStatementobject. 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
prepareStatementwill 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 thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- 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 rows- Returns:
- a new
PreparedStatementobject, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column indexes - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
Creates a defaultPreparedStatementobject 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. The driver will ignore the array if the SQL statement is not anINSERTstatement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).An SQL statement with or without IN parameters can be pre-compiled and stored in a
PreparedStatementobject. 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
prepareStatementwill 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 thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- 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 rows- Returns:
- a new
PreparedStatementobject, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column names - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
getInternalParameterMetaData
public CallableParameterMetaData getInternalParameterMetaData(String procedureName, String databaseName, boolean isFunction) throws SQLException
- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql) throws SQLException
Creates aCallableStatementobject for calling database stored procedures. TheCallableStatementobject provides methods for setting up its IN and OUT parameters, and methods for executing the call to a stored procedure. example : {?= call <procedure-name>[(<arg1>,<arg2>, ...)]} or {call <procedure-name>[(<arg1>,<arg2>, ...)]}Note: This method is optimized for handling stored procedure call statements.
- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' parameter placeholders. Typically this statement is specified using JDBC call escape syntax.- Returns:
- a new default
CallableStatementobject containing the pre-compiled SQL statement - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareCallmethod above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by callinggetHoldability().- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain on or more '?' parametersresultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new
CallableStatementobject containing the pre-compiled SQL statement that will produceResultSetobjects with the given type and concurrency - Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameters are notResultSetconstants indicating type and concurrency
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareCallmethod above, but it allows the default result set type, result set concurrency type and holdability to be overridden.- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain on or more '?' parametersresultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
CallableStatementobject, containing the pre-compiled SQL statement, that will generateResultSetobjects with the given type, concurrency, and holdability - Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameters are notResultSetconstants indicating type, concurrency, and holdability- See Also:
ResultSet
-
nativeSQL
public String nativeSQL(String sql) throws SQLException
- Specified by:
nativeSQLin interfaceConnection- Throws:
SQLException
-
getAutoCommit
public boolean getAutoCommit() throws SQLExceptionreturns true if statements on this connection are auto committed.- Specified by:
getAutoCommitin interfaceConnection- Returns:
- true if auto commit is on.
- Throws:
SQLException- if there is an error
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws SQLExceptionSets whether this connection is auto committed.- Specified by:
setAutoCommitin interfaceConnection- Parameters:
autoCommit- if it should be auto committed.- Throws:
SQLException- if something goes wrong talking to the server.
-
commit
public void commit() throws SQLExceptionSends commit to the server.- Specified by:
commitin interfaceConnection- Throws:
SQLException- if there is an error committing.
-
rollback
public void rollback() throws SQLExceptionRolls back a transaction.- Specified by:
rollbackin interfaceConnection- Throws:
SQLException- if there is an error rolling back.
-
rollback
public void rollback(Savepoint savepoint) throws SQLException
Undoes all changes made after the givenSavepointobject was set.This method should be used only when auto-commit has been disabled.
- Specified by:
rollbackin interfaceConnection- Parameters:
savepoint- theSavepointobject to roll back to- Throws:
SQLException- if a database access error occurs, this method is called while participating in a distributed transaction, this method is called on a closed connection, theSavepointobject is no longer valid, or thisConnectionobject is currently in auto-commit mode- See Also:
Savepoint,rollback()
-
close
public void close() throws SQLExceptionclose the connection.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Throws:
SQLException- if there is a problem talking to the server.
-
isClosed
public boolean isClosed()
checks if the connection is closed.- Specified by:
isClosedin interfaceConnection- Returns:
- true if the connection is closed
-
getMetaData
public DatabaseMetaData getMetaData()
returns the meta data about the database.- Specified by:
getMetaDatain interfaceConnection- Returns:
- meta data about the db.
-
isReadOnly
public boolean isReadOnly() throws SQLExceptionRetrieves whether thisConnectionobject is in read-only mode.- Specified by:
isReadOnlyin interfaceConnection- Returns:
trueif thisConnectionobject is read-only;falseotherwise- Throws:
SQLException- SQLException if a database access error occurs or this method is called on a closed connection
-
setReadOnly
public void setReadOnly(boolean readOnly) throws SQLExceptionSets whether this connection is read only.- Specified by:
setReadOnlyin interfaceConnection- Parameters:
readOnly- true if it should be read only.- Throws:
SQLException- if there is a problem
-
getCatalog
public String getCatalog() throws SQLException
Retrieves thisConnectionobject's current catalog name.- Specified by:
getCatalogin interfaceConnection- Returns:
- the current catalog name or
nullif there is none - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection- See Also:
setCatalog(java.lang.String)
-
setCatalog
public void setCatalog(String catalog) throws SQLException
Sets the given catalog name in order to select a subspace of thisConnectionobject's database in which to work.If the driver does not support catalogs, it will silently ignore this request. MariaDB treats catalogs and databases as equivalent
- Specified by:
setCatalogin interfaceConnection- Parameters:
catalog- the name of a catalog (subspace in thisConnectionobject's database) in which to work- Throws:
SQLException- if a database access error occurs or this method is called on a closed connection- See Also:
getCatalog()
-
isServerMariaDb
public boolean isServerMariaDb() throws SQLException- Throws:
SQLException
-
versionGreaterOrEqual
public boolean versionGreaterOrEqual(int major, int minor, int patch)
-
getTransactionIsolation
public int getTransactionIsolation() throws SQLExceptionRetrieves thisConnectionobject's current transaction isolation level.- Specified by:
getTransactionIsolationin interfaceConnection- Returns:
- the current transaction isolation level, which will be one of the following constants:
Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READ,Connection.TRANSACTION_SERIALIZABLE, orConnection.TRANSACTION_NONE. - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection- See Also:
setTransactionIsolation(int)
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws SQLExceptionAttempts to change the transaction isolation level for thisConnectionobject to the one given. The constants defined in the interfaceConnectionare the possible transaction isolation levels.Note: If this method is called during a transaction, the result is implementation-defined.
- Specified by:
setTransactionIsolationin interfaceConnection- Parameters:
level- one of the followingConnectionconstants:Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READ, orConnection.TRANSACTION_SERIALIZABLE. (Note thatConnection.TRANSACTION_NONEcannot be used because it specifies that transactions are not supported.)- Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameter is not one of theConnectionconstants- See Also:
DatabaseMetaData.supportsTransactionIsolationLevel(int),getTransactionIsolation()
-
getWarnings
public SQLWarning getWarnings() throws SQLException
Retrieves the first warning reported by calls on thisConnectionobject. If there is more than one warning, subsequent warnings will be chained to the first one and can be retrieved by calling the methodSQLWarning.getNextWarningon the warning that was retrieved previously.This method may not be called on a closed connection; doing so will cause an
SQLExceptionto be thrown.Note: Subsequent warnings will be chained to this SQLWarning.
- Specified by:
getWarningsin interfaceConnection- Returns:
- the first
SQLWarningobject ornullif there are none - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection- See Also:
SQLWarning
-
clearWarnings
public void clearWarnings() throws SQLExceptionClears all warnings reported for thisConnectionobject. After a call to this method, the methodgetWarningsreturnsnulluntil a new warning is reported for thisConnectionobject.- Specified by:
clearWarningsin interfaceConnection- Throws:
SQLException- SQLException if a database access error occurs or this method is called on a closed connection
-
reenableWarnings
public void reenableWarnings()
Re-enable warnings, when next statement is executed.
-
getTypeMap
public Map<String,Class<?>> getTypeMap()
Retrieves theMapobject associated with thisConnectionobject. Unless the application has added an entry, the type map returned will be empty.- Specified by:
getTypeMapin interfaceConnection- Returns:
- the
java.util.Mapobject associated with thisConnectionobject - Since:
- 1.2
- See Also:
setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
Installs the givenTypeMapobject as the type map for thisConnectionobject. The type map will be used for the custom mapping of SQL structured types and distinct types.- Specified by:
setTypeMapin interfaceConnection- Parameters:
map- thejava.util.Mapobject to install as the replacement for thisConnectionobject's default type map- Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the given parameter is not ajava.util.Mapobject- See Also:
getTypeMap()
-
getHoldability
public int getHoldability()
Retrieves the current holdability ofResultSetobjects created using thisConnectionobject.- Specified by:
getHoldabilityin interfaceConnection- Returns:
- the holdability, one of
ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT - Since:
- 1.4
- See Also:
setHoldability(int),DatabaseMetaData.getResultSetHoldability(),ResultSet
-
setHoldability
public void setHoldability(int holdability)
Changes the default holdability ofResultSetobjects created using thisConnectionobject to the given holdability. The default holdability ofResultSetobjects can be be determined by invokingDatabaseMetaData.getResultSetHoldability().- Specified by:
setHoldabilityin interfaceConnection- Parameters:
holdability- aResultSetholdability constant; one ofResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- See Also:
getHoldability(),DatabaseMetaData.getResultSetHoldability(),ResultSet
-
setSavepoint
public Savepoint setSavepoint() throws SQLException
Creates an unnamed savepoint in the current transaction and returns the newSavepoint *object that represents it.if setSavepoint is invoked outside of an active transaction, a transaction will be started at this newly created savepoint.
- Specified by:
setSavepointin interfaceConnection- Returns:
- the new
Savepointobject - Throws:
SQLException- if a database access error occurs, this method is called while participating in a distributed transaction, this method is called on a closed connection or thisConnectionobject is currently in auto-commit mode- Since:
- 1.4
- See Also:
Savepoint
-
setSavepoint
public Savepoint setSavepoint(String name) throws SQLException
Creates a savepoint with the given name in the current transaction and returns the newSavepointobject that represents it. if setSavepoint is invoked outside of an active transaction, a transaction will be started at this newly created savepoint.- Specified by:
setSavepointin interfaceConnection- Parameters:
name- aStringcontaining the name of the savepoint- Returns:
- the new
Savepointobject - Throws:
SQLException- if a database access error occurs, this method is called while participating in a distributed transaction, this method is called on a closed connection or thisConnectionobject is currently in auto-commit mode- Since:
- 1.4
- See Also:
Savepoint
-
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint) throws SQLException
Removes the specifiedSavepointand subsequentSavepointobjects from the current transaction. Any reference to the savepoint after it have been removed will cause anSQLExceptionto be thrown.- Specified by:
releaseSavepointin interfaceConnection- Parameters:
savepoint- theSavepointobject to be removed- Throws:
SQLException- if a database access error occurs, this method is called on a closed connection or the givenSavepointobject is not a valid savepoint in the current transaction
-
createClob
public Clob createClob()
Constructs an object that implements theClobinterface. The object returned initially contains no data. ThesetAsciiStream,setCharacterStreamandsetStringmethods of theClobinterface may be used to add data to theClob.- Specified by:
createClobin interfaceConnection- Returns:
- An object that implements the
Clobinterface
-
createBlob
public Blob createBlob()
Constructs an object that implements theBlobinterface. The object returned initially contains no data. ThesetBinaryStreamandsetBytesmethods of theBlobinterface may be used to add data to theBlob.- Specified by:
createBlobin interfaceConnection- Returns:
- An object that implements the
Blobinterface
-
createNClob
public NClob createNClob()
Constructs an object that implements theNClobinterface. The object returned initially contains no data. ThesetAsciiStream,setCharacterStreamandsetStringmethods of theNClobinterface may be used to add data to theNClob.- Specified by:
createNClobin interfaceConnection- Returns:
- An object that implements the
NClobinterface
-
createSQLXML
public SQLXML createSQLXML() throws SQLException
Constructs an object that implements theSQLXMLinterface. The object returned initially contains no data. ThecreateXmlStreamWriterobject andsetStringmethod of theSQLXMLinterface may be used to add data to theSQLXMLobject.- Specified by:
createSQLXMLin interfaceConnection- Returns:
- An object that implements the
SQLXMLinterface - Throws:
SQLException- if an object that implements theSQLXMLinterface can not be constructed, this method is called on a closed connection or a database access error occurs.
-
isValid
public boolean isValid(int timeout) throws SQLExceptionReturns true if the connection has not been closed and is still valid. The driver shall submit a query on the connection or use some other mechanism that positively verifies the connection is still valid when this method is called.The query submitted by the driver to validate the connection shall be executed in the context of the current transaction.
- Specified by:
isValidin interfaceConnection- 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 value supplied fortimeoutis less then 0- Since:
- 1.6
- See Also:
DatabaseMetaData.getClientInfoProperties()
-
setClientInfo
public void setClientInfo(String name, String value) throws SQLClientInfoException
Sets the value of the client info property specified by name to the value specified by value.Applications may use the
DatabaseMetaData.getClientInfoPropertiesmethod 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 aSQLClientInfoException, 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.
- ApplicationName - The name of the application currently utilizing the connection
- ClientUser - The name of the user that the application using the connection is performing work for. This may not be the same as the user name that was used in establishing the connection.
- ClientHostname - The hostname of the computer the application using the connection is running on.
- Specified by:
setClientInfoin interfaceConnection- Parameters:
name- 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.- Throws:
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- Since:
- 1.6
-
getClientInfo
public Properties getClientInfo() throws SQLException
Returns a list containing the name and current value of each client info property supported by the driver. The value of a client info property may be null if the property has not been set and does not have a default value.- Specified by:
getClientInfoin interfaceConnection- Returns:
- A
Propertiesobject that contains the name and current value of each of the client info properties supported by the driver. - Throws:
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
-
setClientInfo
public void setClientInfo(Properties properties) throws SQLClientInfoException
Sets the value of the connection's client info properties. ThePropertiesobject 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. SeesetClientInfo (String, String)for more information.If an error occurs in setting any of the client info properties, a
SQLClientInfoExceptionis thrown. TheSQLClientInfoExceptioncontains 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.- Specified by:
setClientInfoin interfaceConnection- Parameters:
properties- the list of client info properties to set- Throws:
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- Since:
- 1.6
- See Also:
setClientInfo(String, String)
-
getClientInfo
public String getClientInfo(String name) throws SQLException
Returns the value of the client info property specified by name. This method may return null if the specified client info property has not been set and does not have a default value. This method will also return null if the specified client info property name is not supported by the driver. Applications may use theDatabaseMetaData.getClientInfoPropertiesmethod to determine the client info properties supported by the driver.- Specified by:
getClientInfoin interfaceConnection- Parameters:
name- The name of the client info property to retrieve- Returns:
- The value of the client info property specified
- Throws:
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- Since:
- 1.6
- See Also:
DatabaseMetaData.getClientInfoProperties()
-
createArrayOf
public Array createArrayOf(String typeName, Object[] elements) throws SQLException
Factory method for creating Array objects. Note: WhencreateArrayOfis used to create an array object that maps to a primitive data type, then it is implementation-defined whether theArrayobject is an array of that primitive data type or an array ofObject. Note: The JDBC driver is responsible for mapping the elementsObjectarray to the default JDBC SQL type defined in java.sql.Types for the given class ofObject. 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 anSQLExceptionis thrown or the driver supports the resulting conversion.- Specified by:
createArrayOfin interfaceConnection- Parameters:
typeName- 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 byArray.getBaseTypeNameelements- the elements that populate the returned object- Returns:
- an Array object whose elements map to the specified SQL type
- Throws:
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 connection
-
createStruct
public Struct createStruct(String typeName, Object[] attributes) throws SQLException
Factory method for creating Struct objects.- Specified by:
createStructin interfaceConnection- Parameters:
typeName- the SQL type name of the SQL structured type that thisStructobject maps to. The typeName is the name of a user-defined type that has been defined for this database. It is the value returned byStruct.getSQLTypeName.attributes- the attributes that populate the returned object- Returns:
- a Struct object that maps to the given SQL type and is populated with the given attributes
- Throws:
SQLException- if a database error occurs, the typeName is null or this method is called on a closed connection
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of callingunwraprecursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then anSQLExceptionis thrown.- Specified by:
unwrapin interfaceWrapper- Parameters:
iface- A Class defining an interface that the result must implement.- Returns:
- an object that implements the interface. May be a proxy for the actual implementing object.
- Throws:
SQLException- If no object found that implements the interface- Since:
- 1.6
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface)
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively callingisWrapperForon the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared tounwrapso that callers can use this method to avoid expensiveunwrapcalls that may fail. If this method returns true then callingunwrapwith the same argument should succeed.- Specified by:
isWrapperForin interfaceWrapper- Parameters:
iface- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
- Since:
- 1.6
-
getUsername
@Deprecated public String getUsername()
Deprecated.returns the username for the connection.- Returns:
- the username.
-
getHostname
@Deprecated public String getHostname()
Deprecated.returns the hostname for the connection.- Returns:
- the hostname.
-
getPort
@Deprecated public int getPort()
Deprecated.returns the port for the connection.- Returns:
- the port
-
getPinGlobalTxToPhysicalConnection
protected boolean getPinGlobalTxToPhysicalConnection()
-
setHostFailed
public void setHostFailed()
If failover is not activated, will close connection when a connection error occur.
-
getLowercaseTableNames
public int getLowercaseTableNames() throws SQLExceptionAre table case sensitive or not . Default Value: 0 (Unix), 1 (Windows), 2 (Mac OS X). If set to 0 (the default on Unix-based systems), table names and aliases and database names are compared in a case-sensitive manner. If set to 1 (the default on Windows), names are stored in lowercase and not compared in a case-sensitive manner. If set to 2 (the default on Mac OS X), names are stored as declared, but compared in lowercase.- Returns:
- int value.
- Throws:
SQLException- if a connection error occur
-
abort
public void abort(Executor executor) throws SQLException
Abort connection.- Specified by:
abortin interfaceConnection- Parameters:
executor- executor- Throws:
SQLException- if security manager doesn't permit it.
-
getNetworkTimeout
public int getNetworkTimeout() throws SQLExceptionGet network timeout.- Specified by:
getNetworkTimeoutin interfaceConnection- Returns:
- timeout
- Throws:
SQLException- if database socket error occur
-
getSchema
public String getSchema()
- Specified by:
getSchemain interfaceConnection
-
setSchema
public void setSchema(String arg0)
- Specified by:
setSchemain interfaceConnection
-
setNetworkTimeout
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
Change network timeout.- Specified by:
setNetworkTimeoutin interfaceConnection- Parameters:
executor- executor (can be null)milliseconds- network timeout in milliseconds.- Throws:
SQLException- if security manager doesn't permit it.
-
getServerThreadId
public long getServerThreadId()
-
canUseServerTimeout
public boolean canUseServerTimeout()
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultTransactionIsolation)
-
reset
public void reset() throws SQLExceptionReset connection set has it was after creating a "fresh" new connection. defaultTransactionIsolation must have been initialized.BUT : - session variable state are reset only if option useResetConnection is set and - if using the option "useServerPrepStmts", PREPARE statement are still prepared
- Throws:
SQLException- if resetting operation failed
-
includeDeadLockInfo
public boolean includeDeadLockInfo()
-
includeThreadsTraces
public boolean includeThreadsTraces()
-
__test_host
public HostAddress __test_host()
-
-