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
    Modifier and Type | Field | Description
    --- | --- | ---
    `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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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`