+ _copyGroup(Group *from)
authorVadim B. Mikheev
Fri, 19 Sep 1997 06:52:49 +0000 (06:52 +0000)
committerVadim B. Mikheev
Fri, 19 Sep 1997 06:52:49 +0000 (06:52 +0000)
src/backend/nodes/copyfuncs.c

index 2b3a474bfc0b08429b24682a359f142797da2c74..6b86c5fffc8ef49dbfecd4b1d65b242fd037c434 100644 (file)
@@ -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;