|
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
|
|
|
|
|