Received: from localhost (unknown [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id 1E097633606 for ; Tue, 28 Apr 2009 18:31:20 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 24875-04 for ; Tue, 28 Apr 2009 18:31:18 -0300 (ADT) Received: from cvs.postgresql.org (cvs.postgresql.org [217.196.146.206]) by mail.postgresql.org (Postfix) with ESMTP id E553E6335A8 for ; Tue, 28 Apr 2009 18:31:17 -0300 (ADT) Received: by cvs.postgresql.org (Postfix, from userid 1007) id 99D8E75407C; Tue, 28 Apr 2009 21:31:16 +0000 (UTC) MIME-Version: 1.0 To: pgsql-committers@postgresql.org Subject: pgsql: Improve pull_up_subqueries logic so that it doesn't insert X-Mailer: activitymail 1.24, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain Message-Id: <20090428213116.99D8E75407C@cvs.postgresql.org> Date: Tue, 28 Apr 2009 21:31:16 +0000 (UTC) From: tgl@postgresql.org (Tom Lane) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200904/330 X-Sequence-Number: 36824 Log Message: ----------- Improve pull_up_subqueries logic so that it doesn't insert unnecessary PlaceHolderVar nodes in join quals appearing in or below the lowest outer join that could null the subquery being pulled up. This improves the planner's ability to recognize constant join quals, and probably helps with detection of common sort keys (equivalence classes) as well. Modified Files: -------------- pgsql/src/backend/optimizer/plan: planner.c (r1.254 -> r1.255) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.254&r2=1.255) pgsql/src/backend/optimizer/prep: prepjointree.c (r1.64 -> r1.65) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepjointree.c?r1=1.64&r2=1.65) pgsql/src/include/optimizer: prep.h (r1.64 -> r1.65) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/prep.h?r1=1.64&r2=1.65)