Fix backwards test in operator_precedence_warning logic.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Apr 2019 23:02:21 +0000 (19:02 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Apr 2019 23:02:58 +0000 (19:02 -0400)
Warnings about unary minus might have been wrong.  It's a bit
surprising that nobody noticed yet ... probably the precedence-warning
feature hasn't really been used much in the field.

Rikard Falkeborn

Discussion: https://postgr.es/m/CADRDgG6fzA8A2oeygUw4=o7ywo4kvz26NxCSgpq22nMD73Bx4Q@mail.gmail.com

src/backend/parser/parse_expr.c

index 6d8cb07766bb0a7f66116383be2d7388a5c6d57b..197c432dd419b302430cbaee7973d9516e9eff92 100644 (file)
@@ -3145,7 +3145,7 @@ operator_precedence_group(Node *node, const char **nodename)
                *nodename = strVal(linitial(aexpr->name));
                /* Ignore if op was always higher priority than IS-tests */
                if (strcmp(*nodename, "+") == 0 ||
-                   strcmp(*nodename, "-"))
+                   strcmp(*nodename, "-") == 0)
                    group = 0;
                else
                    group = PREC_GROUP_PREFIX_OP;