Resultset problem or BUG !

Started by Elie Nacacheover 21 years ago5 messagesgeneral
Jump to latest
#1Elie Nacache
elie_nacache@yahoo.com

Hi All,

A data writed in a table but not commited is not accessible in modification by the resultset. The error returned is "Cannot move to index of 0".

BTW in SQL a sequence of INSERT, UPDATE and then COMMIT work fine.
I'm using the same code with oracle and it's working well.

Is it a BUG !?

I'm using psql 7.4.3 on Linux 9.0

Any help !

Elie

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

#2Kris Jurka
books@ejurka.com
In reply to: Elie Nacache (#1)
Re: Resultset problem or BUG !

On Wed, 11 Aug 2004, Elie Nacache wrote:

A data writed in a table but not commited is not accessible in
modification by the resultset. The error returned is "Cannot move to
index of 0".

It is entirely unclear what you are actually doing here. Are you using
JDBC? Could you show us some sample code that demonstrates the problem?

Kris Jurka

#3Richard Huxton
dev@archonet.com
In reply to: Elie Nacache (#1)
Re: Resultset problem or BUG !

Elie Nacache wrote:

Hi All,

Hi Elie, I'm afraid we'll need more details before we can help.

A data writed in a table but not commited is not accessible in
modification by the resultset. The error returned is "Cannot move to
index of 0".

Is this an ODBC or JDBC error? There are specific lists for both of those.

BTW in SQL a sequence of INSERT, UPDATE and then COMMIT work fine.

I'm using the same code with oracle and it's working well.

What code?

Is it a BUG !?

Can't say.

I'm using psql 7.4.3 on Linux 9.0

psql is the command-line tool, so I'm guessing you mean PostgreSQL (or
pgsql) 7.4.3. Likewise, there is no Linux 9.0 - I'm assuming you mean
RedHat, SuSE or Mandrake.

If you can provide details on how you are accessing the database and a
short example of your code, I'm sure someone will be able to help.
--
Richard Huxton
Archonet Ltd

#4Elie Nacache
elie_nacache@yahoo.com
In reply to: Richard Huxton (#3)
Re: Resultset problem or BUG !

Hi Richard,

Some informations:
==============
OS: RedHat
DB: PostgreSQL 7.4.3
Driver: PostgreSQL 7.4.2 JDBC3 with SSL (build 213)

Here some code:
============
INFO >> sqlDatas is of type ResultSet
INFO >> Step first insert new row

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

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
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.

Elie Nacache
RentaSoft Ltd.

Richard Huxton <dev@archonet.com> wrote:
Elie Nacache wrote:

Hi All,

Hi Elie, I'm afraid we'll need more details before we can help.

A data writed in a table but not commited is not accessible in
modification by the resultset. The error returned is "Cannot move to
index of 0".

Is this an ODBC or JDBC error? There are specific lists for both of those.

BTW in SQL a sequence of INSERT, UPDATE and then COMMIT work fine.

I'm using the same code with oracle and it's working well.

What code?

Is it a BUG !?

Can't say.

I'm using psql 7.4.3 on Linux 9.0

psql is the command-line tool, so I'm guessing you mean PostgreSQL (or
pgsql) 7.4.3. Likewise, there is no Linux 9.0 - I'm assuming you mean
RedHat, SuSE or Mandrake.

If you can provide details on how you are accessing the database and a
short example of your code, I'm sure someone will be able to help.
--
Richard Huxton
Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

---------------------------------
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.

#5Richard Huxton
dev@archonet.com
In reply to: Elie Nacache (#4)
Re: Resultset problem or BUG !

Elie Nacache wrote:

Hi Richard,

Some informations: ============== OS: RedHat DB: PostgreSQL 7.4.3
Driver: PostgreSQL 7.4.2 JDBC3 with SSL (build 213)

OK - I'm not a java expert, so if no-one else has anything better to
say, please post this on the jdbc mailing list instead. They'll be able
to help you for sure.

Here some code: ============ INFO >> sqlDatas is of type ResultSet
INFO >> Step first insert new row

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

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 this.updateColumns(); this.sqlDatas.updateRow();

What is "sqlLineNumber"? I'm not familiar with that attribute off the
top of my head. The exception was complaining that .absolute() couldn't
move to row 0 which seems correct .absolute(1) is the first row. So -
what is "sqlLineNumber" and why is it zero?

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.

The easiest way to see why the change isn't seen is to turn statement
logging on in PostgreSQL (and tell it to reload its config file).

--
Richard Huxton
Archonet Ltd