MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / startSavepoint

Method startSavepoint

src/jrd/tra.cpp:3989–4013  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3987}
3988
3989Savepoint* jrd_tra::startSavepoint(bool root)
3990/**************************************
3991 *
3992 * s t a r t S a v e p o i n t
3993 *
3994 **************************************
3995 *
3996 * Functional description
3997 * Start a new savepoint. Reuse some priorly allocated one, if exists.
3998 *
3999 **************************************/
4000{
4001 Savepoint* savepoint = tra_save_free;
4002
4003 if (savepoint)
4004 tra_save_free = savepoint->getNext();
4005 else
4006 savepoint = FB_NEW_POOL(*tra_pool) Savepoint(this);
4007
4008 const SavNumber number = ++tra_save_point_number;
4009 savepoint->init(number, root, tra_save_point);
4010 tra_save_point = savepoint;
4011
4012 return savepoint;
4013}
4014
4015void jrd_tra::rollbackSavepoint(thread_db* tdbb, bool preserveLocks)
4016/**************************************

Callers 7

executeMethod · 0.45
EXE_receiveFunction · 0.45
execute_looperFunction · 0.45
AutoSavePointMethod · 0.45
StableCursorSavePointMethod · 0.45
retain_contextFunction · 0.45
transaction_startFunction · 0.45

Calls 3

SavepointClass · 0.70
getNextMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected