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

Commita0a0bc0

Browse files
committed
Fix ExecBRDeleteTriggers so that deletion is not suppressed when delete
triggers exist but are all disabled. Problem noted by Gavin Sherry inoriginal discussion of enable/disable trigger patch, but was neveraddressed.
1 parent130b2dd commita0a0bc0

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

‎src/backend/commands/trigger.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
99
* IDENTIFICATION
10-
* $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.193 2005/08/23 22:40:08 tgl Exp $
10+
* $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.194 2005/08/24 17:38:35 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1492,9 +1492,10 @@ ExecBRDeleteTriggers(EState *estate, ResultRelInfo *relinfo,
14921492
TriggerDesc*trigdesc=relinfo->ri_TrigDesc;
14931493
intntrigs=trigdesc->n_before_row[TRIGGER_EVENT_DELETE];
14941494
int*tgindx=trigdesc->tg_before_row[TRIGGER_EVENT_DELETE];
1495+
boolresult= true;
14951496
TriggerDataLocTriggerData;
14961497
HeapTupletrigtuple;
1497-
HeapTuplenewtuple=NULL;
1498+
HeapTuplenewtuple;
14981499
TupleTableSlot*newSlot;
14991500
inti;
15001501

@@ -1524,13 +1525,16 @@ ExecBRDeleteTriggers(EState *estate, ResultRelInfo *relinfo,
15241525
relinfo->ri_TrigInstrument,
15251526
GetPerTupleMemoryContext(estate));
15261527
if (newtuple==NULL)
1528+
{
1529+
result= false;/* tell caller to suppress delete */
15271530
break;
1531+
}
15281532
if (newtuple!=trigtuple)
15291533
heap_freetuple(newtuple);
15301534
}
15311535
heap_freetuple(trigtuple);
15321536

1533-
return(newtuple==NULL) ? false : true;
1537+
returnresult;
15341538
}
15351539

15361540
void

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp