Commit bb1e8bea authored by Peter Eisentraut's avatar Peter Eisentraut

In SRF example, move oldcontext variable definition into the FIRSTCALL

branch, which is how most actual code is actually structured.  Also fix
slight whitespace misalignment.
parent be64b3ed
<!-- $PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.141 2009/11/23 21:41:20 petere Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.142 2009/11/30 15:49:35 petere Exp $ -->
<sect1 id="xfunc"> <sect1 id="xfunc">
<title>User-Defined Functions</title> <title>User-Defined Functions</title>
...@@ -3034,11 +3034,12 @@ my_set_returning_function(PG_FUNCTION_ARGS) ...@@ -3034,11 +3034,12 @@ my_set_returning_function(PG_FUNCTION_ARGS)
{ {
FuncCallContext *funcctx; FuncCallContext *funcctx;
Datum result; Datum result;
MemoryContext oldcontext;
<replaceable>further declarations as needed</replaceable> <replaceable>further declarations as needed</replaceable>
if (SRF_IS_FIRSTCALL()) if (SRF_IS_FIRSTCALL())
{ {
MemoryContext oldcontext;
funcctx = SRF_FIRSTCALL_INIT(); funcctx = SRF_FIRSTCALL_INIT();
oldcontext = MemoryContextSwitchTo(funcctx-&gt;multi_call_memory_ctx); oldcontext = MemoryContextSwitchTo(funcctx-&gt;multi_call_memory_ctx);
/* One-time setup code appears here: */ /* One-time setup code appears here: */
...@@ -3088,9 +3089,9 @@ retcomposite(PG_FUNCTION_ARGS) ...@@ -3088,9 +3089,9 @@ retcomposite(PG_FUNCTION_ARGS)
TupleDesc tupdesc; TupleDesc tupdesc;
AttInMetadata *attinmeta; AttInMetadata *attinmeta;
/* stuff done only on the first call of the function */ /* stuff done only on the first call of the function */
if (SRF_IS_FIRSTCALL()) if (SRF_IS_FIRSTCALL())
{ {
MemoryContext oldcontext; MemoryContext oldcontext;
/* create a function context for cross-call persistence */ /* create a function context for cross-call persistence */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment