diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-12 22:35:29 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-12 22:35:29 +0000 |
commit | d4ce5a4f4c3516e88fa34c53bcc7313db90a3c08 (patch) | |
tree | 4c6b53e1c1e0989a9f45fe42ab6f29ffac019c03 /src/backend/optimizer/util/relnode.c | |
parent | d51260aa9d36653f4d63e6df133ddff8380f61b2 (diff) |
Revise cost_qual_eval() to compute both startup (one-time) and per-tuple
costs for expression evaluation, not only per-tuple cost as before.
This extension is needed in order to deal realistically with hashed or
materialized sub-selects.
Diffstat (limited to 'src/backend/optimizer/util/relnode.c')
-rw-r--r-- | src/backend/optimizer/util/relnode.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c index b93816bd21b..296d211ad12 100644 --- a/src/backend/optimizer/util/relnode.c +++ b/src/backend/optimizer/util/relnode.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.41 2002/11/24 21:52:14 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.42 2003/01/12 22:35:29 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -149,7 +149,8 @@ make_base_rel(Query *root, int relid) rel->joinrti = 0; rel->joinrteids = NIL; rel->baserestrictinfo = NIL; - rel->baserestrictcost = 0; + rel->baserestrictcost.startup = 0; + rel->baserestrictcost.per_tuple = 0; rel->outerjoinset = NIL; rel->joininfo = NIL; rel->index_outer_relids = NIL; @@ -363,7 +364,8 @@ build_join_rel(Query *root, joinrel->joinrteids = nconc(listCopy(outer_rel->joinrteids), inner_rel->joinrteids); joinrel->baserestrictinfo = NIL; - joinrel->baserestrictcost = 0; + joinrel->baserestrictcost.startup = 0; + joinrel->baserestrictcost.per_tuple = 0; joinrel->outerjoinset = NIL; joinrel->joininfo = NIL; joinrel->index_outer_relids = NIL; |