Skip to Content
0
Mar 17, 2021 at 10:09 AM

System Triggers ADDCONSTRAINT DELCONSTRAINT vanish during transaction?

111 Views

I know this question is weird and maybe circles around the inner workings of the DB but we just had the following encounter:

For whatever reason our software checks for the existence of some triggers (from dba.triggers) named above but recently failed since they had been vanished from the triggers table. We could later analyse that they do so, when we start a simple transaction (just some unrelated thing) and they reappear after the transaction is closed (e.g. commited).

Is this just how it should be? Any hints/suggestions? Should we maybe not care about them being existent?

The triggers seem to be:

CREATE TRIGGER DELCONSTRAINT FOR SYSINFO.COMMANDMONITORCONSTRAINTS AFTER DELETE EXECUTE (
   CALL SYSINFO.DEL_CONSTRAINT (:OLD.ID);
   IF $RC <> 0 THEN STOP ($RC, $ERRMSG);
)

CREATE TRIGGER ADDCONSTRAINT FOR SYSINFO.COMMANDMONITORCONSTRAINTS AFTER INSERT EXECUTE (
  CALL SYSINFO.ADD_CONSTRAINT (:NEW.ID, :NEW.CONSTRAINTS);
  IF $RC = -4711 THEN STOP (-8055, 'Trigger failed: invalid constraint');
  IF $RC <> 0 THEN STOP ($RC, $ERRMSG);
)