Re: 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval
Дата
Msg-id alpine.BSO.2.00.1005171355410.25579@leary.csoft.net
обсуждение исходный текст
Ответ на 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval  (Andre Burkovski <AndreyMail@gmx.net>)
Список pgsql-jdbc

On Mon, 17 May 2010, Andre Burkovski wrote:

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

The change that was made between 8.1 and 8.4 was that in 8.1 the JDBC
driver assumed that the array delimiter would be a comma which is true for
most types, but not all.  The 8.4 driver checks with the server to see
what the actual delimiter is.

So this change is intentional and the fact that you could access parts of
a ResultSet without a valid Connection is just luck.  After Connection
close you really shouldn't be able to access anything.

Kris Jurka

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Andre Burkovski
Дата:
Сообщение: 8.4 vs 8.1 AbstractJdbc2Array - Array retrieval
Следующее
От: "Sarkar, Sudipta"
Дата:
Сообщение: Connection fails when the user name contains chinese characters