Версия:

Модуль txn

Модуль txn

bool box_txn(void)

Возврат true (правда), если есть активная транзакция.

int box_txn_begin(void)

Начало транзакции в текущем файбере.

Транзакция привязана к вызывающему файберу, поэтому в одном файбере может быть только одна активная транзакция. См. также box.begin().

Результат:0, если выполнено
Результат:-1 в случае ошибки. Возможно, транзакция уже была запущена.
int box_txn_commit(void)

Коммит текущей транзакции. См. также box.commit().

Результат:0, если выполнено
Результат:-1 в случае ошибки. Возможен отказ записи на диск
void box_txn_rollback(void)

Откат текущей транзакции. См. также box.rollback().

box_txn_savepoint_t * savepoint(void)

Возврат дескриптора контрольной точки.

void box_txn_rollback_to_savepoint(box_txn_savepoint_t *savepoint)

Откат текущей транзакции до указанной контрольной точки.

void *box_txn_alloc(size_t size)

Выделение памяти в пул памяти txn.

Память автоматически освобождается при коммите или откате транзакции.

Результат:NULL при нехватке памяти