diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-11-23 20:07:06 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-11-23 20:07:06 +0000 |
commit | 6f9ff92cc0ff6a07d2fe38abe044286ee98d44a0 (patch) | |
tree | 797395e647f1e8a741214d5eaafb9ee66a64c462 /src/backend/nodes/outfuncs.c | |
parent | 54ffd4677aaf56e928af9e3f689297d6c06d1fe9 (diff) | |
download | postgresql-6f9ff92cc0ff6a07d2fe38abe044286ee98d44a0.tar.gz postgresql-6f9ff92cc0ff6a07d2fe38abe044286ee98d44a0.zip |
Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 06c2520d271..789faad772c 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: outfuncs.c,v 1.97 1999/10/07 04:23:04 tgl Exp $ + * $Id: outfuncs.c,v 1.98 1999/11/23 20:06:53 momjian Exp $ * * NOTES * Every (plan) node in POSTGRES has an associated "out" routine which @@ -452,6 +452,23 @@ _outIndexScan(StringInfo str, IndexScan *node) } /* + * TidScan is a subclass of Scan + */ +static void +_outTidScan(StringInfo str, TidScan *node) +{ + appendStringInfo(str, " TIDSCAN "); + _outPlanInfo(str, (Plan *) node); + + appendStringInfo(str, " :scanrelid %u ", node->scan.scanrelid); + appendStringInfo(str, " :needrescan %d ", node->needRescan); + + appendStringInfo(str, " :tideval "); + _outNode(str, node->tideval); + +} + +/* * Noname is a subclass of Plan */ static void @@ -915,6 +932,25 @@ _outIndexPath(StringInfo str, IndexPath *node) } /* + * TidPath is a subclass of Path. + */ +static void +_outTidPath(StringInfo str, TidPath *node) +{ + appendStringInfo(str, + " TIDPATH :pathtype %d :cost %f :pathkeys ", + node->path.pathtype, + node->path.path_cost); + _outNode(str, node->path.pathkeys); + + appendStringInfo(str, " :tideval "); + _outNode(str, node->tideval); + + appendStringInfo(str, " :un joined_relids "); + _outIntList(str, node->unjoined_relids); +} + +/* * NestPath is a subclass of Path */ static void @@ -1357,6 +1393,9 @@ _outNode(StringInfo str, void *obj) case T_IndexScan: _outIndexScan(str, obj); break; + case T_TidScan: + _outTidScan(str, obj); + break; case T_Noname: _outNoname(str, obj); break; @@ -1435,6 +1474,9 @@ _outNode(StringInfo str, void *obj) case T_IndexPath: _outIndexPath(str, obj); break; + case T_TidPath: + _outTidPath(str, obj); + break; case T_NestPath: _outNestPath(str, obj); break; |