Local transactions are implicit within connection objects and there is no specific call or programming step for using it.
In order to control changes made in the database :
OCILIB supports a feature called 'Auto Commit' that performs an implicit and automatic commit call after every execute call
Functions | |
OCI_EXPORT boolean OCI_API | OCI_Commit (OCI_Connection *con) |
Commit current pending changes. | |
OCI_EXPORT boolean OCI_API | OCI_Rollback (OCI_Connection *con) |
Cancel current pending changes. | |
OCI_EXPORT boolean OCI_API | OCI_SetAutoCommit (OCI_Connection *con, boolean enable) |
Enable / disable auto commit mode. | |
OCI_EXPORT boolean OCI_API | OCI_GetAutoCommit (OCI_Connection *con) |
Get current auto commit mode status. | |
OCI_EXPORT OCI_Transaction *OCI_API | OCI_TransactionCreate (OCI_Connection *con, unsigned int timeout, unsigned int mode, OCI_XID *pxid) |
Create a new global transaction or a serializable/read-only local transaction. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionFree (OCI_Transaction *trans) |
Free current transaction. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionStart (OCI_Transaction *trans) |
Start global transaction. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionStop (OCI_Transaction *trans) |
Stop current global transaction. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionResume (OCI_Transaction *trans) |
Resume a stoppped global transaction. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionPrepare (OCI_Transaction *trans) |
Prepare a global transaction validation. | |
OCI_EXPORT boolean OCI_API | OCI_TransactionForget (OCI_Transaction *trans) |
Cancel the prepared global transaction validation. | |
OCI_EXPORT unsigned int OCI_API | OCI_TransactionGetMode (OCI_Transaction *trans) |
Return global transaction mode. | |
OCI_EXPORT unsigned int OCI_API | OCI_TransactionGetTimeout (OCI_Transaction *trans) |
Return global transaction Timeout. |
OCI_EXPORT boolean OCI_API OCI_Commit | ( | OCI_Connection * | con | ) |
Commit current pending changes.
con | - Connection handle |
Definition at line 617 of file connection.c.
References OCI_Connection::cxt, and OCI_Connection::err.
Referenced by OCI_Execute(), and OCI_TransactionStop().
OCI_EXPORT boolean OCI_API OCI_GetAutoCommit | ( | OCI_Connection * | con | ) |
Get current auto commit mode status.
con | - Connection handle |
Definition at line 676 of file connection.c.
References OCI_Connection::autocom.
OCI_EXPORT boolean OCI_API OCI_Rollback | ( | OCI_Connection * | con | ) |
Cancel current pending changes.
con | - Connection handle |
Definition at line 639 of file connection.c.
References OCI_Connection::cxt, and OCI_Connection::err.
Referenced by OCI_TransactionStop().
OCI_EXPORT boolean OCI_API OCI_SetAutoCommit | ( | OCI_Connection * | con, | |
boolean | enable | |||
) |
Enable / disable auto commit mode.
The auto commit mode allows commit changes after every executed SQL order
con | - Connection handle | |
enable | - Enable (TRUE) or disable (FALSE) |
Definition at line 661 of file connection.c.
References OCI_Connection::autocom.
OCI_EXPORT OCI_Transaction* OCI_API OCI_TransactionCreate | ( | OCI_Connection * | con, | |
unsigned int | timeout, | |||
unsigned int | mode, | |||
OCI_XID * | pxid | |||
) |
Create a new global transaction or a serializable/read-only local transaction.
con | - Connection handle | |
timeout | - Time that a transaction stays inactive after being stopped | |
mode | - Connection mode | |
pxid | - pointer to a global transaction identifier stucture |
Definition at line 45 of file transaction.c.
References OCI_Transaction::con, OCI_Connection::cxt, OCI_Connection::err, OCI_Transaction::htr, OCI_Transaction::local, OCI_Transaction::mode, OCI_TransactionFree(), OCI_Transaction::timeout, OCI_Connection::trsns, and OCI_Transaction::xid.
OCI_EXPORT boolean OCI_API OCI_TransactionForget | ( | OCI_Transaction * | trans | ) |
Cancel the prepared global transaction validation.
trans | - Global transaction handle |
Definition at line 273 of file transaction.c.
References OCI_Transaction::con, OCI_Connection::cxt, and OCI_Connection::err.
OCI_EXPORT boolean OCI_API OCI_TransactionFree | ( | OCI_Transaction * | trans | ) |
Free current transaction.
trans | - Connection handle |
Definition at line 148 of file transaction.c.
References OCI_Transaction::con, and OCI_Connection::trsns.
Referenced by OCI_DatabaseShutdown(), and OCI_TransactionCreate().
OCI_EXPORT unsigned int OCI_API OCI_TransactionGetMode | ( | OCI_Transaction * | trans | ) |
Return global transaction mode.
trans | - Global transaction handle |
Definition at line 295 of file transaction.c.
References OCI_Transaction::mode.
OCI_EXPORT unsigned int OCI_API OCI_TransactionGetTimeout | ( | OCI_Transaction * | trans | ) |
Return global transaction Timeout.
trans | - Global transaction handle |
Definition at line 308 of file transaction.c.
References OCI_Transaction::timeout.
OCI_EXPORT boolean OCI_API OCI_TransactionPrepare | ( | OCI_Transaction * | trans | ) |
Prepare a global transaction validation.
trans | - Global transaction handle |
Definition at line 251 of file transaction.c.
References OCI_Transaction::con, OCI_Connection::cxt, and OCI_Connection::err.
OCI_EXPORT boolean OCI_API OCI_TransactionResume | ( | OCI_Transaction * | trans | ) |
Resume a stoppped global transaction.
trans | - Global transaction handle |
Definition at line 228 of file transaction.c.
References OCI_Transaction::con, OCI_Connection::cxt, OCI_Connection::err, and OCI_Transaction::timeout.
OCI_EXPORT boolean OCI_API OCI_TransactionStart | ( | OCI_Transaction * | trans | ) |
Start global transaction.
trans | - Connection handle |
Definition at line 171 of file transaction.c.
References OCI_Transaction::con, OCI_Connection::cxt, OCI_Connection::err, OCI_Transaction::mode, and OCI_Transaction::timeout.
OCI_EXPORT boolean OCI_API OCI_TransactionStop | ( | OCI_Transaction * | trans | ) |
Stop current global transaction.
trans | - Connection handle |
Definition at line 194 of file transaction.c.
References OCI_Connection::autocom, OCI_Transaction::con, OCI_Connection::cxt, OCI_Connection::err, OCI_Transaction::local, OCI_Commit(), and OCI_Rollback().
Referenced by OCI_SetTransaction().