Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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)

pgsql-committers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group