Kathey Marsden <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] 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

Reply via email to