Class V10Transaction
- java.lang.Object
-
- org.firebirdsql.gds.ng.AbstractFbTransaction
-
- org.firebirdsql.gds.ng.wire.version10.V10Transaction
-
- All Implemented Interfaces:
FbTransaction,ExceptionListenable,FbWireTransaction
public class V10Transaction extends AbstractFbTransaction implements FbWireTransaction
FbTransactionimplementation for the version 10 wire protocol.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Field Summary
-
Fields inherited from class org.firebirdsql.gds.ng.AbstractFbTransaction
exceptionListenerDispatcher, transactionListenerDispatcher
-
-
Constructor Summary
Constructors Constructor Description V10Transaction(FbWireDatabase database, int transactionHandle, TransactionState initialState)Creates a new instance of V10Transaction for the specified database.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit()Commit the transactionprotected FbWireDatabasegetDatabase()intgetHandle()byte[]getTransactionInfo(byte[] requestItems, int maxBufferLength)Performs a transaction info request.protected XdrOutputStreamgetXdrOut()voidprepare(byte[] recoveryInformation)Prepare the transaction for two-phase commit/rollback.voidrollback()Roll back the transaction-
Methods inherited from class org.firebirdsql.gds.ng.AbstractFbTransaction
addExceptionListener, addTransactionListener, addWeakTransactionListener, finalize, getState, getSynchronizationObject, getTransactionId, getTransactionInfo, removeExceptionListener, removeTransactionListener, switchState
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable
addExceptionListener, removeExceptionListener
-
Methods inherited from interface org.firebirdsql.gds.ng.FbTransaction
addTransactionListener, addWeakTransactionListener, getState, getTransactionId, getTransactionInfo, removeTransactionListener
-
-
-
-
Constructor Detail
-
V10Transaction
public V10Transaction(FbWireDatabase database, int transactionHandle, TransactionState initialState)
Creates a new instance of V10Transaction for the specified database.This can either be used for an active handle (with
initialStateTransactionState.ACTIVE), or a reconnected (prepared) handle (withinitialStateTransactionState.PREPARED).- Parameters:
database- FbWireDatabase implementationtransactionHandle- Transaction handleinitialState- The initial state of the transaction (onlyACTIVEorPREPAREDallowed).
-
-
Method Detail
-
getXdrOut
protected final XdrOutputStream getXdrOut() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getDatabase
protected FbWireDatabase getDatabase()
- Overrides:
getDatabasein classAbstractFbTransaction
-
getHandle
public int getHandle()
- Specified by:
getHandlein interfaceFbTransaction- Returns:
- The Firebird transaction handle identifier
-
commit
public void commit() throws java.sql.SQLExceptionDescription copied from interface:FbTransactionCommit the transaction- Specified by:
commitin interfaceFbTransaction- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLExceptionDescription copied from interface:FbTransactionRoll back the transaction- Specified by:
rollbackin interfaceFbTransaction- Throws:
java.sql.SQLException
-
prepare
public void prepare(byte[] recoveryInformation) throws java.sql.SQLExceptionDescription copied from interface:FbTransactionPrepare the transaction for two-phase commit/rollback.- Specified by:
preparein interfaceFbTransaction- Parameters:
recoveryInformation- Transaction recovery information (stored in RDB$TRANSACTION_DESCRIPTION of RDB$TRANSACTIONS), ornullto prepare without recovery information.- Throws:
java.sql.SQLException
-
getTransactionInfo
public byte[] getTransactionInfo(byte[] requestItems, int maxBufferLength) throws java.sql.SQLExceptionDescription copied from interface:FbTransactionPerforms a transaction info request.- Specified by:
getTransactionInfoin interfaceFbTransaction- Parameters:
requestItems- Information items to requestmaxBufferLength- Maximum response buffer length to use- Returns:
- The response buffer (note: length is the actual length of the
response, not
maxBufferLength - Throws:
java.sql.SQLException- For errors retrieving the information.
-
-