Re: Batch Update updatecounts when error happens

From: Padraic Renaghan <list(at)renaghan(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Batch Update updatecounts when error happens
Date: 2002-08-28 19:12:01
Message-ID: 1030561921.3d6d2081201b1@mail.montanab.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)renaghan(dot)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(at)renaghan(dot)com
IM: abuhaina (AOL/Yahoo/MSN) 9437815 (ICQ)
http://renaghan.com/pcr/
lure -> 390sig006(at)renaghan(dot)com <- don't use

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Padraic Renaghan 2002-08-29 03:43:04 Re: Batch Update updatecounts when error happens
Previous Message Padraic Renaghan 2002-08-28 18:53:31 Batch Update updatecounts when error happens