Re: Batch Update updatecounts when error happens - Mailing list pgsql-jdbc

From Padraic Renaghan
Subject Re: Batch Update updatecounts when error happens
Date
Msg-id 1030561921.3d6d2081201b1@mail.montanab.com
Whole thread Raw
In response to Batch Update updatecounts when error happens  (Padraic Renaghan <list@renaghan.com>)
Responses Re: Batch Update updatecounts when error happens  (Padraic Renaghan <list@renaghan.com>)
List pgsql-jdbc
I think I might have figured it out. I think there might be a bug in the
Postgresql driver. Specifically in the jdbc2/Statement.java file, the lines in
executeBatch() that read:

  int[] resultSucceeded = new int[i];
  System.arraycopy(result, 0, resultSucceeded, 0, i);

should really be:

  int len = i+1;
  int[] resultSucceeded = new int[len];
  System.arraycopy(result, 0, resultSucceeded, 0, len);

I think that would do the trick. I'll now working on getting a modified version
built so I can test it.

Think I'm on the right track? wrong track?


Thanks,
Padraic

Quoting Padraic Renaghan <list@renaghan.com>:
> I'm having trouble with the error handling of the batch update feature
> of the
> JDBC 2.0 Postgresql driver. I do not see the standard behavior of
> returing a -3
> for the statement that failed.
>
> In my example I insert mutliple rows in a single batch into a table. All
> the
> inserts have the same key value, which causes the second insert to fail
> with a
> duplicate key error.
>
> I get thrown back the BatchUpdateException which has the updateCounts
> array
> which I access via getUpdateCounts(). That array contains a single
> entry,
> updateCounts[0]=1. I am not seeing the -3 entry to indicate the stmt
> that
> failed. According to my assumptions about how JDBC 2.0 batch updates are
>
> supposed to work (and according to the JDBC--Postgresql compatability
> web page)
> I was hoping to see the updateCounts array contain:
> updateCounts[0]=1
> updateCounts[1]=-3
>
> I'm currently using Postgresql 7.2 and the JDBC driver installed with
> the
> Postgresql distributed rpm. Specifically I'm using jdbc7.2dev-1.2.jar
>
> Any help would be appreciated.
>
> Thanks
> Padraic
>



--
Padraic Renaghan /pad-rik ren-a-han/
padraic@renaghan.com
IM: abuhaina (AOL/Yahoo/MSN) 9437815 (ICQ)
http://renaghan.com/pcr/
lure -> 390sig006@renaghan.com <- don't use

pgsql-jdbc by date:

Previous
From: Padraic Renaghan
Date:
Subject: Batch Update updatecounts when error happens
Next
From: Padraic Renaghan
Date:
Subject: Re: Batch Update updatecounts when error happens