summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc G. Fournier1996-10-24 06:32:01 +0000
committerMarc G. Fournier1996-10-24 06:32:01 +0000
commite152661200c1b3e6a834c918ba64681dde404440 (patch)
treed06fd4c9d511760fff277c683717b915d5da12ee
parentc471d2bdebcad002a7f867b73811b803396b793e (diff)
Fixes:
It's bug in nodeAgg.c on lines 241, 242: null_array = malloc(nagg); for (i=0;i<nagg;i++) null_array[i] = 'n'; oneTuple = heap_formtuple(tupType, tupValue, null_array); - your query has not only aggregates but also 'group by-ed' fields and so null_array should contain tupType->natts elements (tupType->natts > nagg in your case). Patch follows and it's very simple. VAdim
-rw-r--r--src/backend/executor/nodeAgg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index ee187367c74..94764bfa3ac 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -238,8 +238,8 @@ ExecAgg(Agg *node)
tupValue = projInfo->pi_tupValue;
/* initially, set all the values to NULL */
- null_array = malloc(nagg);
- for (i=0;i<nagg;i++)
+ null_array = malloc(tupType->natts);
+ for (i=0;i<tupType->natts;i++)
null_array[i] = 'n';
oneTuple = heap_formtuple(tupType, tupValue, null_array);
free(null_array);