]> granicus.if.org Git - postgresql/commitdiff
+ _copyGroup(Group *from)
authorVadim B. Mikheev <vadim4o@yahoo.com>
Fri, 19 Sep 1997 06:52:49 +0000 (06:52 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
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;