intervals in 7.3.1

Started by Jukka Väänänenabout 23 years ago2 messagesgeneral
Jump to latest
#1Jukka Väänänen
jukka.vaananen@batman.jypoly.fi

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jukka Väänänen (#1)
Re: intervals in 7.3.1

=?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