memory_leak.patch

application/octet-stream

Filename: memory_leak.patch
Type: application/octet-stream
Part: 0
Message: Memory leak in deferrable index constraints

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
File+
src/backend/commands/copy.c 2 0
src/backend/executor/nodeModifyTable.c 4 0
*** ./src/backend/commands/copy.c.orig	2010-01-23 10:48:36.000000000 +0000
--- ./src/backend/commands/copy.c	2010-01-23 10:49:20.000000000 +0000
***************
*** 2171,2176 ****
--- 2171,2178 ----
  			/* AFTER ROW INSERT Triggers */
  			ExecARInsertTriggers(estate, resultRelInfo, tuple,
  								 recheckIndexes);
+ 			if (recheckIndexes != NIL)
+ 				list_free(recheckIndexes);
  
  			/*
  			 * We count only tuples not suppressed by a BEFORE INSERT trigger;
*** ./src/backend/executor/nodeModifyTable.c.orig	2010-01-23 10:45:33.000000000 +0000
--- ./src/backend/executor/nodeModifyTable.c	2010-01-23 10:47:15.000000000 +0000
***************
*** 253,258 ****
--- 253,260 ----
  
  	/* AFTER ROW INSERT Triggers */
  	ExecARInsertTriggers(estate, resultRelInfo, tuple, recheckIndexes);
+ 	if (recheckIndexes != NIL)
+ 		list_free(recheckIndexes);
  
  	/* Process RETURNING if present */
  	if (resultRelInfo->ri_projectReturning)
***************
*** 569,574 ****
--- 571,578 ----
  	/* AFTER ROW UPDATE Triggers */
  	ExecARUpdateTriggers(estate, resultRelInfo, tupleid, tuple,
  						 recheckIndexes);
+ 	if (recheckIndexes != NIL)
+ 		list_free(recheckIndexes);
  
  	/* Process RETURNING if present */
  	if (resultRelInfo->ri_projectReturning)