Re: [GENERAL] Resultset problem or BUG ! - Mailing list pgsql-jdbc

From Elie Nacache
Subject Re: [GENERAL] Resultset problem or BUG !
Date
Msg-id 20040815144220.58382.qmail@web54108.mail.yahoo.com
Whole thread Raw
In response to Re: [GENERAL] Resultset problem or BUG !  (Oliver Jowett <oliver@opencloud.com>)
Responses Re: [GENERAL] Resultset problem or BUG !
List pgsql-jdbc
Hi Oliver,
 
> What is the exception you see?
The exception returned is "Cannot move to index of 0".
 
> The current development driver (see jdbc.postgresql.org) will treat
> absolute(0) as if you'd called beforeFirst(). Older drivers might do
> something different.
 
This is exactly the solution. What is the due date of the current development driver ?
 
Elie

Oliver Jowett <oliver@opencloud.com> wrote:
Elie Nacache wrote:

> this.sqlDatas.moveToInsertRow();
> this.updateColumns();
> this.sqlDatas.insertRow();

The JDBC javadoc implies that calling insertRow() leaves the resultset
on the insert row. This is what the driver implements.

> this.sqlLineNumber = this.sqlDatas.getRow(); // INFO >> return 0

As the javadoc says, getRow() returns 0 if there is no current row.
You're on the insert row so there is no current row.

> INFO >> At this step there is no commit
> INFO >> Second step update the row after collecting updated info
>
> this.sqlDatas.absolute(this.sqlLineNumber); // INFO >> throw the
> exception

What is the exception you see?

The current development driver (see jdbc.postgresql.org) will treat
absolute(0) as if you'd called beforeFirst(). O lder drivers might do
something different.

> this.updateColumns();
> this.sqlDatas.updateRow();
> INFO >> If I fix the sqlLineNumber to 1 and force the absolute(1)
> then no Execption is thrown but the modification is not seen in the
> table.

Looking at the driver source, it looks like the newly inserted row is
appended to the resultset, so you should find it at the end of the
resultset not the start. (I don't think making this assumption is
portable, though).

-O

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: compiling pg from src --with-java and new build.xml
Next
From: Kris Jurka
Date:
Subject: Re: [GENERAL] Resultset problem or BUG !