Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit034fffb

Browse files
committed
Fix memory leak created by deferrable-index-constraints patches.
We need to free the OID list returned by ExecInsertIndexTuples to avoida query-lifespan memory leak. When many rows require rechecking, thiscan be a significant leak --- it's even more than the space used for thequeued trigger events.Dean Rasheed
1 parentf13944e commit034fffb

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

‎src/backend/commands/copy.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.321 2010/01/15 09:19:01 heikki Exp $
11+
* $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.322 2010/01/31 18:15:39 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -2172,6 +2172,8 @@ CopyFrom(CopyState cstate)
21722172
ExecARInsertTriggers(estate,resultRelInfo,tuple,
21732173
recheckIndexes);
21742174

2175+
list_free(recheckIndexes);
2176+
21752177
/*
21762178
* We count only tuples not suppressed by a BEFORE INSERT trigger;
21772179
* this is the same definition used by execMain.c for counting

‎src/backend/executor/nodeModifyTable.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/executor/nodeModifyTable.c,v 1.4 2010/01/02 16:57:44 momjian Exp $
11+
* $PostgreSQL: pgsql/src/backend/executor/nodeModifyTable.c,v 1.5 2010/01/31 18:15:39 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -254,6 +254,8 @@ ExecInsert(TupleTableSlot *slot,
254254
/* AFTER ROW INSERT Triggers */
255255
ExecARInsertTriggers(estate,resultRelInfo,tuple,recheckIndexes);
256256

257+
list_free(recheckIndexes);
258+
257259
/* Process RETURNING if present */
258260
if (resultRelInfo->ri_projectReturning)
259261
returnExecProcessReturning(resultRelInfo->ri_projectReturning,
@@ -570,6 +572,8 @@ lreplace:;
570572
ExecARUpdateTriggers(estate,resultRelInfo,tupleid,tuple,
571573
recheckIndexes);
572574

575+
list_free(recheckIndexes);
576+
573577
/* Process RETURNING if present */
574578
if (resultRelInfo->ri_projectReturning)
575579
returnExecProcessReturning(resultRelInfo->ri_projectReturning,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp