From e152661200c1b3e6a834c918ba64681dde404440 Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" <scrappy@hub.org> Date: Thu, 24 Oct 1996 06:32:01 +0000 Subject: [PATCH] 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 --- src/backend/executor/nodeAgg.c | 4 ++-- 1 file 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); -- GitLab