Re: error when using move, any suggestions? - Mailing list pgsql-jdbc
From | Dave Cramer |
---|---|
Subject | Re: error when using move, any suggestions? |
Date | |
Msg-id | 1040297836.14876.353.camel@inspiron.cramers Whole thread Raw |
In response to | Re: error when using move, any suggestions? (Noel <noel.faux@med.monash.edu.au>) |
Responses |
Re: error when using move, any suggestions?
|
List | pgsql-jdbc |
Noel, Ok, sorry, jdbc is getting in the way here. I haven't got time right now, so if you can't wait try changing the stmt.execute to stmt.executeUpdate, and see what happens. I will try to figure it out later though. Dave On Wed, 2002-12-18 at 23:51, Noel wrote: > Hi Dave, > > I modified the small program to reflect the statement I performed in psql: > > 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; > System.out.println("here1"); > stmt.execute("move forward 99 in test"); > System.out.println("here2"); > while(stmt.execute("fetch forward 2 in test")) > { > rs = stmt.getResultSet(); > if (rs.next()) > { > ++counte; > while (rs.next()) > { > ++counte; > } > } > else > break; > > } > > rs = stmt.getResultSet(); > if (rs.next()) > System.out.println("ok"); > else > System.out.println("NO"); > System.out.println(counte); > stmt.execute("end work"); > } > catch (Exception e) > { > e.printStackTrace(); > System.out.println(e.getMessage()); > } > } > } > > This is the out put, the same error as before :( > here1 > 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:21) > Unable to fathom update count MOVE > > So the programe is not moving beyound the move statement. > > Many thanks > Noel > > P.S. Is this sim to the INSERT problem with the sim error message? > > > Dave Cramer wrote: > > >Noel, > > > >Well, your sql in the driver was fetch forward 2000 in test, does that > >work? > > > >It shouldn't be a driver error, the driver just passes sql through. > > > >Dave > >On Wed, 2002-12-18 at 20:51, Noel Faux wrote: > > > > > >>Hi Dave, > >> > >>It works fine in psql: > >>blast=# begin; > >>BEGIN > >>blast=# declare test cursor for select id from region where > >>protein_database = 1; > >>SELECT > >>blast=# move forward 99 in test; > >>MOVE > >>blast=# fetch forward 2 in test; > >> id > >>-------- > >> 486175 > >> 481881 > >>(2 rows) > >> > >>Is this a driver error? > >>Thanks for your reply > >>Cheers > >>Noel > >> > >>Noel Faux > >>Department of Biochemistry and Molecluar Biology > >>Monash University > >>Clayton 3168 > >>Victoria > >>Australia > >> > >>----- Original Message ----- > >>From: Dave Cramer <Dave@micro-automation.net> > >>Date: Wednesday, December 18, 2002 9:43 pm > >>Subject: Re: [JDBC] error when using move, any suggestions? > >> > >> > >> > >>>Noel, > >>> > >>>What do you get from the server when you try the same commands in > >>>psql? > >>>I just tried it and it works fine? > >>> > >>>test=# begin; > >>>BEGIN > >>>test=# declare test cursor for select id from address ; > >>>DECLARE CURSOR > >>>test=# move forward 99 in test; > >>>MOVE 1 > >>>test=# fetch forward 2000 in test; > >>>id > >>>---- > >>>(0 rows) > >>> > >>>Dave > >>> > >>>On Wed, 2002-12-18 at 00:30, 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 > >>>> > >>>> > >>>-- > >>>Dave Cramer <Dave@micro-automation.net> > >>> > >>> > >>>---------------------------(end of broadcast)---------------------- > >>>----- > >>>TIP 2: you can get off all lists at once with the unregister command > >>> (send "unregister YourEmailAddressHere" to > >>>majordomo@postgresql.org) > >>> > >>> > >>---------------------------(end of broadcast)--------------------------- > >>TIP 6: Have you searched our list archives? > >> > >>http://archives.postgresql.org > >> > >> > -- Dave Cramer <Dave@micro-automation.net>
pgsql-jdbc by date: