Remove prohibition against SubLinks in the WHERE clause of an EXISTS subquery
authorTom Lane
Sun, 17 Aug 2008 02:19:19 +0000 (02:19 +0000)
committerTom Lane
Sun, 17 Aug 2008 02:19:19 +0000 (02:19 +0000)
that we're considering pulling up.  I hadn't wanted to think through whether
that could work during the first pass at this stuff.  However, on closer
inspection it seems to be safe enough.

src/backend/optimizer/plan/subselect.c

index d4374516ac8f0bf16ae8cd94c4557eb200943d0c..9eaeaedc68fc945313ed2101fbdf063121b2223a 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/optimizer/plan/subselect.c,v 1.134 2008/08/17 01:20:00 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/optimizer/plan/subselect.c,v 1.135 2008/08/17 02:19:19 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -969,14 +969,6 @@ convert_EXISTS_sublink_to_join(PlannerInfo *root, SubLink *sublink,
    if (contain_volatile_functions(whereClause))
        return false;
 
-   /*
-    * Also disallow SubLinks within the WHERE clause.  (XXX this could
-    * probably be supported, but it would complicate the transformation
-    * below, and it doesn't seem worth worrying about in a first pass.)
-    */
-   if (contain_subplans(whereClause))
-       return false;
-
    /*
     * Prepare to pull up the sub-select into top range table.
     *