]> granicus.if.org Git - postgresql/commitdiff
Fix minor memory leak introduced in recent SQL-functions hacking: the
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Nov 2008 00:10:04 +0000 (00:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Nov 2008 00:10:04 +0000 (00:10 +0000)
DestReceiver created during postquel_start needs to be destroyed during
postquel_end.  In a moment of brain fade I had assumed this would be taken
care of by FreeQueryDesc, but it's not (and shouldn't be).

src/backend/executor/functions.c

index b34b90428ef8fcec066d7ca74630b0c77c7508e6..988f704ad7226238f3677c4f094f2ff98acd2b47 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/executor/functions.c,v 1.128 2008/10/31 21:07:55 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/executor/functions.c,v 1.129 2008/11/27 00:10:04 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -501,6 +501,8 @@ postquel_end(execution_state *es)
                PopActiveSnapshot();
        }
 
+       (*es->qd->dest->rDestroy) (es->qd->dest);
+
        FreeQueryDesc(es->qd);
        es->qd = NULL;
 }