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/copyfuncs.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/copyfuncs.c')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 58 |
1 files changed, 57 insertions, 1 deletions
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 $ * *------------------------------------------------------------------------- */ @@ -254,6 +254,32 @@ _copyIndexScan(IndexScan *from) } /* ---------------- + * _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 * * This function copies the fields of the Join node. It is used by @@ -1059,6 +1085,30 @@ _copyIndexPath(IndexPath *from) } /* ---------------- + * _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 * * This function copies the fields of the JoinPath node. It is used by @@ -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; |