Subject | stale statements in MON$STATEMENTS |
---|---|
Author | Hamish Moffatt |
Post date | 2016-12-02T07:56:04Z |
Hi,
I'm trying to debug a concurrency issue I'm having with an application
of mine, connecting to Firebird 2.5.6, so I'm trying to understand the
various monitor tables. I have dozens of threads all making their own
connections to Firebird (superserver).
After running for a while my MON$STATEMENTS table shows over 100
statements with in state 0 (idle) with no transaction ID. They are
mostly "merge into ..." statements. I understand that the idle statement
means they have been prepared but not executed, but this shouldn't be
possible in my application source (prepare has never failed, and I
always execute).
Is there something else I must be doing wrong to cause these to hang around?
I also have a couple of plain selects in that table.
thanks,
Hamish
I'm trying to debug a concurrency issue I'm having with an application
of mine, connecting to Firebird 2.5.6, so I'm trying to understand the
various monitor tables. I have dozens of threads all making their own
connections to Firebird (superserver).
After running for a while my MON$STATEMENTS table shows over 100
statements with in state 0 (idle) with no transaction ID. They are
mostly "merge into ..." statements. I understand that the idle statement
means they have been prepared but not executed, but this shouldn't be
possible in my application source (prepare has never failed, and I
always execute).
Is there something else I must be doing wrong to cause these to hang around?
I also have a couple of plain selects in that table.
thanks,
Hamish