db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Re: [PATCH] (DERBY-276) ResultSet.relative(int row) cannot be called when the cursor is not positioned on a row.
Date Fri, 10 Jun 2005 00:28:16 GMT
Myrna van Lunteren wrote:

> On 6/8/05, *Bernt M. Johnsen* <Bernt.Johnsen@sun.com
> <mailto:Bernt.Johnsen@sun.com>> wrote:
>     >>>>>>>>>>>> Bernt M. Johnsen wrote (2005-05-27
>     > Could anybody review this?
>     Well?
>     > This patch will make relative() allowed when the cursor is before
>     > first or after last. It will also let absolute(0) be equivalent to
>     > beforeFirst().
>     [..snip..]
> Well, well!
> I applied the patch without trouble (I feared it would be out of date
> already :-) ), built without trouble. It all looks reasonable to me.
> However, your patch doesn't include a modified master for scrollCursors2?
> Did you run derbyall?
> Could this change create trouble for any existing applications? i.e.
> What if someone has programmed an app to do relative(1) in a loop,
> breaking out when the exception is hit?

It could cause trouble for existing applications, but the Derby JDBC
driver at this level is documented for users by the JDBC spec and
javadoc from Sun.

Thus if someone wrote a Derby application against JDBC 2.1 they could
depend on the current behaviour. More likely, given the time frames,
they would have written an application against JDBC 3.0 and thus can not
rely on undocumented behaviour.

Thus it's probably ok to change this, if we were paranoid we could
change it so that Derby running in JDK 1.3 throws an exception but
otherwise the JDBC 3.0 behaviour occurs. Not sure that is worth it.


View raw message