Thread: SQLException: Cannot be less than zero
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;
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 ?
On Wed, 13 Jul 2005 xavier.marquis@cegetel.net wrote: > I use PostgreSQL 8.0.3 and I want to use CachedRowSetImpl to populate > one row in the following table : > > CREATE TABLE "Form2" > ( > form2member3 int4, > form2member5 int8[], > ) > > 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) > > Has someone yet met and solved this unexpected problem (even momently) ? > Otherwise, Is there another way to deal with variable-length lists ? This is a known problem with any variable length data. The postgresql JDBC driver returns -1 to indicate that the display size is unknown which the RowSet implementation doesn't seem to like. People have modified the driver to return 0 in this situation and that allows the rowset to work, but I don't think it's the right thing to do. In the past someone from Sun said they'd look into what we should be doing but they never got back to us. Kris Jurka