Re: Multi insert statement and getUpdateCount(). - Mailing list pgsql-jdbc

From dmp
Subject Re: Multi insert statement and getUpdateCount().
Date
Msg-id 551460E2.8020501@ttc-cmc.net
Whole thread Raw
In response to Multi insert statement and getUpdateCount().  (Jeremy Whiting <jwhiting@redhat.com>)
Responses Re: Multi insert statement and getUpdateCount().  (Jeremy Whiting <jwhiting@redhat.com>)
List pgsql-jdbc
Jeremy Whiting wrote:
> Hi,
>   I have been testing the current version of pgjdbc master branch. I added a
> test case to a branch in my repo [1] to check the behaviour when a multi insert
> statement adds two rows to a table. I found the return value when calling
> .getUpdateCount() does not equal the number of rows affected.
>
>   My question is what should the return value for .getUpdateCount() represent.
> Is it the number of statements executed or rows put in the database ?
>
> Regards,
> Jeremy
>
> [1] https://github.com/whitingjr/pgjdbc/tree/updatecount-mismatches-updatecount
>

My quick test shows it seems to be represent the the rows effected. That is
using a single statement with multiple insert values. (3)

INSERT INTO "public"."key_table4" ("avatar_id", "user_id", "bing_id") VALUES
(3, 21, 20),
(5, 17, 31),
(8, 5, 7);

If you are using single insert statements I would assume it will always return
(1).

According to the Java API

Retrieves the current result as an update count; if the result is a ResultSet
object or there are no more results, -1 is returned. This method should be
called only once per result.

Seems correct, rows effected. Using postgresql-9.4-1200.jdbc4.jar, not current
repository though.

danap.


pgsql-jdbc by date:

Previous
From: Jeremy Whiting
Date:
Subject: Multi insert statement and getUpdateCount().
Next
From: Adam Mackler
Date:
Subject: Does PGInterval class handle iso_8601 intervalstyle?