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
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
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 void
commit()
Commit the transactionprotected FbWireDatabase
getDatabase()
int
getHandle()
byte[]
getTransactionInfo(byte[] requestItems, int maxBufferLength)
Performs a transaction info request.protected XdrOutputStream
getXdrOut()
void
prepare(byte[] recoveryInformation)
Prepare the transaction for two-phase commit/rollback.void
rollback()
Roll back the transaction-
Methods inherited from class org.firebirdsql.gds.ng.AbstractFbTransaction
addExceptionListener, addTransactionListener, addWeakTransactionListener, finalize, getState, getTransactionId, getTransactionInfo, removeExceptionListener, removeTransactionListener, switchState, withLock
-
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
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 Detail
-
getXdrOut
protected final XdrOutputStream getXdrOut() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getDatabase
protected FbWireDatabase getDatabase()
- Overrides:
getDatabase
in classAbstractFbTransaction
-
getHandle
public int getHandle()
- Specified by:
getHandle
in interfaceFbTransaction
- Returns:
- The Firebird transaction handle identifier
-
commit
public void commit() throws java.sql.SQLException
Description copied from interface:FbTransaction
Commit the transaction- Specified by:
commit
in interfaceFbTransaction
- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLException
Description copied from interface:FbTransaction
Roll back the transaction- Specified by:
rollback
in interfaceFbTransaction
- Throws:
java.sql.SQLException
-
prepare
public void prepare(byte[] recoveryInformation) throws java.sql.SQLException
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:
java.sql.SQLException
-
getTransactionInfo
public byte[] getTransactionInfo(byte[] requestItems, int maxBufferLength) throws java.sql.SQLException
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:
java.sql.SQLException
- For errors retrieving the information.
-
-