Put back planner's ability to cache the results of mergejoinscansel(),

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 4f06c688c7b4726ac9f5279d4a9f32408eec5356
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-01-22T20:00:40Z
Releases: 8.3.0
Put back planner's ability to cache the results of mergejoinscansel(),
which I had removed in the first cut of the EquivalenceClass rewrite to
simplify that patch a little.  But it's still important --- in a four-way
join problem mergejoinscansel() was eating about 40% of the planning time
according to gprof.  Also, improve the EquivalenceClass code to re-use
join RestrictInfos rather than generating fresh ones for each join
considered.  This saves some memory space but more importantly improves
the effectiveness of caching planning info in RestrictInfos.

Files