Remove inappropriate memory context switch in shutdown_MultiFuncCall().
authorTom Lane <[email protected]>
Sun, 30 Nov 2008 18:49:48 +0000 (18:49 +0000)
committerTom Lane <[email protected]>
Sun, 30 Nov 2008 18:49:48 +0000 (18:49 +0000)
This was a thinko introduced in a patch from last February; it results
in memory leakage if an SRF is shut down before the actual end of query,
because subsequent code will be running in a longer-lived context than
it's expecting to be.

src/backend/utils/fmgr/funcapi.c

index ac8ef5482ae3b62ea773f04187b12930410501a8..86b26816395a93425e111a5911ad65c202ab57ec 100644 (file)
@@ -7,7 +7,7 @@
  * Copyright (c) 2002-2006, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/fmgr/funcapi.c,v 1.31.2.1 2008/02/29 02:49:47 neilc Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/fmgr/funcapi.c,v 1.31.2.2 2008/11/30 18:49:48 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -182,7 +182,6 @@ shutdown_MultiFuncCall(Datum arg)
     * Delete context that holds all multi-call data, including the
     * FuncCallContext itself
     */
-   MemoryContextSwitchTo(flinfo->fn_mcxt);
    MemoryContextDelete(funcctx->multi_call_memory_ctx);
 }