From: | tgl(at)svr1(dot)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Simplify the planner's join clause management by storing join |
Date: | 2005-06-09 04:19:00 |
Message-ID: | 20050609041900.9FCB95289E@svr1.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Simplify the planner's join clause management by storing join clauses
of a relation in a flat 'joininfo' list. The former arrangement grouped
the join clauses according to the set of unjoined relids used in each;
however, profiling on test cases involving lots of joins proves that
that data structure is a net loss. It takes more time to group the
join clauses together than is saved by avoiding duplicate tests later.
It doesn't help any that there are usually not more than one or two
clauses per group ...
Modified Files:
--------------
pgsql/src/backend/nodes:
copyfuncs.c (r1.305 -> r1.306)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.305&r2=1.306)
equalfuncs.c (r1.242 -> r1.243)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.242&r2=1.243)
outfuncs.c (r1.254 -> r1.255)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.254&r2=1.255)
pgsql/src/backend/optimizer:
README (r1.32 -> r1.33)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/README.diff?r1=1.32&r2=1.33)
pgsql/src/backend/optimizer/geqo:
geqo_eval.c (r1.75 -> r1.76)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/geqo/geqo_eval.c.diff?r1=1.75&r2=1.76)
pgsql/src/backend/optimizer/path:
allpaths.c (r1.132 -> r1.133)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.132&r2=1.133)
indxpath.c (r1.181 -> r1.182)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.181&r2=1.182)
joinrels.c (r1.73 -> r1.74)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinrels.c.diff?r1=1.73&r2=1.74)
orindxpath.c (r1.71 -> r1.72)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/orindxpath.c.diff?r1=1.71&r2=1.72)
pathkeys.c (r1.67 -> r1.68)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/pathkeys.c.diff?r1=1.67&r2=1.68)
pgsql/src/backend/optimizer/plan:
initsplan.c (r1.106 -> r1.107)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c.diff?r1=1.106&r2=1.107)
pgsql/src/backend/optimizer/prep:
prepunion.c (r1.122 -> r1.123)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c.diff?r1=1.122&r2=1.123)
pgsql/src/backend/optimizer/util:
joininfo.c (r1.42 -> r1.43)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/joininfo.c.diff?r1=1.42&r2=1.43)
relnode.c (r1.69 -> r1.70)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.69&r2=1.70)
restrictinfo.c (r1.36 -> r1.37)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.36&r2=1.37)
pgsql/src/include/nodes:
nodes.h (r1.169 -> r1.170)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h.diff?r1=1.169&r2=1.170)
relation.h (r1.112 -> r1.113)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.112&r2=1.113)
pgsql/src/include/optimizer:
joininfo.h (r1.29 -> r1.30)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/joininfo.h.diff?r1=1.29&r2=1.30)
restrictinfo.h (r1.30 -> r1.31)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/restrictinfo.h.diff?r1=1.30&r2=1.31)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2005-06-09 15:27:27 | pgsql: I've created a patch which adds support for troff "-ms" output to |
Previous Message | Bruce Momjian | 2005-06-09 03:00:48 | pgsql: Remove idea of schema tablespaces: < o Allow databases and |