From b37bc65f44eb16e98212fc61b565bb86502812fd Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 17 Jan 1998 04:53:46 +0000 Subject: Creates the SubLink structure, and the Query->hasSubLink field, with supporting code. Creates SubLink node in gram.y. psql.c patch for newatttypmod field. --- src/backend/nodes/copyfuncs.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 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 fe045539223..834cc8c2571 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.31 1998/01/16 23:19:56 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.32 1998/01/17 04:53:07 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -892,6 +892,28 @@ _copyAggreg(Aggreg *from) return newnode; } +/* ---------------- + * _copySubLink + * ---------------- + */ +static SubLink * +_copySubLink(SubLink *from) +{ + SubLink *newnode = makeNode(SubLink); + + /* ---------------- + * copy remainder of node + * ---------------- + */ + newnode->subLinkType = from->subLinkType; + newnode->useor = from->useor; + Node_Copy(from, newnode, lefthand); + Node_Copy(from, newnode, oper); + Node_Copy(from, newnode, subselect); + + return newnode; +} + static Array * _copyArray(Array *from) { @@ -1517,6 +1539,7 @@ _copyQuery(Query *from) Node_Copy(from, newnode, havingQual); newnode->hasAggs = from->hasAggs; + newnode->hasSubLinks = from->hasSubLinks; if (from->unionClause) { @@ -1673,6 +1696,9 @@ copyObject(void *from) case T_Aggreg: retval = _copyAggreg(from); break; + case T_SubLink: + retval = _copySubLink(from); + break; /* * RELATION NODES -- cgit v1.2.3