diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c index bcb9354364a..cf66a28cf2c 100644 --- a/src/backend/utils/adt/jsonfuncs.c +++ b/src/backend/utils/adt/jsonfuncs.c @@ -958,6 +958,8 @@ each_worker(PG_FUNCTION_ARGS, bool as_text) pg_parse_json(lex, sem); + MemoryContextDelete(state->tmp_cxt); + rsi->setResult = state->tuple_store; rsi->setDesc = state->ret_tdesc; @@ -1125,6 +1127,8 @@ json_array_elements(PG_FUNCTION_ARGS) pg_parse_json(lex, sem); + MemoryContextDelete(state->tmp_cxt); + rsi->setResult = state->tuple_store; rsi->setDesc = state->ret_tdesc;