useless argument of ATAddForeignKeyConstraint
Hi,
While reviewing the foreign keys referencing partitioned tables patch, I
noticed that the parentConstr argument of ATAddForeignConstraint is
rendered useless by the following commit:
commit 0325d7a5957ba39a0dce90835ab54a08ab8bf762
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri Jan 18 14:49:40 2019 -0300
Fix creation of duplicate foreign keys on partitions
Above commit added another function specialized for recursively adding a
given foreign key constraint to partitions, so ATAddForeignConstraint is
no longer called recursively.
Maybe remove that argument in HEAD ? Attached a patch.
Thanks,
Amit
Attachments:
remove-useless-arg-ATAddForeignKeyConstraint.patchtext/plain; charset=UTF-8; name=remove-useless-arg-ATAddForeignKeyConstraint.patchDownload
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 715c6a221c..f225c494bd 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -404,7 +404,7 @@ static ObjectAddress ATAddCheckConstraint(List **wqueue,
bool recurse, bool recursing, bool is_readd,
LOCKMODE lockmode);
static ObjectAddress ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab,
- Relation rel, Constraint *fkconstraint, Oid parentConstr,
+ Relation rel, Constraint *fkconstraint,
bool recurse, bool recursing,
LOCKMODE lockmode);
static void CloneForeignKeyConstraints(Oid parentId, Oid relationId,
@@ -7077,7 +7077,7 @@ ATExecAddConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
NIL);
address = ATAddForeignKeyConstraint(wqueue, tab, rel,
- newConstraint, InvalidOid,
+ newConstraint,
recurse, false,
lockmode);
break;
@@ -7236,7 +7236,7 @@ ATAddCheckConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
*/
static ObjectAddress
ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
- Constraint *fkconstraint, Oid parentConstr,
+ Constraint *fkconstraint,
bool recurse, bool recursing, LOCKMODE lockmode)
{
Relation pkrel;
@@ -7607,7 +7607,7 @@ ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
fkconstraint->deferrable,
fkconstraint->initdeferred,
fkconstraint->initially_valid,
- parentConstr,
+ InvalidOid,
RelationGetRelid(rel),
fkattnum,
numfks,
On 2019-Feb-14, Amit Langote wrote:
While reviewing the foreign keys referencing partitioned tables patch, I
noticed that the parentConstr argument of ATAddForeignConstraint is
rendered useless by the following commit:
Maybe remove that argument in HEAD ? Attached a patch.
Indeed -- two years later this is still valid, so applied, with thanks!
--
�lvaro Herrera 39�49'30"S 73�17'W
"Investigaci�n es lo que hago cuando no s� lo que estoy haciendo"
(Wernher von Braun)