From: Peter Eisentraut Date: Sun, 29 Oct 2000 16:11:33 +0000 (+0000) Subject: Remove special treatment of '|' operator, in the spirit of "sane" binary X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/?a=commitdiff_plain;h=1812b3a62e322bbecf36f19676323fe3caeae99f;p=users%2Fbernd%2Fpostgres.git Remove special treatment of '|' operator, in the spirit of "sane" binary operators. --- diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 01eb2448e4..5bf28e1d34 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -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 6d70462dac..dfcbd93649 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -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}+