diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/tsearch/ts_selfuncs.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/backend/tsearch/ts_selfuncs.c b/src/backend/tsearch/ts_selfuncs.c index 8ce9fb46aa1..7f33c16a245 100644 --- a/src/backend/tsearch/ts_selfuncs.c +++ b/src/backend/tsearch/ts_selfuncs.c @@ -189,11 +189,17 @@ tsquerysel(VariableStatData *vardata, Datum constval) /* No most-common-elements info, so do without */ selec = tsquery_opr_selec_no_stats(query); } + + /* + * MCE stats count only non-null rows, so adjust for null rows. + */ + selec *= (1.0 - stats->stanullfrac); } else { /* No stats at all, so do without */ selec = tsquery_opr_selec_no_stats(query); + /* we assume no nulls here, so no stanullfrac correction */ } return selec; |