diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/executor/execExprInterp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c index 827c65cc852..19351fe34bf 100644 --- a/src/backend/executor/execExprInterp.c +++ b/src/backend/executor/execExprInterp.c @@ -4254,7 +4254,8 @@ ExecEvalPreOrderedDistinctSingle(AggState *aggstate, AggStatePerTrans pertrans) pertrans->aggCollation, pertrans->lastdatum, value)))) { - if (pertrans->haslast && !pertrans->inputtypeByVal) + if (pertrans->haslast && !pertrans->inputtypeByVal && + !pertrans->lastisnull) pfree(DatumGetPointer(pertrans->lastdatum)); pertrans->haslast = true; |