org.firebirdsql.gds.impl

## Class GDSHelper

- java.lang.Object
- - org.firebirdsql.gds.impl.GDSHelper

-     public final class GDSHelper
      extends java.lang.Object

  Helper class for all GDS-related operations.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_BLOB_BUFFER_SIZE` Deprecated. will be removed in Jaybird 6, use `PropertyConstants.DEFAULT_BLOB_BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GDSHelper(FbDatabase database)` Create instance of this class.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `FbStatement` | `allocateStatement()` Retrieve a newly allocated statement handle with the current connection.
    `void` | `cancelOperation()` Cancel the currently running operation.
    `int` | `compareToVersion(int major, int minor)` Compares the version of this database to the specified major and minor version.
    `FbBlob` | `createBlob(BlobConfig blobConfig)` Create a new blob within the current transaction.
    `void` | `detachDatabase()`
    `void` | `executeImmediate(java.lang.String statement)` Execute a SQL statement directly with the current connection.
    `IConnectionProperties` | `getConnectionProperties()`
    `FbDatabase` | `getCurrentDatabase()`
    `FbTransaction` | `getCurrentTransaction()`
    `int` | `getDatabaseProductMajorVersion()` Get the major version number of the database that we're connected to.
    `int` | `getDatabaseProductMinorVersion()` Get the minor version number of the database that we're connected to.
    `java.lang.String` | `getDatabaseProductName()` Get the name of the database product that we're connected to.
    `java.lang.String` | `getDatabaseProductVersion()` Get the version of the database that we're connected to.
    `int` | `getDialect()`
    `java.lang.String` | `getIscEncoding()` Deprecated. Will be removed in Jaybird 6
    `java.util.TimeZone` | `getSessionTimeZone()` Get the session time zone as configured in the connection property.
    `java.lang.String` | `getUserName()` Get the database login name of the user that we're connected as.
    `boolean` | `inTransaction()` Retrieve whether this connection is currently involved in a transaction
    `FbBlob` | `openBlob(long blobId, BlobConfig blobConfig)` Open a handle to a new blob within the current transaction with the given id.
    `void` | `setCurrentTransaction(FbTransaction transaction)`
    `FbTransaction` | `startTransaction(TransactionParameterBuffer tpb)`
    `LockCloseable` | `withLock()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_BLOB_BUFFER_SIZE

          @Deprecated
          public static final int DEFAULT_BLOB_BUFFER_SIZE

      Deprecated. will be removed in Jaybird 6, use `PropertyConstants.DEFAULT_BLOB_BUFFER_SIZE`
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### GDSHelper

          public GDSHelper(FbDatabase database)

      Create instance of this class.

  - ### Method Detail

    - #### getCurrentTransaction

          public FbTransaction getCurrentTransaction()

    - #### setCurrentTransaction

          public void setCurrentTransaction(FbTransaction transaction)

    - #### getCurrentDatabase

          public FbDatabase getCurrentDatabase()

    - #### getConnectionProperties

          public IConnectionProperties getConnectionProperties()

    - #### getDialect

          public int getDialect()

      Returns:
        Connection dialect

    - #### allocateStatement

          public FbStatement allocateStatement()
                                        throws java.sql.SQLException

      Retrieve a newly allocated statement handle with the current connection.
      Returns:
        The new statement handle
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### inTransaction

          public boolean inTransaction()

      Retrieve whether this connection is currently involved in a transaction
      Returns:
        `true` if this connection is currently in a transaction, `false` otherwise.

    - #### executeImmediate

          public void executeImmediate(java.lang.String statement)
                                throws java.sql.SQLException

      Execute a SQL statement directly with the current connection.
      Parameters:
        `statement` - The SQL statement to execute
      Throws:
        `java.sql.SQLException` - if a Firebird-specific error occurs

    - #### openBlob

          public FbBlob openBlob(long blobId,
                                 BlobConfig blobConfig)
                          throws java.sql.SQLException

      Open a handle to a new blob within the current transaction with the given id.
      Parameters:
        `blobId` - the identifier to be given to the blob
        `blobConfig` - blob configuration
      Throws:
        `java.sql.SQLException` - if a Firebird-specific database error occurs

    - #### createBlob

          public FbBlob createBlob(BlobConfig blobConfig)
                            throws java.sql.SQLException

      Create a new blob within the current transaction.
      Parameters:
        `blobConfig` - blob configuration
      Throws:
        `java.sql.SQLException` - if a Firebird-specific database error occurs

    - #### startTransaction

          public FbTransaction startTransaction(TransactionParameterBuffer tpb)
                                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### detachDatabase

          public void detachDatabase()
                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### cancelOperation

          public void cancelOperation()
                               throws java.sql.SQLException

      Cancel the currently running operation.
      Throws:
        `java.sql.SQLException`

    - #### getDatabaseProductName

          public java.lang.String getDatabaseProductName()

      Get the name of the database product that we're connected to.
      Returns:
        The database product name (i.e. Firebird or Interbase)

    - #### getDatabaseProductVersion

          public java.lang.String getDatabaseProductVersion()

      Get the version of the database that we're connected to.
      Returns:
        the database product version

    - #### getDatabaseProductMajorVersion

          public int getDatabaseProductMajorVersion()

      Get the major version number of the database that we're connected to.
      Returns:
        The major version number of the database

    - #### getDatabaseProductMinorVersion

          public int getDatabaseProductMinorVersion()

      Get the minor version number of the database that we're connected to.
      Returns:
        The minor version number of the database

    - #### compareToVersion

          public int compareToVersion(int major,
                                      int minor)

      Compares the version of this database to the specified major and minor version.

      This method follows the semantics of `Comparable`: returns a negative value if the version of this database connection is smaller than the supplied arguments, 0 if they are equal or positive if its bigger.

      Parameters:
        `major` - Major version to compare
        `minor` - Minor version to compare
      Returns:
        a negative integer, zero, or a positive integer as this database version is less than, equal to, or greater than the specified major and minor version

    - #### getUserName

          public java.lang.String getUserName()

      Get the database login name of the user that we're connected as.
      Returns:
        The username of the current database user

    - #### getIscEncoding

          @Deprecated
          public java.lang.String getIscEncoding()

      Deprecated. Will be removed in Jaybird 6
      Get the encoding used for this connection.
      Returns:
        The name of the encoding used

    - #### getSessionTimeZone

          public java.util.TimeZone getSessionTimeZone()

      Get the session time zone as configured in the connection property.

      NOTE: This is not necessarily the actual server time zone.

      Returns:
        Value of connection property `sessionTimeZone`

    - #### withLock

          public LockCloseable withLock()

      See Also:
        `FbAttachment.withLock()`

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.