Oliver Jowett wrote:
> Dave Cramer wrote:
>>
>> On 19-Jun-06, at 7:15 PM, Oliver Jowett wrote:
>>>
>>> The "wrapper" implementation approach suffers from the usual
>>> difficulty that the "back links" such as ResultSet.getStatement()
>>> point to the wrong object. It's actually quite a bit of work to get
>>> this right..
>> Since result sets only live as long as the statement, wouldn't they
>> point to the statement that is still open ?
>
> What I mean is that this won't work:
>
> PreparedStatement ps = conn.prepareStatement(...);
> ResultSet rs = ps.executeQuery();
> assert rs.getStatement() == ps;
>
> since rs.getStatement() will return the real underlying statement, not
> the wrapper that prepareStatement() creates.
Oh, never mind, I didn't look at the code closely enough, you're
returning the real statement not a wrapper. (that has some other
problems with badly-behaved code as others have noted)
-O