mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 10:43:03 +01:00
Correction for my yesterday's commit
This commit is contained in:
parent
0c56796495
commit
deb40096af
@ -959,7 +959,15 @@ void Trigger::release(thread_db* tdbb)
|
|||||||
extTrigger = NULL;
|
extTrigger = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sysTrigger || !statement || statement->isActive() || releaseInProgress)
|
// dimitr: We should never release triggers created by MET_parse_sys_trigger().
|
||||||
|
// System triggers do have BLR, but it's not stored inside the trigger object.
|
||||||
|
// However, triggers backing RI constraints are also marked as system,
|
||||||
|
// but they are loaded in a regular way and their BLR is present here.
|
||||||
|
// This is why we cannot simply check for sysTrigger, sigh.
|
||||||
|
|
||||||
|
const bool sysTableTrigger = (blr.isEmpty() && engine.isEmpty());
|
||||||
|
|
||||||
|
if (sysTableTrigger || !statement || statement->isActive() || releaseInProgress)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
AutoSetRestore<bool> autoProgressFlag(&releaseInProgress, true);
|
AutoSetRestore<bool> autoProgressFlag(&releaseInProgress, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user