From b9b7fe8ca452e95f0723e59c1b4b74723e07bc33 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 10 Apr 2019 19:02:21 -0400
Subject: [PATCH] Fix backwards test in operator_precedence_warning logic.

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index adbe2350a4e..b8aba007699 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -2936,7 +2936,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;
-- 
GitLab