Remove special treatment of '|' operator, in the spirit of "sane" binary
authorPeter Eisentraut <peter_e@gmx.net>
Sun, 29 Oct 2000 16:11:33 +0000 (16:11 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sun, 29 Oct 2000 16:11:33 +0000 (16:11 +0000)
operators.

src/backend/parser/gram.y
src/backend/parser/scan.l

index 01eb2448e43029aa7fade4d6c998b972193fe231..5bf28e1d34fcefd310dcb4f2acf89685fec64228 100644 (file)
@@ -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
index 6d70462dac5bb3fa0f8620575588672012e479f7..dfcbd9364994c6baa2fecf7e026a1eac6bf0ab68 100644 (file)
@@ -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}+