NullPointerException in ResultSetMetaData getColumnCount when using on a resultset from a stored function - Mailing list pgsql-jdbc

From tomas.johansson@agent25.se (Tomas)
Subject NullPointerException in ResultSetMetaData getColumnCount when using on a resultset from a stored function
Date
Msg-id 2e107e13.0410180639.70aea0e0@posting.google.com
Whole thread Raw
Responses Re: NullPointerException in ResultSetMetaData getColumnCount  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
How can you get metadata from a resultset that is returned from a
stored function ?

I have tried the code below with the latest "pg74.215.jdbc3.jar" at
http://jdbc.postgresql.org/download.html
but the invocation of metaData.getColumnCount()) below will lead to a
NullPointerException:
java.lang.NullPointerException
    at org.postgresql.jdbc2.AbstractJdbc2ResultSetMetaData.getColumnCount(AbstractJdbc2ResultSetMetaData.java:34)

private void testCallable(Connection conn) throws Exception
    {
        CallableStatement call = conn.prepareCall("{ ? = call
myfunction() }");
        call.registerOutParameter(1, Types.OTHER);
        call.execute();
        ResultSet results = (ResultSet) call.getObject(1);

        ResultSetMetaData metaData =  results.getMetaData();
        System.out.println("getColumnCount: " +
metaData.getColumnCount());

        results.close();
        call.close();
    }




CREATE TABLE public.mytable
(
  mycolumn int4,
  mycolumn2 int4
)


CREATE OR REPLACE FUNCTION public.myfunction()
  RETURNS refcursor AS
'
DECLARE
        ref refcursor;
BEGIN
        OPEN ref FOR
    SELECT mycolumn, mycolumn2 FROM mytable;
        RETURN ref;
END;
'
  LANGUAGE 'plpgsql'

pgsql-jdbc by date:

Previous
From: Tony Grant
Date:
Subject: boolean problem
Next
From: Kris Jurka
Date:
Subject: Re: Initial translation : Turkish