diff options
Diffstat (limited to 'src/backend/executor/nodeAgg.c')
-rw-r--r-- | src/backend/executor/nodeAgg.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index c7e69d1a72f..0eed756319a 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -248,16 +248,12 @@ ExecAgg(Agg *node) */ for (;;) { - HeapTuple outerTuple = NULL; TupleTableSlot *outerslot; isNull = isNull1 = isNull2 = 0; outerslot = ExecProcNode(outerPlan, (Plan *) node); - if (outerslot) - outerTuple = outerslot->val; - if (!HeapTupleIsValid(outerTuple)) + if (TupIsNull(outerslot)) { - /* * when the outerplan doesn't return a single tuple, * create a dummy heaptuple anyway because we still need @@ -666,7 +662,7 @@ aggGetAttr(TupleTableSlot *slot, tempSlot->ttc_buffer = InvalidBuffer; tempSlot->ttc_whichplan = -1; - tup = heap_copytuple(slot->val); + tup = heap_copytuple(heapTuple); td = CreateTupleDescCopy(slot->ttc_tupleDescriptor); ExecSetSlotDescriptor(tempSlot, td); |