Thread: intervals in 7.3.1

intervals in 7.3.1

From
Jukka Väänänen
Date:
Hi,

I have been using intervals in postgresql like this:

  select interval('2 weeks');

We upgraded to 7.3.1 and now this produces error:

  ERROR:  parser: parse error at or near "'2 weeks'" at character 17

this works ok:

  select '2 weeks'::interval;

this also:

  select date(current_timestamp);

Is this a bug or is installation gone terribly wrong or is it a new
policy? Should I change all interval('xxx') to 'xxx'::interval?

-Jukka



Re: intervals in 7.3.1

From
Tom Lane
Date:
=?ISO-8859-1?Q?Jukka_V=E4=E4n=E4nen?= <jukka.vaananen@batman.jypoly.fi> writes:
> I have been using intervals in postgresql like this:
>   select interval('2 weeks');
> We upgraded to 7.3.1 and now this produces error:
>   ERROR:  parser: parse error at or near "'2 weeks'" at character 17

Yup.  "INTERVAL(n)" is now a type name, per SQL spec, and there doesn't
seem to be any way to persuade the parser that it could be a function
call as well.  You could double-quote the name:
    select "interval"('2 weeks');
but it's probably better to migrate to the cast syntax.

timestamp() has the same problem btw ...

            regards, tom lane