aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Conway <mail@joeconway.com>2012-05-09 22:53:17 -0700
committerJoe Conway <mail@joeconway.com>2012-05-09 22:53:17 -0700
commit05a86891232e1bd5e43d559f30bec2fc00131f37 (patch)
tree3f6f44a1568865ea789148cd82d9a3bec6da1c22
parente7c43ddc266172f409f5d5bb3e571cafe7d14fa2 (diff)
downloadpostgresql-05a86891232e1bd5e43d559f30bec2fc00131f37.tar.gz
postgresql-05a86891232e1bd5e43d559f30bec2fc00131f37.zip
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.
-rw-r--r--src/pl/plpgsql/src/pl_exec.c1
1 files changed, 1 insertions, 0 deletions
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;