class Frame

A "frame" is a layer in a series of nested transactions. Generally, the outermost frame is a normal SQL transaction (BEGIN/ROLLBACK/COMMIT) and any nested frames are SQL savepoints (SAVEPOINT foo/ROLLBACK TO SAVEPOINT).

Constants

F_NEW

F_ACTIVE

F_DONE

F_FORCED

Methods

__construct(CRM_Core_DAO $dao, string|null $beginStmt, string|null $commitStmt, string|null $rollbackStmt)

No description

inc()

No description

dec()

No description

bool
isEmpty()

No description

bool
isRollbackOnly()

No description

setRollbackOnly()

No description

begin()

Begin frame processing.

finish(int $newState = self::F_DONE)

Finish frame processing.

forceRollback()

No description

addCallback(int $phase, mixed $callback, array|NULL $params = NULL, null $id = NULL)

Add a transaction callback.

invokeCallbacks(int $phase)

No description

Details

at line 80
__construct(CRM_Core_DAO $dao, string|null $beginStmt, string|null $commitStmt, string|null $rollbackStmt)

Parameters

CRM_Core_DAO $dao
string|null $beginStmt e.g. "BEGIN" or "SAVEPOINT foo"
string|null $commitStmt e.g. "COMMIT"
string|null $rollbackStmt e.g. "ROLLBACK" or "ROLLBACK TO SAVEPOINT foo"

at line 94
inc()

at line 98
dec()

at line 105
bool isEmpty()

Return Value

bool

at line 112
bool isRollbackOnly()

Return Value

bool

at line 116
setRollbackOnly()

at line 125
begin()

Begin frame processing.

Exceptions

CRM_Core_Exception

at line 143
finish(int $newState = self::F_DONE)

Finish frame processing.

Parameters

int $newState

Exceptions

CRM_Core_Exception

at line 169
forceRollback()

at line 187
addCallback(int $phase, mixed $callback, array|NULL $params = NULL, null $id = NULL)

Add a transaction callback.

Pre-condition: isActive()

Parameters

int $phase A constant; one of: self::PHASE_{PRE,POST}_{COMMIT,ROLLBACK}.
mixed $callback A PHP callback.
array|NULL $params Optional values to pass to callback. See php manual call_user_func_array for details.
null $id

at line 205
invokeCallbacks(int $phase)

Parameters

int $phase