Re: backwards compatibility problem

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: backwards compatibility problem
Дата
Msg-id Pine.BSO.4.63.0605101236440.25380@leary2.csoft.net
обсуждение исходный текст
Ответ на backwards compatibility problem  (Csaba Nagy <nagy@ecircle-ag.com>)
Список pgsql-jdbc

On Wed, 10 May 2006, Csaba Nagy wrote:

> Hi all,
>
> I was trying to upgrade the postgres JDBC driver I was using due to the
> fix for supporting high-unicode characters.
> I was using before the file:
> postgresql-8.1dev-400.jdbc3.jar
> and upgraded to:
> postgresql-8.1-405.jdbc3.jar
>
> The new one fixes indeed the high-unicode character support, but it
> breaks other code we have...
>
> Specifically, with the former driver the following query would work:
>
> select ? - '1 day'::interval
>
> where the parameter is set to a timestamp value (either via setTimestamp
> or setObject without specifying the type, the result is the same).
>
> With the new driver the same code results in:
> ERROR: invalid input syntax for type interval: "2006-05-10
> 18:15:47.679000 +0200"
>
> Casting the ? sign to timestamp in the query works here (tested), but I
> wonder why this was working in the older driver and stopped working with
> the newer. AFAIK the protocol did not change and strict typing was
> required already with the old driver, so how come that got it right and
> the new one does not ?
>

The older driver did not correctly handle calling setTimestamp when
inserting into a timestamp without time zone column because the
setTimestamp call used the timestamp with time zone type.  The newer
driver version passes an unknown type and lets the server figure out what
it is.  In this case it incorrectly guesses interval.  Unfortunately there
is no way to hint to the server that we know it's a timestamp type, but we
don't know which variety.

Kris Jurka


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

Предыдущее
От: Dan Armbrust
Дата:
Сообщение: Re: Problem dropping a table
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Release new driver version