X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=src%2Fbackend%2Foptimizer%2Fpath%2Findxpath.c;h=7bb4a8eaeb1d83066413fb1e9c34c8b496e2d08b;hb=71ed7eb4941ddb32700a51a8b8b3403eceeca4a9;hp=3c93ee67ac34a02a45dbd19281b0b0ca21c57155;hpb=166b5c1def56a8c43536ac64bd0ba92517f67765;p=postgresql diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 3c93ee67ac..7bb4a8eaeb 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.76 2000/01/09 00:26:31 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.77 2000/01/22 23:50:14 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1393,19 +1393,6 @@ index_innerjoin(Query *root, RelOptInfo *rel, IndexOptInfo *index, List *clausegroup = lfirst(i); IndexPath *pathnode = makeNode(IndexPath); List *indexquals; - long npages; - Selectivity selec; - - indexquals = get_actual_clauses(clausegroup); - /* expand special operators to indexquals the executor can handle */ - indexquals = expand_indexqual_conditions(indexquals); - - index_selectivity(root, - rel, - index, - indexquals, - &npages, - &selec); /* XXX this code ought to be merged with create_index_path? */ @@ -1413,6 +1400,10 @@ index_innerjoin(Query *root, RelOptInfo *rel, IndexOptInfo *index, pathnode->path.parent = rel; pathnode->path.pathkeys = build_index_pathkeys(root, rel, index); + indexquals = get_actual_clauses(clausegroup); + /* expand special operators to indexquals the executor can handle */ + indexquals = expand_indexqual_conditions(indexquals); + /* Note that we are making a pathnode for a single-scan indexscan; * therefore, both indexid and indexqual should be single-element * lists. @@ -1423,8 +1414,7 @@ index_innerjoin(Query *root, RelOptInfo *rel, IndexOptInfo *index, /* joinrelids saves the rels needed on the outer side of the join */ pathnode->joinrelids = lfirst(outerrelids_list); - pathnode->path.path_cost = cost_index(rel, index, - npages, selec, + pathnode->path.path_cost = cost_index(root, rel, index, indexquals, true); path_list = lappend(path_list, pathnode);