Hi, This is real bug? firsttupleslot == NULL. \backend\executor\nodeGroup.c if (TupIsNull(firsttupleslot)) { outerslot = ExecProcNode(outerPlanState(node)); if (TupIsNull(outerslot)) { /* empty input, so return nothing */ node->grp_done = true; return NULL; } /* Copy tuple into firsttupleslot */ ExecCopySlot(firsttupleslot, outerslot);
include\executor\tuptable.h: #define TupIsNull(slot) \ ((slot) == NULL || TTS_EMPTY(slot)) static inline TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot) { Assert(!TTS_EMPTY(srcslot)); dstslot->tts_ops->copyslot(dstslot, srcslot); return dstslot; }