pgsql: Teach planner to convert simple UNION ALL subqueries into append - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Teach planner to convert simple UNION ALL subqueries into append
Date
Msg-id 20060203210849.D85429DCC2B@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Teach planner to convert simple UNION ALL subqueries into append relations,
thereby sharing code with the inheritance case.  This puts the UNION-ALL-view
approach to partitioned tables on par with inheritance, so far as constraint
exclusion is concerned: it works either way.  (Still need to update the docs
to say so.)  The definition of "simple UNION ALL" is a little simpler than
I would like --- basically the union arms can only be SELECT * FROM foo
--- but it's good enough for partitioned-table cases.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.140 -> r1.141)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.140&r2=1.141)
        joinpath.c (r1.99 -> r1.100)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c.diff?r1=1.99&r2=1.100)
    pgsql/src/backend/optimizer/plan:
        planner.c (r1.197 -> r1.198)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c.diff?r1=1.197&r2=1.198)
    pgsql/src/backend/optimizer/prep:
        prepjointree.c (r1.34 -> r1.35)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepjointree.c.diff?r1=1.34&r2=1.35)
        prepunion.c (r1.129 -> r1.130)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c.diff?r1=1.129&r2=1.130)
    pgsql/src/backend/optimizer/util:
        relnode.c (r1.75 -> r1.76)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.75&r2=1.76)
        tlist.c (r1.70 -> r1.71)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/tlist.c.diff?r1=1.70&r2=1.71)
    pgsql/src/include/optimizer:
        pathnode.h (r1.64 -> r1.65)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h.diff?r1=1.64&r2=1.65)
        prep.h (r1.54 -> r1.55)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/prep.h.diff?r1=1.54&r2=1.55)
        tlist.h (r1.42 -> r1.43)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/tlist.h.diff?r1=1.42&r2=1.43)

pgsql-committers by date:

Previous
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: New Directory
Next
From: petere@postgresql.org (Peter Eisentraut)
Date:
Subject: pgsql: First attempt at removing some AC_CHECK_LIB(foo, main) calls.