db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: Momory leak in JDBC driver?
Date Thu, 08 Sep 2005 08:41:31 GMT
Kathey Marsden <kmarsdenderby@sbcglobal.net> writes:

> Dyre.Tjeldvoll@Sun.COM wrote:
>
>>>
>>>Are you saying Derby client driver does not close any existing
>>>ResultSet's that were generated by the Statement when the Statement is
>>>re-executed? That would indeed be against the JDBC spec, I know the
>>>embedded driver does close existing ResultSets.
>>>    
>>>
>>
>>Exactly :) And yes, the client program that had this problem with the
>>client driver, did not have the same problem with the embedded driver.
>>
>
> Dyre, could you file a bug for this?  I don't think one exists for this
> issue.

FYI, I had a look in the client driver code. It seems like only
markClosed() is called on the open ResultSets when a statement is
re-executed. The difference between close() and markClosed() is
basically that close() additionally checks whether it should
auto-commit, nulls out the cursor and meta data, and calls

  connection_.CommitAndRollbackListeners_.remove(this);

Could this be our memory leak? Is there any situation where one
shouldn't call close() on the result sets when re-executing?

-- 
Knut Anders


Mime
View raw message