Skip site navigation (1) Skip section navigation (2)

RE: Postgres 7.0 JDBC - update count for DELETE is a lways 1

From: Peter Mount <petermount(at)it(dot)maidstone(dot)gov(dot)uk>
To: "'Gregory Krasnow OpenSourceCRM'" <gak(at)opensourcecrm(dot)org>, Joseph Shraibman <jks(at)selectacast(dot)net>, Stephen Crawley <crawley(at)dstc(dot)edu(dot)au>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: RE: Postgres 7.0 JDBC - update count for DELETE is a lways 1
Date: 2000-06-06 08:55:51
Message-ID: 1B3D5E532D18D311861A00600865478CF1AEAF@EXCHANGE1 (view raw or flat)
Thread:
Lists: pgsql-interfaces
It's now :pserver:anoncvs(at)hub(dot)org:/home/projects/pgsql/cvsroot

--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council

> -----Original Message-----
> From:	Gregory Krasnow OpenSourceCRM [SMTP:gak(at)opensourcecrm(dot)org]
> Sent:	Monday, June 05, 2000 6:46 PM
> To:	Joseph Shraibman; Stephen Crawley
> Cc:	pgsql-interfaces(at)postgresql(dot)org
> Subject:	RE: [INTERFACES] Postgres 7.0 JDBC - update count for DELETE
> is a lways 1
> 
> This is a little off-topic, but I have been unable to get in through
> anonymous cvs.  
> I have tried:
>  cvs -d :pserver:anoncvs(at)hub(dot)org:/usr/local/cvsroot login
> 
> with postgresql as the password
> 
> - Greg
> 
> -----Original Message-----
> From: Joseph Shraibman [mailto:jks(at)selectacast(dot)net]
> Sent: Monday, June 05, 2000 10:48 AM
> To: Stephen Crawley
> Cc: pgsql-interfaces(at)postgresql(dot)org
> Subject: Re: [INTERFACES] Postgres 7.0 JDBC - update count for DELETE is
> always 1
> 
> 
> This was supposed to be fixed already, but I guess this is just more
> code that didn't get into the cvs when it should have.
> 
> Stephen Crawley wrote:
> > 
> > Hi,
> > 
> > I'm trying to port a large JDBC application to Postgres 7.0 from MySQL,
> > and I've run into what I believe is a bug in the JDBC driver.
> > 
> > When my application executes a "DELETE" statement, the ResultSet entry
> > always says that 1 row has been deleted.  Even when nothing has been
> > deleted.  I did a bit of investigation, and I think I've found where the
> > problem is.  In the class postgresql.Connection, the method
> > 
> >    public java.sql.ResultSet ExecSQL(String sql) throws SQLException
> > 
> > contains the following code:
> > 
> >   ...
> > 
> >   int update_count = 1;
> > 
> >   ...
> > 
> >   case 'C':     // Command Status
> >     recv_status = pg_stream.ReceiveString(8192);
> > 
> >     // Now handle the update count correctly.
> >     if(recv_status.startsWith("INSERT") ||
> recv_status.startsWith("UPDATE")) {
> >       try {
> >        update_count =
> >
> Integer.parseInt(recv_status.substring(1+recv_status.lastIndexOf('
> > ')));
> >       } catch(NumberFormatException nfe) {
> >       throw new PSQLException("postgresql.con.fathom",recv_status);
> >       }
> >     }
> > 
> >   ...
> > 
> > It looks like the code picks out the update count when the query was
> > described (by the backend) as an INSERT or UPDATE.  But it does not
> > do this for a DELETE.
> > 
> > I looked at the source of the backend (src/backend/tcop/dest.c, etc) and
> > it does seem to return an update count for the CMD_DELETE command.  If
> > I've got this right, adding
> > 
> >    ... || recv_status.startsWith("DELETE") ...
> > 
> > to the if statement should fix the problem.
> > 
> > -- Steve
> > 
> >

pgsql-interfaces by date

Next:From: Peter MountDate: 2000-06-06 11:06:31
Subject: RE: Postgres 7.0 JDBC - update count for DELETE is a lways 1
Previous:From: Peter MountDate: 2000-06-06 08:55:04
Subject: RE: Postgres 7.0 JDBC - update count for DELETE is always 1

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group