From 86f081252088c922af0d515a0fdff700f9399f4a Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 29 Oct 2000 16:11:33 +0000 Subject: [PATCH] Remove special treatment of '|' operator, in the spirit of "sane" binary operators. --- src/backend/parser/gram.y | 16 +--------------- src/backend/parser/scan.l | 4 ++-- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index cfdc429f02..5c2a2ab5d6 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.200 2000/10/28 19:41:00 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.201 2000/10/29 16:11:33 petere Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -381,7 +381,6 @@ static void doNegateFloat(Value *v); %left '+' '-' %left '*' '/' '%' %left '^' -%left '|' /* XXX Should this have such a high priority? */ /* Unary Operators */ %right UMINUS %left '.' @@ -4195,7 +4194,6 @@ MathOp: '+' { $$ = "+"; } | '/' { $$ = "/"; } | '%' { $$ = "%"; } | '^' { $$ = "^"; } - | '|' { $$ = "|"; } | '<' { $$ = "<"; } | '>' { $$ = ">"; } | '=' { $$ = "="; } @@ -4238,14 +4236,10 @@ a_expr: c_expr { $$ = makeA_Expr(OP, "%", NULL, $2); } | '^' a_expr { $$ = makeA_Expr(OP, "^", NULL, $2); } - | '|' a_expr - { $$ = makeA_Expr(OP, "|", NULL, $2); } | a_expr '%' { $$ = makeA_Expr(OP, "%", $1, NULL); } | a_expr '^' { $$ = makeA_Expr(OP, "^", $1, NULL); } - | a_expr '|' - { $$ = makeA_Expr(OP, "|", $1, NULL); } | a_expr '+' a_expr { $$ = makeA_Expr(OP, "+", $1, $3); } | a_expr '-' a_expr @@ -4258,8 +4252,6 @@ a_expr: c_expr { $$ = makeA_Expr(OP, "%", $1, $3); } | a_expr '^' a_expr { $$ = makeA_Expr(OP, "^", $1, $3); } - | a_expr '|' a_expr - { $$ = makeA_Expr(OP, "|", $1, $3); } | a_expr '<' a_expr { $$ = makeA_Expr(OP, "<", $1, $3); } | a_expr '>' a_expr @@ -4492,14 +4484,10 @@ b_expr: c_expr { $$ = makeA_Expr(OP, "%", NULL, $2); } | '^' b_expr { $$ = makeA_Expr(OP, "^", NULL, $2); } - | '|' b_expr - { $$ = makeA_Expr(OP, "|", NULL, $2); } | b_expr '%' { $$ = makeA_Expr(OP, "%", $1, NULL); } | b_expr '^' { $$ = makeA_Expr(OP, "^", $1, NULL); } - | b_expr '|' - { $$ = makeA_Expr(OP, "|", $1, NULL); } | b_expr '+' b_expr { $$ = makeA_Expr(OP, "+", $1, $3); } | b_expr '-' b_expr @@ -4512,8 +4500,6 @@ b_expr: c_expr { $$ = makeA_Expr(OP, "%", $1, $3); } | b_expr '^' b_expr { $$ = makeA_Expr(OP, "^", $1, $3); } - | b_expr '|' b_expr - { $$ = makeA_Expr(OP, "|", $1, $3); } | b_expr '<' b_expr { $$ = makeA_Expr(OP, "<", $1, $3); } | b_expr '>' b_expr diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 5700915ad9..13e6b92eda 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.77 2000/09/12 21:07:02 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.78 2000/10/29 16:11:33 petere Exp $ * *------------------------------------------------------------------------- */ @@ -184,7 +184,7 @@ typecast "::" * If you change either set, adjust the character lists appearing in the * rule for "operator"! */ -self [,()\[\].;$\:\+\-\*\/\%\^\<\>\=\|] +self [,()\[\].;$\:\+\-\*\/\%\^\<\>\=] op_chars [\~\!\@\#\^\&\|\`\?\$\+\-\*\/\%\<\>\=] operator {op_chars}+