pgsql: Teach planner to convert simple UNION ALL subqueries into append

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Teach planner to convert simple UNION ALL subqueries into append
Date: 2006-02-03 21:08:49
Message-ID: 20060203210849.D85429DCC2B@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2006-02-04 00:42:54 pgsql: First attempt at removing some AC_CHECK_LIB(foo, main) calls.
Previous Message Bruce Momjian 2006-02-03 19:04:42 pgsql: New Directory