diff options
Diffstat (limited to 'src/backend/optimizer/path')
-rw-r--r-- | src/backend/optimizer/path/indxpath.c | 7 | ||||
-rw-r--r-- | src/backend/optimizer/path/orindxpath.c | 11 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 24f46ec9331..3d505c87c00 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.34 1998/09/01 04:29:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.35 1998/09/21 15:41:26 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1293,8 +1293,13 @@ index_innerjoin(Query *root, RelOptInfo * rel, List *clausegroup_list, length(clausegroup), &temp_pages, &temp_selec); + pathnode->path.pathtype = T_IndexScan; pathnode->path.parent = rel; + pathnode->path.p_ordering.ordtype = SORTOP_ORDER; + pathnode->path.p_ordering.ord.sortop = index->ordering; + pathnode->path.keys = NIL; /* not sure about this, bjm 1998/09/21 */ + pathnode->indexid = index->relids; pathnode->indexkeys = index->indexkeys; pathnode->indexqual = clausegroup; diff --git a/src/backend/optimizer/path/orindxpath.c b/src/backend/optimizer/path/orindxpath.c index 3f8d6b15daf..31bd977de16 100644 --- a/src/backend/optimizer/path/orindxpath.c +++ b/src/backend/optimizer/path/orindxpath.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/orindxpath.c,v 1.11 1998/09/01 04:29:41 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/orindxpath.c,v 1.12 1998/09/21 15:41:27 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -104,6 +104,15 @@ create_or_index_paths(Query *root, pathnode->path.pathtype = T_IndexScan; pathnode->path.parent = rel; + pathnode->path.p_ordering.ordtype = SORTOP_ORDER; + /* + * This is an IndexScan, but it does index lookups based + * on the order of the fields specified in the WHERE clause, + * not in any order, so the sortop is NULL. + */ + pathnode->path.p_ordering.ord.sortop = NULL; + pathnode->path.keys = NIL; /* not sure about this, bjm 1998/09/21 */ + pathnode->indexqual = lcons(clausenode, NIL); pathnode->indexid = indexids; pathnode->path.path_cost = cost; |