diff options
Diffstat (limited to 'src/backend/commands/tablecmds.c')
-rw-r--r-- | src/backend/commands/tablecmds.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index f0550ff7acd..b77faed0d3e 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.90 2003/10/13 20:02:52 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.91 2003/10/13 22:47:15 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -3397,7 +3397,6 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint, Relation pkrel) { HeapScanDesc scan; - TriggerData *trigdata = makeNode(TriggerData); /* must be Node aligned */ HeapTuple tuple; Trigger trig; List *list; @@ -3455,6 +3454,7 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint, while ((tuple = heap_getnext(scan, ForwardScanDirection)) != NULL) { FunctionCallInfoData fcinfo; + TriggerData trigdata; /* * Make a call to the trigger function @@ -3466,21 +3466,20 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint, /* * We assume RI_FKey_check_ins won't look at flinfo... */ - trigdata->type = T_TriggerData; - trigdata->tg_event = TRIGGER_EVENT_INSERT | TRIGGER_EVENT_ROW; - trigdata->tg_relation = rel; - trigdata->tg_trigtuple = tuple; - trigdata->tg_newtuple = NULL; - trigdata->tg_trigger = &trig; + trigdata.type = T_TriggerData; + trigdata.tg_event = TRIGGER_EVENT_INSERT | TRIGGER_EVENT_ROW; + trigdata.tg_relation = rel; + trigdata.tg_trigtuple = tuple; + trigdata.tg_newtuple = NULL; + trigdata.tg_trigger = &trig; - fcinfo.context = (Node *) trigdata; + fcinfo.context = (Node *) &trigdata; RI_FKey_check_ins(&fcinfo); } heap_endscan(scan); - pfree(trigdata); pfree(trig.tgargs); } |