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.
Branch
------
REL8_4_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/0ae8b300388c2a3eaf90e6e6f13d6be1f4d4ac2d
Modified Files
--------------
src/backend/utils/adt/selfuncs.c | 49 ++++++++++++++++++++++++-------------
1 files changed, 32 insertions(+), 17 deletions(-)