Re: Exception storing ipaddress with JBoss after upgrade to

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Exception storing ipaddress with JBoss after upgrade to
Дата
Msg-id 4339E1C3.5000800@opencloud.com
обсуждение исходный текст
Ответ на Re: Exception storing ipaddress with JBoss after upgrade to  (Joost Kraaijeveld <J.Kraaijeveld@Askesis.nl>)
Список pgsql-jdbc
Joost Kraaijeveld wrote:

> On Tue, 2005-09-27 at 09:48 -0400, Dave Cramer wrote:
>
>>The new driver uses server side prepared statements and is much more
>>particular about the types being sent.
>>
>>You can force v2 protocol, or create a PGInet type extending PGObject
>
> I do not really understand why: the postgresql log file shows that the
> error is happening at the backend where no Java is running (and I can
> also not remember that I had to write special code in ODBC: I just send
> a string with a correct ip address and the database backend converted it
> to a inet, but that was long ago and I may remember wrong). All examples
> in the postgresql docs (e.g. example 11-1 setting up a partial index)
> where the inet type is used an ordinary string is passed to the backend.

More recent JDBC drivers pass parameters via the extended query protocol
which puts the parameter value out-of-band from the query (the query
sent to the backend has a $n placeholder where you put the ? in the
query, then the parameter values are sent separately). Associated with
each parameter is a type.

Since you (or rather, JBoss) are telling the JDBC driver that the
parameter is a String, it passes the parameter as a text type.

There's no implicit cast from text to inet, so the backend complains.

It's roughly equivalent to writing out the query with the parameter as
'1.2.3.4'::text -- because the type is explicitly specified you don't
get the implicit casting of a bare string literal that you'd get
otherwise. Or similar to using PREPARE/EXECUTE.

Search the pgsql-jdbc archives for more details.

-O

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

Предыдущее
От: Joost Kraaijeveld
Дата:
Сообщение: Re: Exception storing ipaddress with JBoss after upgrade to
Следующее
От: Alfredo Rico
Дата:
Сообщение: How to retieve binary data (bytea) without problem ?