Back-patch fix for NOT-below-a-NOT case.
authorTom Lane <[email protected]>
Fri, 29 Jul 2005 21:40:26 +0000 (21:40 +0000)
committerTom Lane <[email protected]>
Fri, 29 Jul 2005 21:40:26 +0000 (21:40 +0000)
src/backend/optimizer/prep/prepqual.c

index 8d92ee317a04e105b51b6e86bc32d6e1d7e1e356..de72ad8141b724d00227712c3a58bba5c755c2c5 100644 (file)
@@ -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
    {