Subject Why MON$STATEMENTS.MON$TRANSACTION_ID is mostly empty (null)?
Author
Hi!

Sometimes I receive error message (during development and tests, of course):

deadlock
update conflict with concurret update
concurrent transaction number is 2926

Then I can find the other attachment with the long-running transaction using:

select a.mon$user, a.mon$attachment_name, a.mon$remote_address, a.*
  from mon$transactions t
    left join mon$attachments a on (t.mon$attachment_id=a.mon$attachment_id)
  where t.mon$transaction_id=2926

I would like to see the long-running statement as well, but MON$STATEMENTS.MON$TRANSACTION_ID is mostly empty (null) for almost all the records.

Why is that? And is it possible to relate statements to the transactions?

Firebird 3.0.4.

Thx.