Thread: pgsql: Fix an old error in clause_selectivity: the default selectivity

pgsql: Fix an old error in clause_selectivity: the default selectivity

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        clausesel.c (r1.89 -> r1.90)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/clausesel.c?r1=1.89&r2=1.90)