diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-01-22 23:50:30 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-01-22 23:50:30 +0000 |
commit | 71ed7eb4941ddb32700a51a8b8b3403eceeca4a9 (patch) | |
tree | e2452e2e308d6066c2c7e255eab5332cfcb4baa8 /src/backend/optimizer/path/_deadcode/xfunc.c | |
parent | 78845177bb8839a2a582b92de2b46ce7d3f16df4 (diff) | |
download | postgresql-71ed7eb4941ddb32700a51a8b8b3403eceeca4a9.tar.gz postgresql-71ed7eb4941ddb32700a51a8b8b3403eceeca4a9.zip |
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).
Diffstat (limited to 'src/backend/optimizer/path/_deadcode/xfunc.c')
-rw-r--r-- | src/backend/optimizer/path/_deadcode/xfunc.c | 14 |
1 files changed, 7 insertions, 7 deletions
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; } } |