From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | extract vs date_part |
Date: | 2001-02-16 19:56:43 |
Message-ID: | Pine.LNX.4.30.0102162049270.1009-100000@peter.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
ISTM that it is mighty confusing that extract() and date_part() don't
accept the same set of "field" arguments.
-> SELECT EXTRACT(decade FROM TIMESTAMP '2001-02-16 20:38:40');
ERROR: parser: parse error at or near "decade"
=> SELECT EXTRACT("decade" FROM TIMESTAMP '2001-02-16 20:38:40');
ERROR: parser: parse error at or near """
=> SELECT date_part('decade', TIMESTAMP '2001-02-16 20:38:40');
date_part
-----------
200
This can be an easy grammar fix:
diff -c -r2.220 gram.y
*** gram.y 2001/02/09 03:26:28 2.220
--- gram.y 2001/02/16 19:42:42
***************
*** 4987,4992 ****
--- 4987,4993 ----
;
extract_arg: datetime { $$ = $1; }
+ | IDENT { $$ = $1; }
| TIMEZONE_HOUR { $$ = "tz_hour"; }
| TIMEZONE_MINUTE { $$ = "tz_minute"; }
;
(Using ColId instead of datetime + IDENT gives reduce/reduce conflicts
that I don't want to mess with now.)
The date_part implementation is prepared for unknown field selectors, so
this should be all safe. Comments?
--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 2001-02-16 20:18:58 | Re: extract vs date_part |
Previous Message | Tom Lane | 2001-02-16 19:08:15 | Re: floating point representation |