OCILIB (C and C++ Driver for Oracle)  4.6.3
ocilib::Transaction Class Reference

Oracle Transaction object. More...

#include <ocilib.hpp>

Inherits ocilib::HandleHolder< OCI_Transaction *>.

Public Types

enum  TransactionFlagsValues { ,
  New = OCI_TRS_NEW, Tight = OCI_TRS_TIGHT, Loose = OCI_TRS_LOOSE, ReadOnly = OCI_TRS_READONLY,
  ReadWrite = OCI_TRS_READWRITE, Serializable = OCI_TRS_SERIALIZABLE
}
 Transaction flags enumerated values. More...
 
typedef Flags< TransactionFlagsValuesTransactionFlags
 Transaction flags. More...
 

Public Member Functions

 Transaction (const Connection &connection, unsigned int timeout, TransactionFlags flags, OCI_XID *pxid=nullptr)
 Create a new global transaction or a serializable/read-only local transaction. More...
 
void Prepare ()
 Prepare a global transaction validation.
 
void Start ()
 Start global transaction.
 
void Stop ()
 Stop current global transaction.
 
void Resume ()
 Resume a stopped global transaction.
 
void Forget ()
 Cancel the prepared global transaction validation.
 
TransactionFlags GetFlags () const
 Return the transaction mode. More...
 
unsigned int GetTimeout () const
 Return the transaction Timeout.
 

Detailed Description

Oracle Transaction object.

This class wraps the OCILIB object handle OCI_Transaction and its related methods

Definition at line 2537 of file ocilib.hpp.

Member Typedef Documentation

◆ TransactionFlags

Member Enumeration Documentation

◆ TransactionFlagsValues

Transaction flags enumerated values.

Enumerator
New 

(Global) Specifies tightly coupled and migratable branch

Tight 

(Global) Specifies a tightly coupled branch

Loose 

(Global) Specifies a loosely coupled branch

ReadOnly 

(Global and local) start a read-only transaction

ReadWrite 

(Global and local) start a read-write transaction

Serializable 

(Global and local) start a serializable transaction

Definition at line 2548 of file ocilib.hpp.

Constructor & Destructor Documentation

◆ Transaction()

ocilib::Transaction::Transaction ( const Connection connection,
unsigned int  timeout,
TransactionFlags  flags,
OCI_XID pxid = nullptr 
)
inline

Create a new global transaction or a serializable/read-only local transaction.

Parameters
connection- Connection
timeout- Time that a transaction stays inactive after being stopped
flags- Transaction flags
pxid- pointer to a global transaction identifier structure
Note
For local transaction, don't use the 'pxid' parameter

Definition at line 1737 of file ocilib_impl.hpp.

References ocilib::Check(), OCI_TransactionCreate(), and OCI_TransactionFree().

Member Function Documentation

◆ GetFlags()

Transaction::TransactionFlags ocilib::Transaction::GetFlags ( ) const
inline

Return the transaction mode.

Note
: see Transaction() for possible values

Definition at line 1772 of file ocilib_impl.hpp.

References ocilib::Check(), and OCI_TransactionGetMode().