pgsql: Rework join-removal logic as per recent discussion. - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Rework join-removal logic as per recent discussion.
Date
Msg-id 20100328225934.820667541D0@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Rework join-removal logic as per recent discussion.  In particular this
fixes things so that it works for cases where nested removals are possible.
The overhead of the optimization should be significantly less, as well.

Modified Files:
--------------
    pgsql/src/backend/nodes:
        outfuncs.c (r1.383 -> r1.384)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.383&r2=1.384)
    pgsql/src/backend/optimizer:
        README (r1.52 -> r1.53)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/README?r1=1.52&r2=1.53)
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.193 -> r1.194)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.193&r2=1.194)
        joinpath.c (r1.131 -> r1.132)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c?r1=1.131&r2=1.132)
    pgsql/src/backend/optimizer/plan:
        Makefile (r1.15 -> r1.16)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/Makefile?r1=1.15&r2=1.16)
        createplan.c (r1.273 -> r1.274)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.273&r2=1.274)
        planmain.c (r1.117 -> r1.118)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c?r1=1.117&r2=1.118)
    pgsql/src/backend/optimizer/util:
        pathnode.c (r1.157 -> r1.158)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c?r1=1.157&r2=1.158)
        placeholder.c (r1.6 -> r1.7)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/placeholder.c?r1=1.6&r2=1.7)
    pgsql/src/include/nodes:
        nodes.h (r1.233 -> r1.234)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h?r1=1.233&r2=1.234)
        relation.h (r1.184 -> r1.185)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h?r1=1.184&r2=1.185)
    pgsql/src/include/optimizer:
        pathnode.h (r1.83 -> r1.84)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h?r1=1.83&r2=1.84)
        placeholder.h (r1.4 -> r1.5)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/placeholder.h?r1=1.4&r2=1.5)
        planmain.h (r1.126 -> r1.127)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h?r1=1.126&r2=1.127)
    pgsql/src/test/regress/expected:
        join.out (r1.44 -> r1.45)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join.out?r1=1.44&r2=1.45)
    pgsql/src/test/regress/sql:
        join.sql (r1.33 -> r1.34)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/join.sql?r1=1.33&r2=1.34)

Added Files:
-----------
    pgsql/src/backend/optimizer/plan:
        analyzejoins.c (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/analyzejoins.c?rev=1.1&content-type=text/x-cvsweb-markup)

pgsql-committers by date:

Previous
From: sriggs@postgresql.org (Simon Riggs)
Date:
Subject: pgsql: Derive latestRemovedXid for btree deletes by reading heap pages.
Next
From: itagaki@pgfoundry.org (User Itagaki)
Date:
Subject: pgstatsinfo - pg_statsinfo: Bugfixes.