From 6f9ff92cc0ff6a07d2fe38abe044286ee98d44a0 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 23 Nov 1999 20:07:06 +0000 Subject: Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp --- src/backend/optimizer/util/pathnode.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/backend/optimizer/util/pathnode.c') diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index f3b99f88929..0f9bf1b8bbb 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.54 1999/08/16 02:17:58 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.55 1999/11/23 20:07:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -318,6 +318,32 @@ create_index_path(Query *root, return pathnode; } +/* + * create_tidscan_path + * Creates a path corresponding to a tid_direct scan, returning the + * pathnode. + * + */ +TidPath * +create_tidscan_path(RelOptInfo *rel, List *tideval) +{ + TidPath *pathnode = makeNode(TidPath); + + pathnode->path.pathtype = T_TidScan; + pathnode->path.parent = rel; + pathnode->path.path_cost = 0.0; + pathnode->path.pathkeys = NIL; + + pathnode->path.path_cost = cost_tidscan(tideval); + /* divide selectivity for each clause to get an equal selectivity + * as IndexScan does OK ? + */ + pathnode->tideval = copyObject(tideval); + pathnode->unjoined_relids = NIL; + + return pathnode; +} + /* * create_nestloop_path * Creates a pathnode corresponding to a nestloop join between two -- cgit v1.2.3