]> granicus.if.org Git - postgresql/commit
Fix mergejoin cost estimation so that we consider the statistical ranges of
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 8 Dec 2007 21:05:11 +0000 (21:05 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 8 Dec 2007 21:05:11 +0000 (21:05 +0000)
commit9fd88436470482fc030d4c2328977b3cf66f01f1
tree129da1e991a90cd249a97332473f8f8cc849e19e
parent88216128546ffef136189fab9e02bae299ed406d
Fix mergejoin cost estimation so that we consider the statistical ranges of
the two join variables at both ends: not only trailing rows that need not be
scanned because there cannot be a match on the other side, but initial rows
that will be scanned without possibly having a match.  This allows a more
realistic estimate of startup cost to be made, per recent pgsql-performance
discussion.  In passing, fix a couple of bugs that had crept into
mergejoinscansel: it was not quite up to speed for the task of estimating
descending-order scans, which is a new requirement in 8.3.
src/backend/optimizer/path/costsize.c
src/backend/utils/adt/selfuncs.c
src/include/nodes/relation.h
src/include/utils/selfuncs.h