Class JnaTransaction

java.lang.Object
org.firebirdsql.gds.ng.AbstractFbTransaction
org.firebirdsql.gds.ng.jna.JnaTransaction
All Implemented Interfaces:
FbTransaction, ExceptionListenable

public class JnaTransaction extends AbstractFbTransaction
Implementation of FbTransaction for native client access.
Since:
3.0
Author:
Mark Rotteveel
  • Constructor Details

    • JnaTransaction

      public JnaTransaction(JnaDatabase database, com.sun.jna.ptr.IntByReference transactionHandle, TransactionState initialState)
      Initializes AbstractFbTransaction.
      Parameters:
      database - FbDatabase that created this handle.
      transactionHandle - Transaction handle
      initialState - Initial transaction state (allowed values are TransactionState.ACTIVE and TransactionState.PREPARED.
  • Method Details

    • getDatabase

      public JnaDatabase getDatabase()
      Overrides:
      getDatabase in class AbstractFbTransaction
    • getHandle

      public int getHandle()
      Returns:
      The Firebird transaction handle identifier
    • getJnaHandle

      public com.sun.jna.ptr.IntByReference getJnaHandle()
    • commit

      public void commit() throws SQLException
      Description copied from interface: FbTransaction
      Commit the transaction
      Throws:
      SQLException
    • rollback

      public void rollback() throws SQLException
      Description copied from interface: FbTransaction
      Roll back the transaction
      Throws:
      SQLException
    • prepare

      public void prepare(byte[] recoveryInformation) throws SQLException
      Description copied from interface: FbTransaction
      Prepare the transaction for two-phase commit/rollback.
      Parameters:
      recoveryInformation - Transaction recovery information (stored in RDB$TRANSACTION_DESCRIPTION of RDB$TRANSACTIONS), or null to prepare without recovery information.
      Throws:
      SQLException
    • getTransactionInfo

      public byte[] getTransactionInfo(byte[] requestItems, int maxBufferLength) throws SQLException
      Description copied from interface: FbTransaction
      Performs a transaction info request.
      Parameters:
      requestItems - Information items to request
      maxBufferLength - Maximum response buffer length to use
      Returns:
      The response buffer (note: length is the actual length of the response, not maxBufferLength
      Throws:
      SQLException - For errors retrieving the information.