Re: error when using move, any suggestions? - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: error when using move, any suggestions?
Date
Msg-id 3E020DF8.7010609@xythos.com
Whole thread Raw
In response to error when using move, any suggestions?  (Noel <noel.faux@med.monash.edu.au>)
Responses Re: error when using move, any suggestions?  (Noel <noel.faux@med.monash.edu.au>)
Re: error when using move, any suggestions?  (Noel <noel.faux@med.monash.edu.au>)
List pgsql-jdbc
Noel,

I don't know if this is your problem or not, but your test program is
wrong.  You should not be issuing a 'begin work' command in jdbc.  The
proper jdbc way of doing this is to:  connection.setAutoCommit(false);
...; connection.commit();

The driver behind the scenes is issuing the begin/commit/rollback
commands.  Calling them explicitly is redundant and will result in errors.

thanks,
--Barry


Noel wrote:
> Hi all,
> I'm new to postgreSQL.
> I wrote a little test program to learn how to use fetch and move in
> postgreSQL.
>
> import blastDb.*;
> import java.sql.*;
> import java.io.*;
> import java.util.*;
> import java.lang.*;
>
> public class TestFetchSize
> {
>     public static void main(String[] args)
>     {
>         try
>         {
>             BlastDB db = new BlastDB();
>
>             Statement stmt =db.connection.createStatement();
>             int counte = 0;
>             stmt.execute("begin work");
>             stmt.execute("declare test cursor for select id from region
> where protein_database = 1");
>             ResultSet rs;
>             stmt.execute("move forward 99 in test");
>             while(stmt.execute("fetch forward 2000 in test"))
>             {
>                 rs = stmt.getResultSet();
>                 if (rs.next())
>                 {
>                     ++counte;
>                     while (rs.next())
>                     {
>                         ++counte;
>                     }
>                 }
>                 else
>                     break;
>
>             }
>             System.out.println(counte);
>             stmt.execute("end work");
>         }
>         catch (Exception e)
>         {
>             e.printStackTrace();
>             System.out.println(e.getMessage());
>         }
>     }
> }
>
> It compiles ok, however when run i get this message:
> Unable to fathom update count MOVE
> at
> org.postgresql.core.QueryExecutor.receiveCommandStatus(QueryExecutor.java:182)
>
> at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:80)
> at org.postgresql.Connection.ExecSQL(Connection.java:398)
> at org.postgresql.jdbc2.Statement.execute(Statement.java:130)
> at TestFetchSize.main(TestFetchSize.java:25)
> Unable to fathom update count MOVE
>
> I've search the web and the archives, and the only thing close is the
> thread about a sim problem with INSERT:
> "Basically the driver was storing the oid in an int.  The value you have
> is overflowing the value allowed for a signed int.
>
> thanks,
> --Barry "
>
> Is this the same problem ?
> Using  7.4 divers with JDBC3 support.
>
> Cheers
> Noel
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>



pgsql-jdbc by date:

Previous
From: Dries Verachtert
Date:
Subject: Re: Conversion between UNICODE and LATIN1 is not supported
Next
From: Ricardo Javier Aranibar León
Date:
Subject: numrows