Skip to content

TRANSACTION_ROLLBACK missing in the trace log when appropriate DB-level trigger fires #8653

@pavel-zotov

Description

@pavel-zotov

Run trace with:

    log_trigger_start = true
    log_trigger_finish = true

Then run script:

set bail on;
set autoddl off;
set list on;
shell if exist r:\temp\tmp4test.fdb del r:\temp\tmp4test.fdb;
create database 'localhost:r:\temp\tmp4test.fdb' user 'sysdba' password 'masterkey';

set term ^;
create or alter trigger trg_tx_rollback active on transaction rollback as
begin
end
^
set term ;^
commit;

connect 'localhost:r:\temp\tmp4test.fdb' user 'sysdba' password 'masterkey';
quit; ----- [ 1 ]

The quit; will cause ROLLBACK.

On FB 3.x and 4.x trace log will contain both trigger name and its event , i.e. (ON TRANSACTION_ROLLBACK):

2025-07-19T14:38:20.4760 (33096:0000000006430D40) EXECUTE_TRIGGER_START
...
	TRG_TX_ROLLBACK (ON TRANSACTION_ROLLBACK) 

2025-07-19T14:38:20.4760 (33096:0000000006430D40) EXECUTE_TRIGGER_FINISH
...
	TRG_TX_ROLLBACK (ON TRANSACTION_ROLLBACK) 

(expected)

But on FB 5.x and 6.x trace log will contain trigger name and only (ON ):

2025-07-19T14:44:49.3210 (33028:00000000058911C0) EXECUTE_TRIGGER_START
...
Trigger TRG_TX_ROLLBACK (ON ):

2025-07-19T14:44:49.3210 (33028:00000000058911C0) EXECUTE_TRIGGER_FINISH
...
Trigger TRG_TX_ROLLBACK (ON ):
2025-07-19T15:59:00.3760 (7712:0000000005F50040) EXECUTE_TRIGGER_START
...
Trigger "PUBLIC"."TRG_TX_ROLLBACK" (ON ):

2025-07-19T15:59:00.3770 (7712:0000000005F50040) EXECUTE_TRIGGER_FINISH
...
Trigger "PUBLIC"."TRG_TX_ROLLBACK" (ON ):

No such problem with other DB-level trigges (on connect / on disconnect / on tx start / on tx commit).

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions