Re: 8.0.3 parse errors where 7.x was ok - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: 8.0.3 parse errors where 7.x was ok
Date
Msg-id Pine.BSO.4.56.0508091900580.21747@leary.csoft.net
Whole thread Raw
In response to 8.0.3 parse errors where 7.x was ok  (Nick Johnson <pgsql@spatula.net>)
List pgsql-jdbc

On Tue, 9 Aug 2005, Nick Johnson wrote:

> I'm getting a new exception when upgrading to Postgres 8.0.3 with the JDBC
> drivers it builds:
>
> java.sql.SQLException: ERROR: parse error at or near "$1"
>
>      105         try {
>      106             s = c.prepareStatement("select now() - interval ?");
>      107             s.setString(1, "7 days");
>      108             ResultSet r = s.executeQuery();
>
> Is this syntax no longer supported?
>

Yes.  The 8.0 driver always uses server side prepared statements when in
the past the statements were usually put together on the driver side.
The using a type prefix (like "interval") is not supported in server
prepared statements, so this is a server limitation that is now exposed
with the new driver.  I believe "?::interval" or "cast(? as interval)"
should work.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Nick Johnson
Date:
Subject: 8.0.3 parse errors where 7.x was ok
Next
From: Oliver Jowett
Date:
Subject: Re: 8.0.3 parse errors where 7.x was ok