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

Function LCK_lock_opt

src/jrd/lck.cpp:711–737  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

709
710
711bool LCK_lock_opt(thread_db* tdbb, Lock* lock, USHORT level, SSHORT wait)
712{
713/**************************************
714 *
715 * L C K _ l o c k _ o p t
716 *
717 **************************************
718 *
719 * Functional description
720 * Assert a lock if the parent is not locked in exclusive mode.
721 *
722 **************************************/
723 SET_TDBB(tdbb);
724 fb_assert(LCK_CHECK_LOCK(lock));
725
726 lock->lck_logical = level;
727 Database* dbb = lock->lck_dbb;
728
729 if (dbb->dbb_ast_flags & DBB_assert_locks)
730 {
731 lock->lck_logical = LCK_none;
732 return LCK_lock(tdbb, lock, level, wait);
733 }
734
735 fb_assert(LCK_CHECK_LOCK(lock));
736 return true;
737}
738
739
740LOCK_DATA_T LCK_query_data(thread_db* tdbb, enum lck_t lock_type, USHORT aggregate)

Callers 1

lock_bufferFunction · 0.85

Calls 2

SET_TDBBFunction · 0.85
LCK_lockFunction · 0.85

Tested by

no test coverage detected