]> granicus.if.org Git - postgresql/commit
Be more wary of missing statistics in eqjoinsel_semi().
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:51 +0000 (01:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 12 Apr 2011 05:59:51 +0000 (01:59 -0400)
commit0ae8b300388c2a3eaf90e6e6f13d6be1f4d4ac2d
tree38e09b12cbf738056841f55818cf4c08afe04a62
parent8db00d417541da5ab4998686315516aaee568952
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