postgresql/src/include/nodes
Tom Lane 1a95f12702 Eliminate a lot of list-management overhead within join_search_one_level
by adding a requirement that build_join_rel add new join RelOptInfos to the
appropriate list immediately at creation.  Per report from Robert Haas,
the list_concat_unique_ptr() calls that this change eliminates were taking
the lion's share of the runtime in larger join problems.  This doesn't do
anything to fix the fundamental combinatorial explosion in large join
problems, but it should push out the threshold of pain a bit further.

Note: because this changes the order in which joinrel lists are built,
it might result in changes in selected plans in cases where different
alternatives have exactly the same costs.  There is one example in the
regression tests.
2009-11-28 00:46:19 +00:00
..
bitmapset.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
execnodes.h Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to be 2009-11-20 20:38:12 +00:00
makefuncs.h Make backend header files C++ safe 2009-07-16 06:33:46 +00:00
memnodes.h Make backend header files C++ safe 2009-07-16 06:33:46 +00:00
nodeFuncs.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
nodes.h Re-implement EvalPlanQual processing to improve its performance and eliminate 2009-10-26 02:26:45 +00:00
params.h Add support for invoking parser callback hooks via SPI and in cached plans. 2009-11-04 22:26:08 +00:00
parsenodes.h Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to be 2009-11-20 20:38:12 +00:00
pg_list.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
plannodes.h Re-implement EvalPlanQual processing to improve its performance and eliminate 2009-10-26 02:26:45 +00:00
primnodes.h Support use of function argument names to identify which actual arguments 2009-10-08 02:39:25 +00:00
print.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
readfuncs.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
relation.h Eliminate a lot of list-management overhead within join_search_one_level 2009-11-28 00:46:19 +00:00
tidbitmap.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
value.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00