Be more wary of missing statistics in eqjoinsel_semi().
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:34 +0000 (01:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:34 +0000 (01:59 -0400)
commit3f5d2fe3029b181fe773a02f1d4b34624c357634
tree7bc661eb625a661062b6e2e355ca974c4f9b9ab5
parent921b993677e165607029a52e7f866bbd112345a5
Be more wary of missing statistics in eqjoinsel_semi().

In particular, if we don't have real ndistinct estimates for both sides,
fall back to assuming that half of the left-hand rows have join partners.
This is what was done in 8.2 and 8.3 (cf nulltestsel() in those versions).
It's pretty stupid but it won't lead us to think that an antijoin produces
no rows out, as seen in recent example from Uwe Schroeder.
src/backend/utils/adt/selfuncs.c