Search code examples
delphitransactionsinterbase

Interbase transaction monitoring


I have a very strange problem with transactions in Interbase 7.5 which seem to be stuck.

I can track the problem with IBConsole -> right click DB -> Performance Monitor -> Transactions

Usually this list should show only a few active transaction. But I get several hundred active transactions when I start my application (a web module for an apache webserver using Delphi 7 Interbase components, e.g. IBQuery, IBTransaction, ...)

Transaction type is always listed as snapshot, if this is of relevance.

I have already triple checked all sql statements and cannot find anything that should produce such problems...

Is there any way get the sql statements of a specific transaction?

Any other suggestion how to find such a problem would be very welcome.


Solution

  • Is there any way get the sql statements of a specific transaction?

    Yes, you can SELECT from TMP$STATEMENTS WHERE TRANSACTION_ID = .... That's from memory, but should get you started.

    In IB Performance Monitor, you can locate the transaction from the statements tab, using the button on the toolbar. Can't remember if you can go the other way in that app. It's been a long time since I wrote it!