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/nodes/copyfuncs.c | 58 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) (limited to 'src/backend/nodes/copyfuncs.c') diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 5f23a954b13..1b2726f8226 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.96 1999/11/15 03:28:06 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.97 1999/11/23 20:06:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -253,6 +253,32 @@ _copyIndexScan(IndexScan *from) return newnode; } +/* ---------------- + * _copyTidScan + * ---------------- + */ +static TidScan * +_copyTidScan(TidScan *from) +{ + TidScan *newnode = makeNode(TidScan); + + /* ---------------- + * copy node superclass fields + * ---------------- + */ + CopyPlanFields((Plan *) from, (Plan *) newnode); + CopyScanFields((Scan *) from, (Scan *) newnode); + /* ---------------- + * copy remainder of node + * ---------------- + */ + newnode->needRescan = from->needRescan; + Node_Copy(from, newnode, tideval); + + return newnode; +} + + /* ---------------- * CopyJoinFields * @@ -1058,6 +1084,30 @@ _copyIndexPath(IndexPath *from) return newnode; } +/* ---------------- + * _copyTidPath + * ---------------- + */ +static TidPath * +_copyTidPath(TidPath *from) +{ + TidPath *newnode = makeNode(TidPath); + + /* ---------------- + * copy the node superclass fields + * ---------------- + */ + CopyPathFields((Path *) from, (Path *) newnode); + + /* ---------------- + * copy remainder of node + * ---------------- + */ + Node_Copy(from, newnode, tideval); + newnode->unjoined_relids = listCopy(from->unjoined_relids); + + return newnode; +} /* ---------------- * CopyJoinPathFields * @@ -1437,6 +1487,9 @@ copyObject(void *from) case T_IndexScan: retval = _copyIndexScan(from); break; + case T_TidScan: + retval = _copyTidScan(from); + break; case T_Join: retval = _copyJoin(from); break; @@ -1535,6 +1588,9 @@ copyObject(void *from) case T_IndexPath: retval = _copyIndexPath(from); break; + case T_TidPath: + retval = _copyTidPath(from); + break; case T_NestPath: retval = _copyNestPath(from); break; -- cgit v1.2.3