java.lang.Object
org.firebirdsql.gds.ng.AbstractFbTransaction
org.firebirdsql.gds.ng.wire.version10.V10Transaction
- All Implemented Interfaces:
FbTransaction
,ExceptionListenable
,FbWireTransaction
FbTransaction
implementation 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
ConstructorsConstructorDescriptionV10Transaction
(FbWireDatabase database, int transactionHandle, TransactionState initialState) Creates a new instance of V10Transaction for the specified database. -
Method Summary
Modifier and TypeMethodDescriptionvoid
commit()
Commit the transactionprotected FbWireDatabase
int
byte[]
getTransactionInfo
(byte[] requestItems, int maxBufferLength) Performs a transaction info request.protected final XdrOutputStream
void
prepare
(byte[] recoveryInformation) Prepare the transaction for two-phase commit/rollback.void
rollback()
Roll back the transactionMethods inherited from class org.firebirdsql.gds.ng.AbstractFbTransaction
addExceptionListener, addTransactionListener, addWeakTransactionListener, getState, getTransactionId, getTransactionInfo, logUnexpectedState, removeExceptionListener, removeTransactionListener, switchState, withLock
Methods inherited from class java.lang.Object
clone, equals, finalize, 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 Details
-
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
initialState
TransactionState.ACTIVE
), or a reconnected (prepared) handle (withinitialState
TransactionState.PREPARED
).- Parameters:
database
- FbWireDatabase implementationtransactionHandle
- Transaction handleinitialState
- The initial state of the transaction (onlyACTIVE
orPREPARED
allowed).
-
-
Method Details
-
getXdrOut
- Throws:
SQLException
-
getDatabase
- Overrides:
getDatabase
in classAbstractFbTransaction
-
getHandle
public int getHandle()- Specified by:
getHandle
in interfaceFbTransaction
- Returns:
- The Firebird transaction handle identifier
-
commit
Description copied from interface:FbTransaction
Commit the transaction- Specified by:
commit
in interfaceFbTransaction
- Throws:
SQLException
-
rollback
Description copied from interface:FbTransaction
Roll back the transaction- Specified by:
rollback
in interfaceFbTransaction
- Throws:
SQLException
-
prepare
Description copied from interface:FbTransaction
Prepare the transaction for two-phase commit/rollback.- Specified by:
prepare
in interfaceFbTransaction
- Parameters:
recoveryInformation
- Transaction recovery information (stored in RDB$TRANSACTION_DESCRIPTION of RDB$TRANSACTIONS), ornull
to prepare without recovery information.- Throws:
SQLException
-
getTransactionInfo
Description copied from interface:FbTransaction
Performs a transaction info request.- Specified by:
getTransactionInfo
in 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:
SQLException
- For errors retrieving the information.
-