From 71ed7eb4941ddb32700a51a8b8b3403eceeca4a9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 22 Jan 2000 23:50:30 +0000 Subject: Revise handling of index-type-specific indexscan cost estimation, per pghackers discussion of 5-Jan-2000. The amopselect and amopnpages estimators are gone, and in their place is a per-AM amcostestimate procedure (linked to from pg_am, not pg_amop). --- src/backend/optimizer/path/_deadcode/xfunc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/backend/optimizer/path/_deadcode/xfunc.c') diff --git a/src/backend/optimizer/path/_deadcode/xfunc.c b/src/backend/optimizer/path/_deadcode/xfunc.c index 771cec3ecd9..82c26cee5f9 100644 --- a/src/backend/optimizer/path/_deadcode/xfunc.c +++ b/src/backend/optimizer/path/_deadcode/xfunc.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/_deadcode/Attic/xfunc.c,v 1.11 1999/11/22 17:56:10 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/_deadcode/Attic/xfunc.c,v 1.12 2000/01/22 23:50:13 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1100,27 +1100,27 @@ xfunc_expense_per_tuple(JoinPath joinnode, int whichchild) if (IsA(joinnode, HashPath)) { if (whichchild == INNER) - return (1 + _CPU_PAGE_WEIGHT_) * outers_per_page / NBuffers; + return (1 + cpu_page_weight) * outers_per_page / NBuffers; else - return (((1 + _CPU_PAGE_WEIGHT_) * outers_per_page / NBuffers) - + _CPU_PAGE_WEIGHT_ + return (((1 + cpu_page_weight) * outers_per_page / NBuffers) + + cpu_page_weight / xfunc_card_product(get_relids(innerrel))); } else if (IsA(joinnode, MergePath)) { /* assumes sort exists, and costs one (I/O + CPU) per tuple */ if (whichchild == INNER) - return ((2 * _CPU_PAGE_WEIGHT_ + 1) + return ((2 * cpu_page_weight + 1) / xfunc_card_product(get_relids(outerrel))); else - return ((2 * _CPU_PAGE_WEIGHT_ + 1) + return ((2 * cpu_page_weight + 1) / xfunc_card_product(get_relids(innerrel))); } else /* nestloop */ { Assert(IsA(joinnode, JoinPath)); - return _CPU_PAGE_WEIGHT_; + return cpu_page_weight; } } -- cgit v1.2.3