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

Commit8f152b6

Browse files
committed
Code simplification
Initialize TriggerData to 0 for the whole struct together, instead ofeach field separately.Reviewed-by: Daniel Gustafsson <daniel@yesql.se>Discussion:https://www.postgresql.org/message-id/flat/11c5f156-67a9-0fb5-8200-2a8018eb2e0c@2ndquadrant.com
1 parentef34ab4 commit8f152b6

File tree

2 files changed

+12
-70
lines changed

2 files changed

+12
-70
lines changed

‎src/backend/commands/tablecmds.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10264,7 +10264,7 @@ validateForeignKeyConstraint(char *conname,
1026410264
while (table_scan_getnextslot(scan, ForwardScanDirection, slot))
1026510265
{
1026610266
LOCAL_FCINFO(fcinfo, 0);
10267-
TriggerData trigdata;
10267+
TriggerData trigdata = {0};
1026810268

1026910269
CHECK_FOR_INTERRUPTS();
1027010270

@@ -10283,8 +10283,6 @@ validateForeignKeyConstraint(char *conname,
1028310283
trigdata.tg_relation = rel;
1028410284
trigdata.tg_trigtuple = ExecFetchSlotHeapTuple(slot, false, NULL);
1028510285
trigdata.tg_trigslot = slot;
10286-
trigdata.tg_newtuple = NULL;
10287-
trigdata.tg_newslot = NULL;
1028810286
trigdata.tg_trigger = &trig;
1028910287

1029010288
fcinfo->context = (Node *) &trigdata;

‎src/backend/commands/trigger.c

Lines changed: 11 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -2140,7 +2140,7 @@ ExecBSInsertTriggers(EState *estate, ResultRelInfo *relinfo)
21402140
{
21412141
TriggerDesc*trigdesc;
21422142
inti;
2143-
TriggerDataLocTriggerData;
2143+
TriggerDataLocTriggerData= {0};
21442144

21452145
trigdesc=relinfo->ri_TrigDesc;
21462146

@@ -2158,12 +2158,6 @@ ExecBSInsertTriggers(EState *estate, ResultRelInfo *relinfo)
21582158
LocTriggerData.tg_event=TRIGGER_EVENT_INSERT |
21592159
TRIGGER_EVENT_BEFORE;
21602160
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2161-
LocTriggerData.tg_trigtuple=NULL;
2162-
LocTriggerData.tg_newtuple=NULL;
2163-
LocTriggerData.tg_trigslot=NULL;
2164-
LocTriggerData.tg_newslot=NULL;
2165-
LocTriggerData.tg_oldtable=NULL;
2166-
LocTriggerData.tg_newtable=NULL;
21672161
for (i=0;i<trigdesc->numtriggers;i++)
21682162
{
21692163
Trigger*trigger=&trigdesc->triggers[i];
@@ -2210,20 +2204,14 @@ ExecBRInsertTriggers(EState *estate, ResultRelInfo *relinfo,
22102204
TriggerDesc*trigdesc=relinfo->ri_TrigDesc;
22112205
HeapTuplenewtuple=NULL;
22122206
boolshould_free;
2213-
TriggerDataLocTriggerData;
2207+
TriggerDataLocTriggerData= {0};
22142208
inti;
22152209

22162210
LocTriggerData.type=T_TriggerData;
22172211
LocTriggerData.tg_event=TRIGGER_EVENT_INSERT |
22182212
TRIGGER_EVENT_ROW |
22192213
TRIGGER_EVENT_BEFORE;
22202214
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2221-
LocTriggerData.tg_trigtuple=NULL;
2222-
LocTriggerData.tg_newtuple=NULL;
2223-
LocTriggerData.tg_trigslot=NULL;
2224-
LocTriggerData.tg_newslot=NULL;
2225-
LocTriggerData.tg_oldtable=NULL;
2226-
LocTriggerData.tg_newtable=NULL;
22272215
for (i=0;i<trigdesc->numtriggers;i++)
22282216
{
22292217
Trigger*trigger=&trigdesc->triggers[i];
@@ -2292,20 +2280,14 @@ ExecIRInsertTriggers(EState *estate, ResultRelInfo *relinfo,
22922280
TriggerDesc*trigdesc=relinfo->ri_TrigDesc;
22932281
HeapTuplenewtuple=NULL;
22942282
boolshould_free;
2295-
TriggerDataLocTriggerData;
2283+
TriggerDataLocTriggerData= {0};
22962284
inti;
22972285

22982286
LocTriggerData.type=T_TriggerData;
22992287
LocTriggerData.tg_event=TRIGGER_EVENT_INSERT |
23002288
TRIGGER_EVENT_ROW |
23012289
TRIGGER_EVENT_INSTEAD;
23022290
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2303-
LocTriggerData.tg_trigtuple=NULL;
2304-
LocTriggerData.tg_newtuple=NULL;
2305-
LocTriggerData.tg_trigslot=NULL;
2306-
LocTriggerData.tg_newslot=NULL;
2307-
LocTriggerData.tg_oldtable=NULL;
2308-
LocTriggerData.tg_newtable=NULL;
23092291
for (i=0;i<trigdesc->numtriggers;i++)
23102292
{
23112293
Trigger*trigger=&trigdesc->triggers[i];
@@ -2357,7 +2339,7 @@ ExecBSDeleteTriggers(EState *estate, ResultRelInfo *relinfo)
23572339
{
23582340
TriggerDesc*trigdesc;
23592341
inti;
2360-
TriggerDataLocTriggerData;
2342+
TriggerDataLocTriggerData= {0};
23612343

23622344
trigdesc=relinfo->ri_TrigDesc;
23632345

@@ -2375,12 +2357,6 @@ ExecBSDeleteTriggers(EState *estate, ResultRelInfo *relinfo)
23752357
LocTriggerData.tg_event=TRIGGER_EVENT_DELETE |
23762358
TRIGGER_EVENT_BEFORE;
23772359
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2378-
LocTriggerData.tg_trigtuple=NULL;
2379-
LocTriggerData.tg_newtuple=NULL;
2380-
LocTriggerData.tg_trigslot=NULL;
2381-
LocTriggerData.tg_newslot=NULL;
2382-
LocTriggerData.tg_oldtable=NULL;
2383-
LocTriggerData.tg_newtable=NULL;
23842360
for (i=0;i<trigdesc->numtriggers;i++)
23852361
{
23862362
Trigger*trigger=&trigdesc->triggers[i];
@@ -2437,7 +2413,7 @@ ExecBRDeleteTriggers(EState *estate, EPQState *epqstate,
24372413
TupleTableSlot*slot=ExecGetTriggerOldSlot(estate,relinfo);
24382414
TriggerDesc*trigdesc=relinfo->ri_TrigDesc;
24392415
boolresult= true;
2440-
TriggerDataLocTriggerData;
2416+
TriggerDataLocTriggerData= {0};
24412417
HeapTupletrigtuple;
24422418
boolshould_free= false;
24432419
inti;
@@ -2476,12 +2452,6 @@ ExecBRDeleteTriggers(EState *estate, EPQState *epqstate,
24762452
TRIGGER_EVENT_ROW |
24772453
TRIGGER_EVENT_BEFORE;
24782454
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2479-
LocTriggerData.tg_trigtuple=NULL;
2480-
LocTriggerData.tg_newtuple=NULL;
2481-
LocTriggerData.tg_trigslot=NULL;
2482-
LocTriggerData.tg_newslot=NULL;
2483-
LocTriggerData.tg_oldtable=NULL;
2484-
LocTriggerData.tg_newtable=NULL;
24852455
for (i=0;i<trigdesc->numtriggers;i++)
24862456
{
24872457
HeapTuplenewtuple;
@@ -2554,20 +2524,14 @@ ExecIRDeleteTriggers(EState *estate, ResultRelInfo *relinfo,
25542524
{
25552525
TriggerDesc*trigdesc=relinfo->ri_TrigDesc;
25562526
TupleTableSlot*slot=ExecGetTriggerOldSlot(estate,relinfo);
2557-
TriggerDataLocTriggerData;
2527+
TriggerDataLocTriggerData= {0};
25582528
inti;
25592529

25602530
LocTriggerData.type=T_TriggerData;
25612531
LocTriggerData.tg_event=TRIGGER_EVENT_DELETE |
25622532
TRIGGER_EVENT_ROW |
25632533
TRIGGER_EVENT_INSTEAD;
25642534
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2565-
LocTriggerData.tg_trigtuple=NULL;
2566-
LocTriggerData.tg_newtuple=NULL;
2567-
LocTriggerData.tg_trigslot=NULL;
2568-
LocTriggerData.tg_newslot=NULL;
2569-
LocTriggerData.tg_oldtable=NULL;
2570-
LocTriggerData.tg_newtable=NULL;
25712535

25722536
ExecForceStoreHeapTuple(trigtuple,slot, false);
25732537

@@ -2606,7 +2570,7 @@ ExecBSUpdateTriggers(EState *estate, ResultRelInfo *relinfo)
26062570
{
26072571
TriggerDesc*trigdesc;
26082572
inti;
2609-
TriggerDataLocTriggerData;
2573+
TriggerDataLocTriggerData= {0};
26102574
Bitmapset*updatedCols;
26112575

26122576
trigdesc=relinfo->ri_TrigDesc;
@@ -2627,12 +2591,6 @@ ExecBSUpdateTriggers(EState *estate, ResultRelInfo *relinfo)
26272591
LocTriggerData.tg_event=TRIGGER_EVENT_UPDATE |
26282592
TRIGGER_EVENT_BEFORE;
26292593
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2630-
LocTriggerData.tg_trigtuple=NULL;
2631-
LocTriggerData.tg_newtuple=NULL;
2632-
LocTriggerData.tg_trigslot=NULL;
2633-
LocTriggerData.tg_newslot=NULL;
2634-
LocTriggerData.tg_oldtable=NULL;
2635-
LocTriggerData.tg_newtable=NULL;
26362594
for (i=0;i<trigdesc->numtriggers;i++)
26372595
{
26382596
Trigger*trigger=&trigdesc->triggers[i];
@@ -2687,7 +2645,7 @@ ExecBRUpdateTriggers(EState *estate, EPQState *epqstate,
26872645
HeapTupletrigtuple;
26882646
boolshould_free_trig= false;
26892647
boolshould_free_new= false;
2690-
TriggerDataLocTriggerData;
2648+
TriggerDataLocTriggerData= {0};
26912649
inti;
26922650
Bitmapset*updatedCols;
26932651
LockTupleModelockmode;
@@ -2740,8 +2698,6 @@ ExecBRUpdateTriggers(EState *estate, EPQState *epqstate,
27402698
TRIGGER_EVENT_ROW |
27412699
TRIGGER_EVENT_BEFORE;
27422700
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2743-
LocTriggerData.tg_oldtable=NULL;
2744-
LocTriggerData.tg_newtable=NULL;
27452701
updatedCols=GetAllUpdatedColumns(relinfo,estate);
27462702
for (i=0;i<trigdesc->numtriggers;i++)
27472703
{
@@ -2855,16 +2811,14 @@ ExecIRUpdateTriggers(EState *estate, ResultRelInfo *relinfo,
28552811
TupleTableSlot*oldslot=ExecGetTriggerOldSlot(estate,relinfo);
28562812
HeapTuplenewtuple=NULL;
28572813
boolshould_free;
2858-
TriggerDataLocTriggerData;
2814+
TriggerDataLocTriggerData= {0};
28592815
inti;
28602816

28612817
LocTriggerData.type=T_TriggerData;
28622818
LocTriggerData.tg_event=TRIGGER_EVENT_UPDATE |
28632819
TRIGGER_EVENT_ROW |
28642820
TRIGGER_EVENT_INSTEAD;
28652821
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2866-
LocTriggerData.tg_oldtable=NULL;
2867-
LocTriggerData.tg_newtable=NULL;
28682822

28692823
ExecForceStoreHeapTuple(trigtuple,oldslot, false);
28702824

@@ -2920,7 +2874,7 @@ ExecBSTruncateTriggers(EState *estate, ResultRelInfo *relinfo)
29202874
{
29212875
TriggerDesc*trigdesc;
29222876
inti;
2923-
TriggerDataLocTriggerData;
2877+
TriggerDataLocTriggerData= {0};
29242878

29252879
trigdesc=relinfo->ri_TrigDesc;
29262880

@@ -2933,12 +2887,6 @@ ExecBSTruncateTriggers(EState *estate, ResultRelInfo *relinfo)
29332887
LocTriggerData.tg_event=TRIGGER_EVENT_TRUNCATE |
29342888
TRIGGER_EVENT_BEFORE;
29352889
LocTriggerData.tg_relation=relinfo->ri_RelationDesc;
2936-
LocTriggerData.tg_trigtuple=NULL;
2937-
LocTriggerData.tg_newtuple=NULL;
2938-
LocTriggerData.tg_trigslot=NULL;
2939-
LocTriggerData.tg_newslot=NULL;
2940-
LocTriggerData.tg_oldtable=NULL;
2941-
LocTriggerData.tg_newtable=NULL;
29422890

29432891
for (i=0;i<trigdesc->numtriggers;i++)
29442892
{
@@ -3864,7 +3812,7 @@ AfterTriggerExecute(EState *estate,
38643812
Relationrel=relInfo->ri_RelationDesc;
38653813
AfterTriggerSharedevtshared=GetTriggerSharedData(event);
38663814
Oidtgoid=evtshared->ats_tgoid;
3867-
TriggerDataLocTriggerData;
3815+
TriggerDataLocTriggerData= {0};
38683816
HeapTuplerettuple;
38693817
inttgindx;
38703818
boolshould_free_trig= false;
@@ -3873,10 +3821,6 @@ AfterTriggerExecute(EState *estate,
38733821
/*
38743822
* Locate trigger in trigdesc.
38753823
*/
3876-
LocTriggerData.tg_trigger=NULL;
3877-
LocTriggerData.tg_trigslot=NULL;
3878-
LocTriggerData.tg_newslot=NULL;
3879-
38803824
for (tgindx=0;tgindx<trigdesc->numtriggers;tgindx++)
38813825
{
38823826
if (trigdesc->triggers[tgindx].tgoid==tgoid)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp