Subject Re: [firebird-support] Idle Connection / Cache Release
Author Helen Borrie
At 01:01 AM 11/06/2007, you wrote:
>I have a DLL which constructs an array of Database / Transaction
>Pairs. When a user requires information from the database, the
>application requests a connection from the DLL for which the request
>gets it's own database / transaction pair. When the application is
>finished with the request it hands the pair back off to the DLL
>which then "Commits" the transaction and marks the pair available
>for another request.

I don't see how the cache *would* be retained with Classic. Once the
client has physically disconnected (closed its socket), the
connection has gone. In Classic, the cache is private and is deleted
on disconnect. It's not "idle" but dead.

Even if the client doesn't specifically signal that it's closing the
socket, the process will detect the dead connection once the network
timeout (usually 2 hours) elapses, and clean up everything associated
with that dead socket.

If you want a shared cache, use Superserver. The cache will then
survive until there are no active connections.

But maybe there's more you're not telling us about this DLL and your
application architecture...