diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/commands/tablecmds.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 2e51503da7f..29ca7c9369c 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -580,7 +580,7 @@ static void createForeignKeyCheckTriggers(Oid myRelOid, Oid refRelOid, Oid indexOid, Oid parentInsTrigger, Oid parentUpdTrigger, Oid *insertTrigOid, Oid *updateTrigOid); -static void createForeignKeyActionTriggers(Relation rel, Oid refRelOid, +static void createForeignKeyActionTriggers(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, Oid constraintOid, Oid indexOid, Oid parentDelTrigger, Oid parentUpdTrigger, @@ -10688,7 +10688,8 @@ addFkRecurseReferenced(Constraint *fkconstraint, Relation rel, /* * Create the action triggers that enforce the constraint. */ - createForeignKeyActionTriggers(rel, RelationGetRelid(pkrel), + createForeignKeyActionTriggers(RelationGetRelid(rel), + RelationGetRelid(pkrel), fkconstraint, parentConstr, indexOid, parentDelTrigger, parentUpdTrigger, @@ -13216,7 +13217,7 @@ CreateFKCheckTrigger(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, * *updateTrigOid. */ static void -createForeignKeyActionTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint, +createForeignKeyActionTriggers(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, Oid constraintOid, Oid indexOid, Oid parentDelTrigger, Oid parentUpdTrigger, Oid *deleteTrigOid, Oid *updateTrigOid) @@ -13275,8 +13276,7 @@ createForeignKeyActionTriggers(Relation rel, Oid refRelOid, Constraint *fkconstr break; } - trigAddress = CreateTrigger(fk_trigger, NULL, refRelOid, - RelationGetRelid(rel), + trigAddress = CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, indexOid, InvalidOid, parentDelTrigger, NULL, true, false); if (deleteTrigOid) @@ -13336,8 +13336,7 @@ createForeignKeyActionTriggers(Relation rel, Oid refRelOid, Constraint *fkconstr break; } - trigAddress = CreateTrigger(fk_trigger, NULL, refRelOid, - RelationGetRelid(rel), + trigAddress = CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, indexOid, InvalidOid, parentUpdTrigger, NULL, true, false); if (updateTrigOid) |