SQLException: Cannot be less than zero ( BUG ? )

From: <xavier(dot)marquis(at)cegetel(dot)net>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: SQLException: Cannot be less than zero ( BUG ? )
Date: 2005-07-12 21:52:09
Message-ID: 005c01c5872b$f47db630$d4780554@freeman
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


Hi,

I use PostgreSQL 8.0.3 and following associated drivers :

postgresql-8.0-311.jdbc2.jar
postgresql-8.0-311.jdbc2ee.jar
postgresql-8.0-311.jdbc3.jar

I want to use CachedRowSetImpl to populate one row in the following table :

CREATE TABLE "Form2"
(
form2member3 int4,
form2member5 int8[],
)
WITHOUT OIDS;

The second column (an array of bigint) seems to cause the following exception when try to populate :

java.sql.SQLException: Invalid column display size. Cannot be less than zero
at javax.sql.rowset.RowSetMetaDataImpl.setColumnDisplaySize(RowSetMetaDataImpl.java:267)
at com.sun.rowset.CachedRowSetImpl.initMetaData(CachedRowSetImpl.java:679)
at com.sun.rowset.CachedRowSetImpl.populate(CachedRowSetImpl.java:597)
at com.sun.rowset.internal.CachedRowSetReader.readData(CachedRowSetReader.java:170)
at com.sun.rowset.CachedRowSetImpl.execute(CachedRowSetImpl.java:736)
at ...
at MainTester.main(MainTester.java:41)

After reading the only few related subjects, I can't find any solution that I be able to use.
(Nebojsa Vasiljevic made a patch but didn't say how to do it ...)

Has someone yet met and solved this unexpected problem (even momently) ?
Otherwise, Is there another way to deal with variable-length lists ?

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2005-07-12 21:53:44 Re: Vacuum summary?
Previous Message xavier.marquis 2005-07-12 21:27:29 SQLException: Cannot be less than zero

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Dunstan 2005-07-12 22:01:41 Re: SQLException: Cannot be less than zero
Previous Message xavier.marquis 2005-07-12 21:27:29 SQLException: Cannot be less than zero