Re: Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement

From: dmp <danap(at)ttc-cmc(dot)net>
To: Thomas Kellerer <spam_eater(at)gmx(dot)net>, PostgreSQL JDBC <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement
Date: 2015-06-02 16:40:11
Message-ID: 556DDC6B.3010409@ttc-cmc.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Thomas Kellerer wrote:
> dmp wrote on 30.05.2015 21:50:
>> Seems to work fine, maybe I have it wrong?
>>
> ~
> ~
> ~
> interesting, your code indeed works.
>
> After playing around with it, the difference is that I call
> getParameterMetaData() *before* calling registerOutParameter().
>
>
> So getParameterMetaData() seems to only work after all OUT parameters have been
> registered (I also tried calling it after the first registerOutParameter() -
> failed as well).
>
> So how can I retrieve the information about the parameters if I can't call
> getParameterMetaData() before registering the parameters (which I try to detect
> by calling that method).The JDBC JavaDocs do not mention such a restriction.
>
>
> Thomas

According to the Java 7 API it seems this interface is mainly associated with
PreparedStatements and lucky to get any information from a CallableStatement.

---------------
public interface ParameterMetaData
extends Wrapper

An object that can be used to get information about the types and properties
for each parameter marker in a PreparedStatement object. For some queries
and driver implementations, the data that would be returned by a
ParameterMetaData object may not be available until the PreparedStatement
has been executed.

Some driver implementations may not be able to provide information about
the types and properties for each parameter marker in a CallableStatement object.
---------------

From the context of your question, it seems what you are looking for is the
information about the function, parameters, etc. When I first looked at this
I searched the database for the newly created sum_n_product() function to
find information about it. It seemed to be abscured. Perhaps that information
stored in the database is the answer to your question rather then this interface.

danap.

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Thomas Kellerer 2015-06-03 07:01:10 Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement
Previous Message Thomas Kellerer 2015-06-01 22:17:29 Re: CallableStatement.getParameterMetaData() throws exception for valid {call ...} statement