Home > Archive > PostgreSQL JDBC > November 2005 > ResultSet.getObject returning PGobject









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author ResultSet.getObject returning PGobject
Kevin Grittner

2005-11-18, 8:24 pm

PostgreSQL Native Driver
PostgreSQL 8.1 JDBC3 with SSL (build 404)
against 8.1.0

I don't have a reproducible test case, and the messages from the
software are not providing a lot of data, but out of a run with millions
of invocations of ResultSet.getObject, five of those returned an object
of class org.postgresql.util.PGobject. As far as I can see, this would
have to be a bug in the JDBC driver. I'm still trying to chase it down,
but I thought I should post here to give everyone a heads up, and
possibly get some suggestions.

-Kevin



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Kris Jurka

2005-11-18, 8:24 pm



On Fri, 18 Nov 2005, Kevin Grittner wrote:

> I don't have a reproducible test case, and the messages from the
> software are not providing a lot of data, but out of a run with millions
> of invocations of ResultSet.getObject, five of those returned an object
> of class org.postgresql.util.PGobject. As far as I can see, this would
> have to be a bug in the JDBC driver. I'm still trying to chase it down,
> but I thought I should post here to give everyone a heads up, and
> possibly get some suggestions.
>


It is expected that the driver will return a PGobject if there underlying
column data is of a type not directly mappable to a Java type, and if
there is a pg specific java type configured in the driver. Traditionally
we've had additional support for some of the geometric types, but if this
is something new I would guess it would be the added support in 8.1 for
the interval datatype.

Kris Jurka

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Kris Jurka

2005-11-18, 8:24 pm

Kevin Grittner wrote:
> Ah, that may be a good clue.
>
> We are not selecting any columns which are not directly mappable
> to a Java type -- at least not intentionally. There is a problem with
> a JDBC escape sequence which is not implemented by PostgreSQL
> which is throwing some exceptions, which we are still cleaning up.
> Perhaps the syntax is occassionally being interpreted in some way
> which is causing this. I'll suspend this issue until we get the other
> cleaned up and see if we still have this problem.


What escape sequence is that? We could look at implementing it.

> This is happening on a SELECT where the result set consists entirely
> of simple references to columns from a single table. The columns are
> all char, varchar, numeric, or int -- so they should all map to Java
> types. It is happening on a small percentage of SELECTs with no
> apparent difference beyond the values used in otherwise identical
> WHERE clauses.
>


I see no reason why the WHERE clause would alter the type of a result
column. Checking:

Object o = rs.getObject(col);
if (o instanceof PGobject) {
System.err. println(((PGobject)o
).getType());
System.err. println(((PGobject)o
).getValue());
}

or similar would tell you what the returned type was.

Kris Jurka


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com