Subject Re: [firebird-support] stale statements in MON$STATEMENTS
Author Thomas Steinmaurer
> On 02/12/16 20:59, Dimitry Sibiryakov sd@...
> [firebird-support] wrote:
>> 02.12.2016 8:56, Hamish Moffatt hamish@... [firebird-support]
>> wrote:
>>> 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).
>> Yes, but after execution they are idle again until unprepared or freed.
> OK, thanks. I'm doing all my Firebird interaction with Qt and its IBASE
> driver, so this should all be managed for me. It should free the
> statements when they go out of scope.
> It's a bit suspicious that 100 of these statements were the same one,
> "merge into...", so I'll have to follow that up.
> I also see a ton of connections on MON$ATTACHMENTS from the same thread
> in my application (MON$REMOTE_PID, MON$REMOTE_ADDRESS both the same)
> which also makes no sense.

Closing a connection implicitly will free the underlaying statements, thus due to your explanations, it seems you are leaking (not closing) connections.

With regards,
Thomas Steinmaurer

Professional Tools and Services for Firebird
FB TraceManager, IB LogManager, Database Health Check, Tuning etc.