postgres.git / summary / log / commit / refs
commit 81f2d972a82fd86b5a01b2ddea7b8e866a760f5e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri Jul 29 21:40:26 2005 +0000
First released in: 8.0.4
Back-patch fix for NOT-below-a-NOT case.
src/backend/optimizer/prep/prepqual.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/backend/optimizer/prep/prepqual.c b/src/backend/optimizer/prep/prepqual.c
index 8d92ee317a0..de72ad8141b 100644
--- a/src/backend/optimizer/prep/prepqual.c
+++ b/src/backend/optimizer/prep/prepqual.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/prep/prepqual.c,v 1.48 2004/12/31 22:00:20 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/prep/prepqual.c,v 1.48.4.1 2005/07/29 21:40:26 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -335,9 +335,10 @@ push_nots(Expr *qual)
{
/*
* Another NOT cancels this NOT, so eliminate the NOT and stop
- * negating this branch.
+ * negating this branch. But search the subexpression for more
+ * NOTs to simplify.
*/
- return get_notclausearg(qual);
+ return find_nots(get_notclausearg(qual));
}
else
{
[parent: f4bbe13491cd]