Fix an old error in clause_selectivity: the default selectivity estimate

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

Commit: df62977d0080e9e437c74f456d96318e8e0a56ee
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-01-11T17:00:45Z
Releases: 8.3.0
Fix an old error in clause_selectivity: the default selectivity estimate
for unhandled clause types ought to be 0.5, not 1.0.  I fear I introduced
this silliness due to misreading the intent of the very-poorly-structured
code that was there when we inherited the file from Berkeley.  The lack
of sanity in this behavior was exposed by an example from Sim Zacks.
(Arguably this is a bug fix and should be back-patched, but I'm a bit
hesitant to introduce a possible planner behavior change in the back
branches; it might detune queries that worked acceptably in the past.)

While at it, make estimation for DistinctExpr do something marginally
realistic, rather than just defaulting.

Files

PathChange+/−
src/backend/optimizer/path/clausesel.c modified +17 −13