Re: backwards compatibility problem

From: Kris Jurka <books(at)ejurka(dot)com>
To: Csaba Nagy <nagy(at)ecircle-ag(dot)com>
Cc: Postgres JDBC <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: backwards compatibility problem
Date: 2006-05-10 17:40:33
Message-ID: Pine.BSO.4.63.0605101236440.25380@leary2.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2006-05-10 17:44:34 Re: Release new driver version
Previous Message Dan Armbrust 2006-05-10 17:36:27 Re: Problem dropping a table