[Zope-DB] DCOracle2: close connection doesn't
Matthew T. Kromer
matt at zope.com
Mon Sep 22 16:02:05 EDT 2003
Chris Withers wrote:
> Not sure what you mean. If I push the close button on the DA object,
> it says it's 'closed'. In that state, I wouldn't expect a transaction
> to re-open it, but if it did, I'd expect the DA's state to change to
> 'open'. That doesn't appear to happen ;-)
DA's auto-open when they're used.
> Also, I've had off-list reports of DCOracle2 keeping references to the
> session even once it's connection has been closed. The specific report
> is that the cursor carries on working even after you call db.close()
> What kind of effect would that have here?
Bo Maryniuck thinks that you can just patch the ZOracleDA close to close
the default cursor as well when the connection closes and that should
The DA doesn't keep track of what cursors its handed out (it would be
tricky) and cursors have a reference to their parent connection. The
parent connection doesn't know what cursors use it. There's code there
to say "nuh-uh, I'm closed" when a cursor operation is attempted on a
closed connection, but the cursor is still present and chewing up Oracle
resources until its closed. If you use the C layer directly (no one
does!) you also have to destroy all ResultSet objects as well.
> The same email also had reports of ZOracleDA leaking oracle
> connections, have you experienced anything like that?
>> Hmm I though I had fixed that tracker, but new zope org is
>> frustrating to deal with =/
> Glad to see it's not only us non-paying customers who love NZO so much
> Any joy fixing it?
Zope Corporation http://www.zope.com/
More information about the Zope-DB