|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.12 1997/09/13 11:45:50 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.13 1997/09/19 06:52:49 vadim Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -481,6 +481,28 @@ _copySort(Sort *from)
|
481 | 481 | returnnewnode;
|
482 | 482 | }
|
483 | 483 |
|
| 484 | + |
| 485 | +/* ---------------- |
| 486 | + *_copyGroup |
| 487 | + * ---------------- |
| 488 | + */ |
| 489 | +staticGroup* |
| 490 | +_copyGroup(Group*from) |
| 491 | +{ |
| 492 | +Group*newnode=makeNode(Group); |
| 493 | + |
| 494 | +CopyPlanFields((Plan*)from, (Plan*)newnode); |
| 495 | +CopyTempFields((Temp*)from, (Temp*)newnode); |
| 496 | + |
| 497 | +newnode->tuplePerGroup=from->tuplePerGroup; |
| 498 | +newnode->numCols=from->numCols; |
| 499 | +newnode->grpColIdx=palloc (from->numCols*sizeof (AttrNumber)); |
| 500 | +memcpy (newnode->grpColIdx,from->grpColIdx,from->numCols*sizeof (AttrNumber)); |
| 501 | +Node_Copy(from,newnode,grpstate); |
| 502 | + |
| 503 | +returnnewnode; |
| 504 | +} |
| 505 | + |
484 | 506 | /* ---------------
|
485 | 507 | *_copyAgg
|
486 | 508 | * --------------
|
@@ -1646,6 +1668,9 @@ copyObject(void *from)
|
1646 | 1668 | caseT_Sort:
|
1647 | 1669 | retval=_copySort(from);
|
1648 | 1670 | break;
|
| 1671 | +caseT_Group: |
| 1672 | +retval=_copyGroup(from); |
| 1673 | +break; |
1649 | 1674 | caseT_Agg:
|
1650 | 1675 | retval=_copyAgg(from);
|
1651 | 1676 | break;
|
|