Package org.mariadb.jdbc

# Class Connection

java.lang.Object
org.mariadb.jdbc.Connection

All Implemented Interfaces:
  `AutoCloseable`, `Connection`, `Wrapper`

public class Connection extends Object implements Connection
Public Connection class

## Field Summary

### 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
`Connection(Configuration conf, ClosableLock lock, org.mariadb.jdbc.client.Client client)`
Connection construction.

## Method Summary

Modifier and Type
Method
Description
`String`
`__test_host()`
for _TEST_ only
`void`
`abort(Executor executor)`
`boolean`
`cachePrepStmts()`
`void`
`cancelCurrentQuery()`
Cancels the current query - clones the current protocol and executes a query using the new connection.
`void`
`clearWarnings()`
`void`
`close()`
`void`
`commit()`
`Array`
`createArrayOf(String typeName, Object elements)`
`Array`
`createArrayOf(String typeName, Object[] elements)`
`Blob`
`createBlob()`
`Clob`
`createClob()`
`NClob`
`createNClob()`
`SQLXML`
`createSQLXML()`
`Statement`
`createStatement()`
`Statement`
`createStatement(int resultSetType, int resultSetConcurrency)`
`Statement`
`createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`Struct`
`createStruct(String typeName, Object[] attributes)`
`void`
`fireStatementClosed(PreparedStatement prep)`
Fire event to indicate to StatementEventListeners registered on the connection that a PreparedStatement is closed.
`boolean`
`getAutoCommit()`
`String`
`getCatalog()`
`org.mariadb.jdbc.client.Client`
`getClient()`
Associate connection client
`Properties`
`getClientInfo()`
`String`
`getClientInfo(String name)`
`org.mariadb.jdbc.client.Context`
`getContext()`
Connection context.
`protected ExceptionFactory`
`getExceptionFactory()`
Get connection exception factory
`int`
`getHoldability()`
`protected ClosableLock`
`getLock()`
Internal : retrieve internal ClosableLock
`int`
`getLowercaseTableNames()`
Are table case-sensitive or not .
`DatabaseMetaData`
`getMetaData()`
`int`
`getNetworkTimeout()`
`String`
`getSchema()`
`long`
`getThreadId()`
Current server thread id.
`int`
`getTransactionIsolation()`
`Map<String,Class<?>>`
`getTypeMap()`
`SQLWarning`
`getWarnings()`
`QueryTimeoutHandler`
`handleTimeout(int queryTimeout)`
Return a QueryTimeoutHandler for old server that don't support Statement timeout.
`boolean`
`isClosed()`
`boolean`
`isReadOnly()`
`boolean`
`isValid(int timeout)`
`boolean`
`isWrapperFor(Class<?> iface)`
`String`
`nativeSQL(String sql)`
`CallableStatement`
`prepareCall(String sql)`
`CallableStatement`
`prepareCall(String sql, int resultSetType, int resultSetConcurrency)`
`CallableStatement`
`prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`PreparedStatement`
`prepareInternal(String sql, int autoGeneratedKeys, int resultSetType, int resultSetConcurrency, boolean useBinary)`
Prepare statement creation
`PreparedStatement`
`prepareStatement(String sql)`
`PreparedStatement`
`prepareStatement(String sql, int autoGeneratedKeys)`
`PreparedStatement`
`prepareStatement(String sql, int[] columnIndexes)`
`PreparedStatement`
`prepareStatement(String sql, int resultSetType, int resultSetConcurrency)`
`PreparedStatement`
`prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`PreparedStatement`
`prepareStatement(String sql, String[] columnNames)`
`void`
`releaseSavepoint(Savepoint savepoint)`
`void`
`reset()`
Reset connection set has it was after creating a "fresh" new connection.
`void`
`rollback()`
`void`
`rollback(Savepoint savepoint)`
`void`
`setAutoCommit(boolean autoCommit)`
`void`
`setCatalog(String catalog)`
`void`
`setClientInfo(String name, String value)`
`void`
`setClientInfo(Properties properties)`
`void`
`setHoldability(int holdability)`
`void`
`setNetworkTimeout(Executor executor, int milliseconds)`
`void`
`setPoolConnection(MariaDbPoolConnection poolConnection)`
Internal method.
`void`
`setReadOnly(boolean readOnly)`
`Savepoint`
`setSavepoint()`
`Savepoint`
`setSavepoint(String name)`
`void`
`setSchema(String schema)`
`void`
`setTransactionIsolation(int level)`
`void`
`setTypeMap(Map<String,Class<?>> map)`
`<T> T`
`unwrap(Class<T> iface)`
`boolean`
`useServerMaxRows()`
`boolean`
`useServerTimeout()`

### 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`

## Constructor Details

### Connection

public Connection(Configuration conf, ClosableLock lock, org.mariadb.jdbc.client.Client client)
Connection construction.

Parameters:
  `conf` - configuration
  `lock` - thread safe locker
  `client` - client object

## Method Details

### setPoolConnection

public void setPoolConnection(MariaDbPoolConnection poolConnection)
Internal method. Indicate that connection is created from internal pool

Parameters:
  `poolConnection` - PoolConnection

### cancelCurrentQuery

public void cancelCurrentQuery() throws SQLException
Cancels the current query - clones the current protocol and executes a query using the new connection.

Throws:
  `SQLException` - never thrown

### createStatement

public Statement createStatement()

Specified by:
  `createStatement` in interface `Connection`

### prepareStatement

public PreparedStatement prepareStatement(String sql) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareInternal

public PreparedStatement prepareInternal(String sql, int autoGeneratedKeys, int resultSetType, int resultSetConcurrency, boolean useBinary) throws SQLException
Prepare statement creation

Parameters:
  `sql` - sql
  `autoGeneratedKeys` - auto generated key required
  `resultSetType` - result-set type
  `resultSetConcurrency` - concurrency
  `useBinary` - use server prepare statement
Returns:
  prepared statement
Throws:
  `SQLException` - if Prepare fails

### prepareCall

public CallableStatement prepareCall(String sql) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### nativeSQL

public String nativeSQL(String sql) throws SQLException

Specified by:
  `nativeSQL` in interface `Connection`
Throws:
  `SQLException`

### getAutoCommit

public boolean getAutoCommit() throws SQLException

Specified by:
  `getAutoCommit` in interface `Connection`
Throws:
  `SQLException`

### setAutoCommit

public void setAutoCommit(boolean autoCommit) throws SQLException

Specified by:
  `setAutoCommit` in interface `Connection`
Throws:
  `SQLException`

### commit

public void commit() throws SQLException

Specified by:
  `commit` in interface `Connection`
Throws:
  `SQLException`

### rollback

public void rollback() throws SQLException

Specified by:
  `rollback` in interface `Connection`
Throws:
  `SQLException`

### close

public void close() throws SQLException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Connection`
Throws:
  `SQLException`

### isClosed

public boolean isClosed()

Specified by:
  `isClosed` in interface `Connection`

### getContext

public org.mariadb.jdbc.client.Context getContext()
Connection context.

Returns:
  connection context.

### getLowercaseTableNames

public int getLowercaseTableNames() throws SQLException
Are 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

### getMetaData

public DatabaseMetaData getMetaData()

Specified by:
  `getMetaData` in interface `Connection`

### isReadOnly

public boolean isReadOnly()

Specified by:
  `isReadOnly` in interface `Connection`

### setReadOnly

public void setReadOnly(boolean readOnly) throws SQLException

Specified by:
  `setReadOnly` in interface `Connection`
Throws:
  `SQLException`

### getCatalog

public String getCatalog() throws SQLException

Specified by:
  `getCatalog` in interface `Connection`
Throws:
  `SQLException`

### setCatalog

public void setCatalog(String catalog) throws SQLException

Specified by:
  `setCatalog` in interface `Connection`
Throws:
  `SQLException`

### getSchema

public String getSchema() throws SQLException

Specified by:
  `getSchema` in interface `Connection`
Throws:
  `SQLException`

### setSchema

public void setSchema(String schema) throws SQLException

Specified by:
  `setSchema` in interface `Connection`
Throws:
  `SQLException`

### getTransactionIsolation

public int getTransactionIsolation() throws SQLException

Specified by:
  `getTransactionIsolation` in interface `Connection`
Throws:
  `SQLException`

### setTransactionIsolation

public void setTransactionIsolation(int level) throws SQLException

Specified by:
  `setTransactionIsolation` in interface `Connection`
Throws:
  `SQLException`

### getWarnings

public SQLWarning getWarnings() throws SQLException

Specified by:
  `getWarnings` in interface `Connection`
Throws:
  `SQLException`

### clearWarnings

public void clearWarnings() throws SQLException

Specified by:
  `clearWarnings` in interface `Connection`
Throws:
  `SQLException`

### createStatement

public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException

Specified by:
  `createStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareCall

public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### getTypeMap

public Map<String,Class<?>> getTypeMap()

Specified by:
  `getTypeMap` in interface `Connection`

### setTypeMap

public void setTypeMap(Map<String,Class<?>> map) throws SQLException

Specified by:
  `setTypeMap` in interface `Connection`
Throws:
  `SQLException`

### getHoldability

public int getHoldability()

Specified by:
  `getHoldability` in interface `Connection`

### setHoldability

public void setHoldability(int holdability)

Specified by:
  `setHoldability` in interface `Connection`

### setSavepoint

public Savepoint setSavepoint() throws SQLException

Specified by:
  `setSavepoint` in interface `Connection`
Throws:
  `SQLException`

### setSavepoint

public Savepoint setSavepoint(String name) throws SQLException

Specified by:
  `setSavepoint` in interface `Connection`
Throws:
  `SQLException`

### rollback

public void rollback(Savepoint savepoint) throws SQLException

Specified by:
  `rollback` in interface `Connection`
Throws:
  `SQLException`

### releaseSavepoint

public void releaseSavepoint(Savepoint savepoint) throws SQLException

Specified by:
  `releaseSavepoint` in interface `Connection`
Throws:
  `SQLException`

### createStatement

public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `createStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareCall

public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### createClob

public Clob createClob()

Specified by:
  `createClob` in interface `Connection`

### createBlob

public Blob createBlob()

Specified by:
  `createBlob` in interface `Connection`

### createNClob

public NClob createNClob()

Specified by:
  `createNClob` in interface `Connection`

### createSQLXML

public SQLXML createSQLXML() throws SQLException

Specified by:
  `createSQLXML` in interface `Connection`
Throws:
  `SQLException`

### isValid

public boolean isValid(int timeout) throws SQLException

Specified by:
  `isValid` in interface `Connection`
Throws:
  `SQLException`

### setClientInfo

public void setClientInfo(String name, String value)

Specified by:
  `setClientInfo` in interface `Connection`

### getClientInfo

public String getClientInfo(String name)

Specified by:
  `getClientInfo` in interface `Connection`

### getClientInfo

public Properties getClientInfo()

Specified by:
  `getClientInfo` in interface `Connection`

### setClientInfo

public void setClientInfo(Properties properties)

Specified by:
  `setClientInfo` in interface `Connection`

### createArrayOf

public Array createArrayOf(String typeName, Object[] elements) throws SQLException

Specified by:
  `createArrayOf` in interface `Connection`
Throws:
  `SQLException`

### createArrayOf

public Array createArrayOf(String typeName, Object elements) throws SQLException

Throws:
  `SQLException`

### createStruct

public Struct createStruct(String typeName, Object[] attributes) throws SQLException

Specified by:
  `createStruct` in interface `Connection`
Throws:
  `SQLException`

### abort

public void abort(Executor executor) throws SQLException

Specified by:
  `abort` in interface `Connection`
Throws:
  `SQLException`

### setNetworkTimeout

public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException

Specified by:
  `setNetworkTimeout` in interface `Connection`
Throws:
  `SQLException`

### getNetworkTimeout

public int getNetworkTimeout()

Specified by:
  `getNetworkTimeout` in interface `Connection`

### unwrap

public <T> T unwrap(Class<T> iface) throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`

### isWrapperFor

public boolean isWrapperFor(Class<?> iface)

Specified by:
  `isWrapperFor` in interface `Wrapper`

### getClient

public org.mariadb.jdbc.client.Client getClient()
Associate connection client

Returns:
  connection client

### reset

public void reset() throws SQLException
Reset 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

### getThreadId

public long getThreadId()
Current server thread id.

Returns:
  current server thread id

### fireStatementClosed

public void fireStatementClosed(PreparedStatement prep)
Fire event to indicate to StatementEventListeners registered on the connection that a PreparedStatement is closed.

Parameters:
  `prep` - prepare statement closing

### getExceptionFactory

protected ExceptionFactory getExceptionFactory()
Get connection exception factory

Returns:
  connection exception factory

### handleTimeout

public QueryTimeoutHandler handleTimeout(int queryTimeout)
Return a QueryTimeoutHandler for old server that don't support Statement timeout.

Parameters:
  `queryTimeout` - query timeout
Returns:
  a query timeout handler

### getLock

protected ClosableLock getLock()
Internal : retrieve internal ClosableLock

Returns:
  ClosableLock

### useServerTimeout

public boolean useServerTimeout()

### cachePrepStmts

public boolean cachePrepStmts()

### useServerMaxRows

public boolean useServerMaxRows()

### __test_host

public String __test_host()
for _TEST_ only

Returns:
  current host