Re: recent ECPG 7.1->7.2 incompatibility ( interval('0sec') = syntax - Mailing list pgsql-bugs

From Thomas Lockhart
Subject Re: recent ECPG 7.1->7.2 incompatibility ( interval('0sec') = syntax
Date
Msg-id 3BE6A811.460ECF2F@fourpalms.org
Whole thread Raw
In response to recent ECPG 7.1->7.2 incompatibility ( interval('0sec') = syntax error )  (Christof Petig <christof@petig-baender.de>)
List pgsql-bugs
...
> > > You mean it works with quotes but not without?
> > exec sql select "interval"('0sec');  // accepted by ecpg
> > exec sql select interval('0sec');     // not accepted by ecpg (yesterday's
> > CVS)
> Not really surprising I guess since "interval" is accepted as the string
> >interval< while interval is regarded a token.

This change was forced by new features to support SQL9x INTERVAL syntax.
Since the full syntax allows constants of the form "INTERVAL 'val' DAY
TO MINUTE" I had to change the main parser to make INTERVAL a reserved
word, as is specified in SQL9x.

Using internal conversion functions to force type is not recommended (or
at least shouldn't be). You probably know that CAST('string' AS
INTERVAL) should work for you, and is SQL9x compliant.

                        - Thomas

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: Bug #509: read error on Win32 depending on network
Next
From: Christof Petig
Date:
Subject: Re: recent ECPG 7.1->7.2 incompatibility ( interval('0sec') = syntax