postgres.git / summary / log / commit / refs
commit 05a86891232e1bd5e43d559f30bec2fc00131f37
Author: Joe Conway <mail@joeconway.com>
Date: Thu May 10 05:53: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 7f911b87710..bb9574b1cc7 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -2431,6 +2431,7 @@ exec_stmt_return_next(PLpgSQL_execstate *estate,
{
tuple = do_convert_tuple(tuple, tupmap);
free_conversion_map(tupmap);
+ free_tuple = true;
}
}
break;
[parent: e7c43ddc2661]