diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index 44587a84ba..e32b1ba784 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -777,6 +777,10 @@ advance_transition_function(AggState *aggstate, newVal = FunctionCallInvoke(fcinfo); + /* Ensure transfns returning INTERNAL properly set the isnull flag */ + Assert(pertrans->aggref->aggtranstype != INTERNALOID || + (DatumGetPointer(newVal) == NULL) == (fcinfo->isnull == true)); + aggstate->curpertrans = NULL; /*