aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/nodes/copyfuncs.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index 30d3e57fafd..9af6dd491e7 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.20 1997/12/18 12:53:48 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.21 1997/12/18 19:13:49 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1542,11 +1542,16 @@ _copyQuery(Query *from)
Node_Copy(from, newnode, havingQual); /* currently ignored */
newnode->qry_numAgg = from->qry_numAgg;
- newnode->qry_aggs =
- (Aggreg **) palloc(sizeof(Aggreg *) * from->qry_numAgg);
- for (i=0; i < from->qry_numAgg; i++)
- newnode->qry_aggs[i] = _copyAggreg(from->qry_aggs[i]);
-
+ if (from->qry_numAgg != NULL)
+ {
+ newnode->qry_aggs =
+ (Aggreg **) palloc(sizeof(Aggreg *) * from->qry_numAgg);
+ for (i=0; i < from->qry_numAgg; i++)
+ newnode->qry_aggs[i] = _copyAggreg(from->qry_aggs[i]);
+ }
+ else
+ newnode->query_aggs = NULL;
+
return newnode;
}