postgres.git / summary / log / commit / refs
commit 5a96a0a8cf8cea3c5737fec9d37a75f012302f60
Author: Joe Conway <mail@joeconway.com>
Date: Thu May 10 05:51:17 2012 +0000
First released in: 9.2.0, 8.4.12, 9.0.8, 9.1.4
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 2f8468336f8..0e77284d480 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;
[parent: d02918fc3e67]