aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-12-15 18:42:35 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-12-15 18:42:35 +0000
commit14bdb023cc7803e50484cde87c71ef1984538491 (patch)
tree01311138788bedd3fcc1269eabc3abf870d38540 /doc/src
parent4f554024a8e41ea3759edab65b41985bef5a7deb (diff)
downloadpostgresql-14bdb023cc7803e50484cde87c71ef1984538491.tar.gz
postgresql-14bdb023cc7803e50484cde87c71ef1984538491.zip
Fix some planner bugs exposed by reports from Arjen van der Meijden. These
are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr (IN-clauses) or amortization of indexscan costs across repeated indexscans on the inside of a nestloop. In particular: Fix some logic errors in the estimation for multiple scans induced by a ScalarArrayOpExpr indexqual. Include a small cost component in bitmap index scans to reflect the costs of manipulating the bitmap itself; this is mainly to prevent a bitmap scan from appearing to have the same cost as a plain indexscan for fetching a single tuple. Also add a per-index-scan-startup CPU cost component; while prior releases were clearly too pessimistic about the cost of repeated indexscans, the original 8.2 coding allowed the cost of an indexscan to effectively go to zero if repeated often enough, which is overly optimistic. Pay some attention to index correlation when estimating costs for a nestloop inner indexscan: this is significant when the plan fetches multiple heap tuples per iteration, since high correlation means those tuples are probably on the same or adjacent heap pages.
Diffstat (limited to 'doc/src')
0 files changed, 0 insertions, 0 deletions