Package 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 Description static int
DEFAULT_BLOB_BUFFER_SIZE
Deprecated.will be removed in Jaybird 6, usePropertyConstants.DEFAULT_BLOB_BUFFER_SIZE
-
Constructor Summary
Constructors Constructor Description GDSHelper(FbDatabase database)
Create instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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 6java.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 transactionFbBlob
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()
-
-
-
Field Detail
-
DEFAULT_BLOB_BUFFER_SIZE
@Deprecated public static final int DEFAULT_BLOB_BUFFER_SIZE
Deprecated.will be removed in Jaybird 6, usePropertyConstants.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 blobblobConfig
- 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 compareminor
- 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 6Get 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()
-
-