Commit c114e166 authored by Tom Lane's avatar Tom Lane

Define the right-hand input of AT TIME ZONE as a full a_expr instead of

c_expr.  Perhaps the restriction was once needed to avoid bison errors,
but it seems to work just fine now --- and even generates a slightly
smaller state machine.  This change allows examples like
SELECT '13:45'::timetz AT TIME ZONE '-07:00'::interval;
to work without parentheses around the right-hand input.
parent 0975b95b
......@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.487 2005/04/07 01:51:38 neilc Exp $
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.488 2005/04/23 17:22:16 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
......@@ -6070,7 +6070,7 @@ opt_interval:
a_expr: c_expr { $$ = $1; }
| a_expr TYPECAST Typename
{ $$ = makeTypeCast($1, $3); }
| a_expr AT TIME ZONE c_expr
| a_expr AT TIME ZONE a_expr
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("timezone");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment