8.4 vs 8.1 AbstractJdbc2Array - Array retrieval

From: Andre Burkovski <AndreyMail(at)gmx(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval
Date: 2010-05-17 17:41:02
Message-ID: 4BF17FAE.5060402@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello there,

I have this unexpected Exception
"org.postgresql.util.PSQLException: An I/O error occured while sending
to the backend."
when i try to recover contents of an java.sql.Array via getArray() method.

I don't have an SSCCE (http://sscce.org/) yet, but for the same piece of
code i tried both drivers: 8.1.414 and 8.4.701
And for the 8.1.414 the code runs fine. For the 8.4.701 (jdbc3 and jdbc4
variant) i got the error above.

I did a little digging and debugging and found the following:
The cause of the error can be found in line 165 of
org.postgresql.jdbc2.AbstractJdbc2Array.java (8.4.701src)
The the line
"connection.getTypeInfo().getArrayDelimiter(oid);"
requires the connection to be open.
This is not the case for 8.1.414!

This creates trouble, as i am using an ORM where data is cached. The
data is available, but 8.4 driver requires the connection to be open. In
the case of 8.1 driver the ORM is able to manage the retrieve the data
via getArray() method although the connection is closed.

Any suggestions or comments? Are you okay with this description or
should i upload an SSCCE somewhere?

Greetings
Andre B.

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2010-05-17 18:06:08 Re: 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval
Previous Message Maciek Sakrejda 2010-05-17 04:33:40 Re: Socket close exception