Re: prepared statement call fails - Mailing list pgsql-jdbc

From Thomas Hallgren
Subject Re: prepared statement call fails
Date
Msg-id thhal-0vv6OAs+HcC4bv5Tf2D5MH8fUmr8Wr9@mailblocks.com
Whole thread Raw
In response to Re: prepared statement call fails  (Larry White <ljw1001@gmail.com>)
Responses Re: prepared statement call fails  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
Larry White wrote:

>Thanks Thomas.  I'll try it your way to see what happens, but
>according to the Postgresql documentation, it should support callable
>statements.   I posted the relevent text from the JDBC section of the
>online docs below:
>
><quote>
>           PostgreSQL's JDBC driver fully supports calling PostgreSQL
>stored functions.
>
>          Example 31-4. Calling a built in stored function
>
>          This example shows how to call a PostgreSQL built in
>function, upper, which simply               converts the supplied
>string argument to uppercase.
>
>          // Turn transactions off.
>         con.setAutoCommit(false);
>          // Procedure call.
>          CallableStatement upperProc = con.prepareCall("{ ? = call
>upper( ? ) }");
>         upperProc.registerOutParameter(1, Types.VARCHAR);
>         upperProc.setString(2, "lowercase to uppercase");
>         upperProc.execute();
>         String upperCased = upperProc.getString(1);
>         upperProc.close();
><end quote>
>
>
Ok, I did write AFAIK. Apparently my knowlegde didn't extend far enough :-)

The JDBC driver must do some trick then, and make an attempt to convert
what you wrote into what I suggested. With some risk of getting flogged,
I must admin that I disagree with that implementation since the
interface doc's for JDBC mandates that the CallableStatement is for
Stored Procedures only. Patching it so that it can call functions will
cause future problems once the backend really do implement stored
procedures correctly.

My advice would be to stick with prepared statements until that happens.
I know for certain that it works.

Regards,
Thomas Hallgren




pgsql-jdbc by date:

Previous
From: Larry White
Date:
Subject: Re: prepared statement call fails
Next
From: Larry White
Date:
Subject: Re: prepared statement call fails