Search Postgresql Archives

Re: Errors using JDBC batchUpdate with plpgsql function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So we can consider this matter closed ? CallableStatements are necessary because postgres has to use select to call a function.

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 4 May 2015 at 18:06, Nanker Phelge <n.phelge01@xxxxxxxxx> wrote:
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@xxxxxxx> 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@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux