| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org | 
| Subject: | pgsql: Be more wary of missing statistics in eqjoinsel_semi(). | 
| Date: | 2011-04-12 06:00:10 | 
| Message-ID: | E1Q9We2-0004Kl-Vi@gemulon.postgresql.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-committers | 
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
------
REL9_0_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/159c47dc7170110a39f8a16b1d0b7811f5556f87
Modified Files
--------------
src/backend/utils/adt/selfuncs.c |   49 ++++++++++++++++++++++++-------------
1 files changed, 32 insertions(+), 17 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2011-04-12 06:05:55 | pgsql: Suppress compiler warnings about "value computed is not used". | 
| Previous Message | Tom Lane | 2011-04-12 01:33:07 | pgsql: Fix RI_Initial_Check to use a COLLATE clause when needed in its |