Package org.firebirdsql.jdbc

## Interface FirebirdConnection

All Superinterfaces:
  `java.lang.AutoCloseable`, `java.sql.Connection`, `java.sql.Wrapper`

All Known Implementing Classes:
  `FBConnection`

    public interface FirebirdConnection
    extends java.sql.Connection

Extension of `Connection` interface providing access to Firebird specific features.

Author:
  Roman Rokytskyy

### Field Summary

Fields
`static int` `TPB_CONCURRENCY`
`static int` `TPB_CONSISTENCY`
`static int` `TPB_NO_REC_VERSION`
`static int` `TPB_NOWAIT`
`static int` `TPB_READ`
`static int` `TPB_READ_COMMITTED`
`static int` `TPB_REC_VERSION`
`static int` `TPB_WAIT`
`static int` `TPB_WRITE`

### Fields inherited from interface java.sql.Connection

`TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`java.sql.Blob` `createBlob()`
`TransactionParameterBuffer` `createTransactionParameterBuffer()` Create new instance of `TransactionParameterBuffer`.
`FbDatabase` `getFbDatabase()` Provides access to the low-level connection handle.
`java.lang.String` `getIscEncoding()` Get current ISC encoding.
`TransactionParameterBuffer` `getTransactionParameters​(int isolationLevel)` Get transaction parameters for the specified transaction isolation level.
`boolean` `isUseFirebirdAutoCommit()`
`void` `setTransactionParameters​(int isolationLevel, int[] parameters)` Deprecated. use `setTransactionParameters(int, TransactionParameterBuffer)` instead.
`void` `setTransactionParameters​(int isolationLevel, TransactionParameterBuffer tpb)` Set transaction parameters for the specified transaction isolation level.
`void` `setTransactionParameters​(TransactionParameterBuffer tpb)` Set transaction parameters for the next transactions.

### Methods inherited from interface java.sql.Connection

`abort, beginRequest, clearWarnings, close, commit, createArrayOf, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, endRequest, getAutoCommit, getCatalog, getClientInfo, getClientInfo, getHoldability, getMetaData, getNetworkTimeout, getSchema, getTransactionIsolation, getTypeMap, getWarnings, isClosed, isReadOnly, isValid, nativeSQL, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, rollback, setAutoCommit, setCatalog, setClientInfo, setClientInfo, setHoldability, setNetworkTimeout, setReadOnly, setSavepoint, setSavepoint, setSchema, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid, setTransactionIsolation, setTypeMap`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Field Detail

#### TPB_READ_COMMITTED

    static final int TPB_READ_COMMITTED

See Also:
  Constant Field Values

#### TPB_CONCURRENCY

    static final int TPB_CONCURRENCY

See Also:
  Constant Field Values

#### TPB_CONSISTENCY

    static final int TPB_CONSISTENCY

See Also:
  Constant Field Values

#### TPB_READ

    static final int TPB_READ

See Also:
  Constant Field Values

#### TPB_WRITE

    static final int TPB_WRITE

See Also:
  Constant Field Values

#### TPB_WAIT

    static final int TPB_WAIT

See Also:
  Constant Field Values

#### TPB_NOWAIT

    static final int TPB_NOWAIT

See Also:
  Constant Field Values

#### TPB_REC_VERSION

    static final int TPB_REC_VERSION

See Also:
  Constant Field Values

#### TPB_NO_REC_VERSION

    static final int TPB_NO_REC_VERSION

See Also:
  Constant Field Values

### Method Detail

#### createBlob

    java.sql.Blob createBlob()
                      throws java.sql.SQLException

Specified by:
  `createBlob` in interface `java.sql.Connection`
Returns:
  instance of `FirebirdBlob`.
Throws:
  `java.sql.SQLException`

#### getIscEncoding

    java.lang.String getIscEncoding()
                             throws java.sql.SQLException

Get current ISC encoding.

Returns:
  current ISC encoding.
Throws:
  `java.sql.SQLException`

#### setTransactionParameters

    @Deprecated
    void setTransactionParameters​(int isolationLevel,
                                  int[] parameters)
                           throws java.sql.SQLException

Deprecated.
use `setTransactionParameters(int, TransactionParameterBuffer)` instead.
Set transaction parameters for the specified isolation level. They will take effect only on the newly started transaction.

Parameters:
  `isolationLevel` - JDBC isolation level.
  `parameters` - array of TPB parameters, see all TPB_* constants.
Throws:
  `java.sql.SQLException` - if specified transaction parameters cannot be set.

#### getTransactionParameters

    TransactionParameterBuffer getTransactionParameters​(int isolationLevel)
                                                 throws java.sql.SQLException

Get transaction parameters for the specified transaction isolation level.

Parameters:
  `isolationLevel` - isolation level defined in the `Connection` interface.
Returns:
  instance of `TransactionParameterBuffer` containing current transaction parameters.
Throws:
  `java.sql.SQLException` - if error occured obtaining transaction parameters.

#### createTransactionParameterBuffer

    TransactionParameterBuffer createTransactionParameterBuffer()
                                                         throws java.sql.SQLException

Create new instance of `TransactionParameterBuffer`.

Returns:
  empty instance of `TransactionParameterBuffer`.
Throws:
  `java.sql.SQLException` - if error occured during this operation.

#### setTransactionParameters

    void setTransactionParameters​(int isolationLevel,
                                  TransactionParameterBuffer tpb)
                           throws java.sql.SQLException

Set transaction parameters for the specified transaction isolation level. This method replaces the default TPB mapping with the specified one, changes will be effective from the next transaction start.

Parameters:
  `isolationLevel` - isolation level defined in the `Connection` interface.
  `tpb` - instance of `TransactionParameterBuffer` with parameters to set.
Throws:
  `java.sql.SQLException` - if error occured during this operation.

#### setTransactionParameters

    void setTransactionParameters​(TransactionParameterBuffer tpb)
                           throws java.sql.SQLException

Set transaction parameters for the next transactions. This method does not change the TPB mapping, but replaces the mapping for the current transaction isolation until `Connection.setTransactionIsolation(int)` is called.

Method cannot be called when transaction has already started.

Parameters:
  `tpb` - instance of `TransactionParameterBuffer` with new transaction parameters.
Throws:
  `java.sql.SQLException` - if method is called within a transaction.

#### isUseFirebirdAutoCommit

    boolean isUseFirebirdAutoCommit()

Returns:
  `true` if this connection is configured to use `isc_tpb_autocommit` when in auto commit.

#### getFbDatabase

    FbDatabase getFbDatabase()
                      throws java.sql.SQLException

Provides access to the low-level connection handle.

WARNING using this connection handle directly may bring the JDBC connection in an inconsistent state.

Returns:
  The low-level connection handle.
Throws:
  `java.sql.SQLException`