From 6c843984115a32806994718d4ae68638024b08f2 Mon Sep 17 00:00:00 2001
From: "Vadim B. Mikheev" <vadim4o@yahoo.com>
Date: Fri, 19 Sep 1997 06:52:49 +0000
Subject: [PATCH] + _copyGroup(Group *from)

---
 src/backend/nodes/copyfuncs.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index 2b3a474bfc..6b86c5fffc 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.12 1997/09/13 11:45:50 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.13 1997/09/19 06:52:49 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -481,6 +481,28 @@ _copySort(Sort *from)
 	return newnode;
 }
 
+
+/* ----------------
+ *		_copyGroup
+ * ----------------
+ */
+static Group *
+_copyGroup(Group *from)
+{
+	Group	   *newnode = makeNode(Group);
+	
+	CopyPlanFields((Plan *) from, (Plan *) newnode);
+	CopyTempFields((Temp *) from, (Temp *) newnode);
+	
+	newnode->tuplePerGroup = from->tuplePerGroup;
+	newnode->numCols = from->numCols;
+	newnode->grpColIdx = palloc (from->numCols * sizeof (AttrNumber));
+	memcpy (newnode->grpColIdx, from->grpColIdx, from->numCols * sizeof (AttrNumber));
+	Node_Copy(from, newnode, grpstate);
+
+	return newnode;
+}
+
 /* ---------------
  *	_copyAgg
  * --------------
@@ -1646,6 +1668,9 @@ copyObject(void *from)
 		case T_Sort:
 			retval = _copySort(from);
 			break;
+		case T_Group:
+			retval = _copyGroup(from);
+			break;
 		case T_Agg:
 			retval = _copyAgg(from);
 			break;
-- 
2.40.0