Re: RowSet error

From: "Michael Laccetti" <michael(at)s2g-limited(dot)com>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: RowSet error
Date: 2005-03-14 16:27:44
Message-ID: 20050314162744.6E37956385@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

More information: The problem was originating in
org.postgresql.jdbc2.AbstractJdbc2ResultSetMataData, in getColumnDisplaySize(int
column). For some reason, typmod was set to -5. This was down by the 'variable
length fields' comment, at the bottom of the method. I put in another check to
make sure that if a negative return value was being attempted, bump it to zero.
That seems to have fixed it.

But again, this is very ugly and dirty and wrong. It'll be nice if Sun comes up
with an answer for this.

Mike

-----Original Message-----
From: pgsql-jdbc-owner(at)postgresql(dot)org [mailto:pgsql-jdbc-owner(at)postgresql(dot)org]
On Behalf Of Michael Laccetti
Sent: March 14, 2005 10:14
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [JDBC] RowSet error

I did attempt to implement the fix suggested here:
http://archives.postgresql.org/pgsql-jdbc/2005-02/msg00049.php. However, I
still get the same problem. I'm not sure if I've missed something, or if
there's another call somewhere. The stack trace of the exception is:

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:702)
at com.sun.rowset.CachedRowSetImpl.populate(CachedRowSetImpl.java:620)

The specific code trying to populate it seems to be relatively simple:
rslt = stmt.executeQuery(query);
crs.populate(rslt);

That's about all that I have.

Mike

-----Original Message-----
From: Kris Jurka [mailto:books(at)ejurka(dot)com]
Sent: March 13, 2005 17:06
To: Michael Laccetti
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [JDBC] RowSet error

On Sun, 13 Mar 2005, Michael Laccetti wrote:

> I'm trying to populate a RowSet from a ResultSet, but have been
> getting a nice little error: "Invalid column display size. Cannot be
> less than zero". I checked the archives, and noticed that somebody
> else reported this in February. They suggested changing the source to
> set it to return 0 in certain methods instead of -1. I attempted to
> do the same, rebuild the archive, and tried again. Nada. Still having the
same problem.
> Is there something that I'm missing?
>

You have not shown what you have done and what error you are still getting, so
no one can really tell what the problem is.

The original problem is still in Sun's hands as Amit Handa said he'd ask around
at Sun to see if this is their problem or ours.

Kris Jurka

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2005-03-14 19:39:18 Re: Calling stored functions in executeBatch
Previous Message Michael Laccetti 2005-03-14 15:13:33 Re: RowSet error