From 70fba70430bd42b1a31c6d49646f9d1991eb8e7c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 27 Jan 2003 20:51:54 +0000 Subject: Upgrade cost estimation for joins, per discussion with Bradley Baetz. Try to model the effect of rescanning input tuples in mergejoins; account for JOIN_IN short-circuiting where appropriate. Also, recognize that mergejoin and hashjoin clauses may now be more than single operator calls, so we have to charge appropriate execution costs. --- src/backend/utils/adt/selfuncs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/backend/utils/adt/selfuncs.c') diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 62e0b8b32a9..8fb4e84ad77 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -15,7 +15,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.129 2003/01/24 03:58:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.130 2003/01/27 20:51:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2043,6 +2043,8 @@ estimate_num_groups(Query *root, List *groupExprs, double input_rows) varinfos = newvarinfos; } while (varinfos != NIL); + numdistinct = ceil(numdistinct); + /* Guard against out-of-range answers */ if (numdistinct > input_rows) numdistinct = input_rows; -- cgit v1.2.3