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

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Rework join-removal logic as per recent discussion.
Date: 2010-03-28 22:59:34
Message-ID: 20100328225934.820667541D0@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message User Itagaki 2010-03-29 03:51:56 pgstatsinfo - pg_statsinfo: Bugfixes.
Previous Message Simon Riggs 2010-03-28 09:27:02 pgsql: Derive latestRemovedXid for btree deletes by reading heap pages.