Re: Postgres 8.0 + JDBC

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Postgres 8.0 + JDBC
Дата
Msg-id 4162FFC9.3010808@opencloud.com
обсуждение исходный текст
Ответ на Postgres 8.0 + JDBC  ("Johann Robette" <jrobette@onyme.com>)
Ответы Re: Postgres 8.0 + JDBC  (Kris Jurka <books@ejurka.com>)
RE : Postgres 8.0 + JDBC  ("Johann Robette" <jrobette@onyme.com>)
Re: Postgres 8.0 + JDBC  (Oliver Jowett <oliver@opencloud.com>)
Список pgsql-jdbc
Johann Robette wrote:

>                 java.sql.SQLException: ERROR: cannot cast type text to
> text[]

setArray has never worked particularly well; you're seeing another
manifestation here.

The underlying problem here is that:

- setArray() is claiming that the type it is setting is a VARCHAR
- the parameter is being passed as a typed parameter via the V3
protocol, with type = 'text'
- apparently you can't cast directly from text -> text[] (although you
can interpret an untyped literal as text[], which is why it worked before).

It seems possible to fix the driver to handle this case by making
setArray() derive a proper array type name i.e. ("_" +
Array.getBaseType()), and using that rather than 'text' as the parameter
type.

I'll try to do this soon, but I'm a bit busy so it may be a few days.

A longer term fix is to properly implement array support in setArray()..
I've submitted patches in the past to do this but they've never made it
into the official driver.

-O

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

Предыдущее
От: "Johann Robette"
Дата:
Сообщение: Postgres 8.0 + JDBC
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Postgres 8.0 + JDBC