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< TransactionFlagsValues > | TransactionFlags
| 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 2383 of file ocilib.hpp.

## Member Typedef Documentation

## TransactionFlags

typedef Flags<TransactionFlagsValues> ocilib::Transaction::TransactionFlags

Transaction flags.

Possible values are Transaction::TransactionFlagsValues

Definition at line 2418 of file ocilib.hpp.

## Member Enumeration Documentation

## TransactionFlagsValues

enum ocilib::Transaction::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 2394 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 1658 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 1693 of file ocilib_impl.hpp.

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