aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util/indexnode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/util/indexnode.c')
-rw-r--r--src/backend/optimizer/util/indexnode.c58
1 files changed, 2 insertions, 56 deletions
diff --git a/src/backend/optimizer/util/indexnode.c b/src/backend/optimizer/util/indexnode.c
index 4817232f2fb..350209690b7 100644
--- a/src/backend/optimizer/util/indexnode.c
+++ b/src/backend/optimizer/util/indexnode.c
@@ -7,21 +7,16 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/indexnode.c,v 1.20 1999/08/16 02:17:57 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/indexnode.c,v 1.21 1999/11/21 23:25:47 tgl Exp $
*
*-------------------------------------------------------------------------
*/
-#include <sys/types.h>
-
#include "postgres.h"
-
#include "optimizer/pathnode.h"
#include "optimizer/plancat.h"
-static List *find_secondary_index(Query *root, Oid relid);
-
/*
* find_relation_indices
* Returns a list of index nodes containing appropriate information for
@@ -32,56 +27,7 @@ List *
find_relation_indices(Query *root, RelOptInfo *rel)
{
if (rel->indexed)
- return find_secondary_index(root, lfirsti(rel->relids));
+ return find_secondary_indexes(root, lfirsti(rel->relids));
else
return NIL;
}
-
-/*
- * find_secondary_index
- * Creates a list of RelOptInfo nodes containing information for each
- * secondary index defined on a relation by searching through the index
- * catalog.
- *
- * 'relid' is the OID of the relation for which indices are being located
- *
- * Returns a list of new index RelOptInfo nodes.
- */
-static List *
-find_secondary_index(Query *root, Oid relid)
-{
- IdxInfoRetval indexinfo;
- List *indexes = NIL;
- bool first = true;
-
- while (index_info(root, first, relid, &indexinfo))
- {
- RelOptInfo *indexnode = makeNode(RelOptInfo);
-
- indexnode->relids = lconsi(indexinfo.relid, NIL);
- indexnode->relam = indexinfo.relam;
- indexnode->pages = indexinfo.pages;
- indexnode->tuples = indexinfo.tuples;
- indexnode->classlist = indexinfo.classlist;
- indexnode->indexkeys = indexinfo.indexkeys;
- indexnode->ordering = indexinfo.orderOprs;
- indexnode->indproc = indexinfo.indproc;
- indexnode->indpred = (List *) indexinfo.indpred;
-
- indexnode->indexed = false; /* not indexed itself */
- indexnode->size = 0;
- indexnode->width = 0;
- indexnode->targetlist = NIL;
- indexnode->pathlist = NIL;
- indexnode->cheapestpath = NULL;
- indexnode->pruneable = true;
- indexnode->restrictinfo = NIL;
- indexnode->joininfo = NIL;
- indexnode->innerjoin = NIL;
-
- indexes = lcons(indexnode, indexes);
- first = false;
- }
-
- return indexes;
-}