db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John T. Dow" <j...@JohnTDow.com>
Subject Re: Can an embedded Derby connection support multiple simultaneous result sets?
Date Tue, 03 Feb 2009 15:38:21 GMT
On Tue, 03 Feb 2009 11:48:58 +0100, Knut Anders Hatlen wrote:

>>>>"John T. Dow" <john@johntdow.com> writes:
>>>
>>> For example, after calling rs2.next(), rs1.getRow() returns 0. 
>>>
>>> However, the resultset is positioned properly because
>>> rs1.getString("colname") returns the correct value.
>
>Looks like I missed that last sentence when I answered your mail the
>first time. I still think that rs1 is not positioned on a row, and
>that's why rs1.getRow() returns null. The difference between getRow()
>and getString() is that the ResultSet object has a copy of the current
>row from which getString() fetches the string value, and it's not
>affected by the fact that the underlying cursor has lost its
>position. The row number, on the other hand, is not cached in the
>ResultSet, so getRow() always fetches the row number from the cursor and
>therefore detects that there's no current row.
>
>-- 
>Knut Anders


You are correct, I was using autocommit and when it's turned off, getRow() continues to report
the row properly.

PostgreSQL returns the correct row even with autocommit on.

That's a bummer. I'm not about to rewrite lots of code so the standard mode is autocommit
off. Most of the time having it on is nice, it's the exception that I want it off.

I was relying on getting a 0 to indicate that the result set is empty. (After opening, I move
to the first row by default so getting a 0 has been a reliable indicator of an empty result
set.)

I sure wish there was an isEmpty() method for result sets.

I need a database-agnostic technique for determining if a result set is empty. Perhaps do
next() and then previous(), with appropriate tests for being at the beginning or end initially.
(I always use scrollable result sets.)

John


Mime
View raw message