aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/copyfuncs.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-01-17 04:53:46 +0000
committerBruce Momjian <bruce@momjian.us>1998-01-17 04:53:46 +0000
commitb37bc65f44eb16e98212fc61b565bb86502812fd (patch)
tree0058866f3e0dcc08a98a534eee73cea7bd53bc3e /src/backend/nodes/copyfuncs.c
parentc65ea0e040f08b59407cd74f8f0f0dd190169d46 (diff)
downloadpostgresql-b37bc65f44eb16e98212fc61b565bb86502812fd.tar.gz
postgresql-b37bc65f44eb16e98212fc61b565bb86502812fd.zip
Creates the SubLink structure, and the Query->hasSubLink field,
with supporting code. Creates SubLink node in gram.y. psql.c patch for newatttypmod field.
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
-rw-r--r--src/backend/nodes/copyfuncs.c28
1 files changed, 27 insertions, 1 deletions
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