From 5a96a0a8cf8cea3c5737fec9d37a75f012302f60 Mon Sep 17 00:00:00 2001
From: Joe Conway <mail@joeconway.com>
Date: Wed, 9 May 2012 22:51:17 -0700
Subject: [PATCH] PL/pgSQL RETURN NEXT was leaking converted tuples, causing
 out of memory when looping through large numbers of rows. Flag the converted
 tuples to be freed. Complaint and patch by Joe.

---
 src/pl/plpgsql/src/pl_exec.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 2f8468336f..0e77284d48 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -2243,6 +2243,7 @@ exec_stmt_return_next(PLpgSQL_execstate *estate,
 					{
 						tuple = do_convert_tuple(tuple, tupmap);
 						free_conversion_map(tupmap);
+						free_tuple = true;
 					}
 				}
 				break;
-- 
2.40.0