From d3ee45152b198ac269b1bc055927ef7aabf85a49 Mon Sep 17 00:00:00 2001
From: Andrew Dunstan <andrew@dunslane.net>
Date: Mon, 3 Feb 2014 10:40:12 -0500
Subject: [PATCH] In json code, clean up temp memory contexts after processing.

Craig Ringer.
---
 src/backend/utils/adt/jsonfuncs.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c
index a19b2222a2d..7c075547259 100644
--- a/src/backend/utils/adt/jsonfuncs.c
+++ b/src/backend/utils/adt/jsonfuncs.c
@@ -972,6 +972,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;
 
@@ -1154,6 +1156,8 @@ elements_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;
 
-- 
GitLab