Re: Errors using JDBC batchUpdate with plpgsql function

From: Nanker Phelge <n(dot)phelge01(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Errors using JDBC batchUpdate with plpgsql function
Date: 2015-05-04 22:06:06
Message-ID: CAF20xuFu=5+DYe_CTXFAny0_YGNJ5+1mb+P2fD=wnCTDBymEaQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

The database function does not use out parameters or a ref cursor, which
was why I was confused. The Java sample I provided is a simplification of
the built-in default logic of the Spring Batch ItemWriter - I put it into
my own implementation class to help with debugging. The root cause seems to
be the JDBC driver thinking that there should not be results because it is
an update and the 'select' influencing that decision. I tried switching
this ItemWriter implementation to use a CallableStatement, and that did
work, but I wanted to understand why the approach I listed in the original
post didn't work.

Thanks

On Mon, May 4, 2015 at 6:05 AM, Thomas Kellerer <spam_eater(at)gmx(dot)net> wrote:

> Hannes Erven schrieb am 04.05.2015 um 12:31:
> > Hi,
> >
> >
> >> String sql = "select test_user_result_insert_func(?, ?, ?);";
> >
> > You can't call functions via JDBC like that.
>
> That's perfectly valid - unless the function uses out parameters or ref
> cursors.
>
> I am however unsure about batched statements here. So trying
> CallableStatement is definitely worth a shot.
>
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message mark 2015-05-04 23:35:37 Re: [GENERAL] Insert result does not match record count
Previous Message Yves Dorfsman 2015-05-04 20:32:14 Re: plpgsql functions organisation