Re: Out parameters for functions. - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Out parameters for functions.
Date
Msg-id CADK3HHJH3Sajge8UHsQfa8LDycQMvOOjK05YDkkzHoDMUMcJ0w@mail.gmail.com
Whole thread Raw
In response to Out parameters for functions.  (Robert Zenz <robert.zenz@sibvisions.com>)
Responses Re: Out parameters for functions.  (Mark Rotteveel <mark@lawinegevaar.nl>)
List pgsql-jdbc
Hi Robert,

Based on the test cases in the code this is how it works.

How does one register the out parameters in other drivers ?


On Wed, 19 Sep 2018 at 10:43, Robert Zenz <robert.zenz@sibvisions.com> wrote:
Hello everybody.

We've recently had to use functions which used OUT parameters and we are a
little bit confused regarding the handling of such. In other JDBC drivers one
does simply register the OUT parameter at the appropriate position in the
parameter list. However, with the PostgreSQL JDBC driver we had to skip the
registration of the OUT parameter altogether, the return value for the OUT
parameter is then returned *after* all other parameters.

Example, there is function which does accept three parameters:

 1. IN numeric
 2. OUT varchar
 3. INOUT timezone

When calling this function we have to do the following:

    CallableStatement statement = connection.prepareCall("{ ? = call test(?, ?) }");
    statement.registerOutParameter(1, Types.NUMERIC); // Return value.
    statement.setObject(2, value); // IN numeric
    statement.setObject(3, value); // INOUT timezone

    statement.execute();

    statement.getObject(4); // OUT varchar

This is a little bit confusing at first, is that intended to behave as such?

pgsql-jdbc by date:

Previous
From: "Davis, James A. (LARC-D318)[LITES II]"
Date:
Subject: Re: ssl connection issues
Next
From: pradeep puppala
Date:
Subject: Query related to jdbc 42.2.5 version