diff options
Diffstat (limited to 'src/pl')
-rw-r--r-- | src/pl/plpgsql/src/pl_exec.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 977adfe613a..083d8ac3df4 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.80 2003/03/02 20:45:47 tgl Exp $ + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.81 2003/03/09 02:19:13 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -348,14 +348,15 @@ plpgsql_exec_function(PLpgSQL_function * func, FunctionCallInfo fcinfo) /* If we produced any tuples, send back the result */ if (estate.tuple_store) { - MemoryContext oldcxt; - - oldcxt = MemoryContextSwitchTo(estate.tuple_store_cxt); - tuplestore_donestoring(estate.tuple_store); rsi->setResult = estate.tuple_store; if (estate.rettupdesc) + { + MemoryContext oldcxt; + + oldcxt = MemoryContextSwitchTo(estate.tuple_store_cxt); rsi->setDesc = CreateTupleDescCopy(estate.rettupdesc); - MemoryContextSwitchTo(oldcxt); + MemoryContextSwitchTo(oldcxt); + } } estate.retval = (Datum) 0; fcinfo->isnull = true; |