]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Change precedence for boolean operators to match expected behavior.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 1 Jan 1998 05:44:54 +0000 (05:44 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 1 Jan 1998 05:44:54 +0000 (05:44 +0000)
Change NOTICE/NOTICE/NOTICE/WARN elog messages to a single message
 with a few newline/tab breaks embedded in the string. Much cleaner I hope.

src/backend/parser/gram.y
src/backend/parser/parse_oper.c

index 7454c1c2bf5a7a031d3c6ce568c135ac30243d65..c64c8d41d25dfd2366973210c4fe6fc750ae1e5f 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.81 1997/12/24 06:06:26 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.82 1998/01/01 05:44:53 thomas Exp $
  *
  * HISTORY
  *       AUTHOR                        DATE                    MAJOR EVENT
@@ -306,10 +306,11 @@ Oid       param_type(int t); /* used in parse_expr.c */
 %left          AND
 %right         NOT
 %right         '='
+%nonassoc      '<' '>'
 %nonassoc      LIKE
 %nonassoc      BETWEEN
 %nonassoc      IN
-%nonassoc      Op
+%nonassoc      Op                              /* multi-character ops and user-defined operators */
 %nonassoc      NOTNULL
 %nonassoc      ISNULL
 %nonassoc      IS
@@ -319,7 +320,6 @@ Oid param_type(int t); /* used in parse_expr.c */
 /* Unary Operators */
 %right         ':'
 %left          ';'                             /* end of statement or natural log */
-%nonassoc      '<' '>'
 %right         UMINUS
 %left          '.'
 %left          '[' ']'
index ddc97a45239f07265fa03a10848eaea2cc1f1b9c..4fbe3f1446f0ed13b74b533cc7b8d4663a210ec6 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.3 1997/11/26 03:42:45 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.4 1998/01/01 05:44:54 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -587,11 +587,17 @@ op_error(char *op, Oid arg1, Oid arg2)
                elog(WARN, "right hand side of operator %s has an unknown type, probably a bad attribute name", op);
        }
 
+#if FALSE
        elog(NOTICE, "there is no operator %s for types %s and %s",
                 op, typeTypeName(tp1), typeTypeName(tp2));
        elog(NOTICE, "You will either have to retype this query using an");
        elog(NOTICE, "explicit cast, or you will have to define the operator");
        elog(WARN, "%s for %s and %s using CREATE OPERATOR",
                 op, typeTypeName(tp1), typeTypeName(tp2));
+#endif
+       elog(WARN, "There is no operator '%s' for types '%s' and '%s'"
+               "\n\tYou will either have to retype this query using an explicit cast,"
+               "\n\tor you will have to define the operator using CREATE OPERATOR",
+               op, typeTypeName(tp1), typeTypeName(tp2));
 }