OSDN Git Service

Be more wary of missing statistics in eqjoinsel_semi().
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:42 +0000 (01:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:42 +0000 (01:59 -0400)
commit159c47dc7170110a39f8a16b1d0b7811f5556f87
tree6af517369a1f0f3ade620cd5f798798451608c55
parent0e754ab366e9a200ef7342dc6ada42ae014a6739
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