useless argument of ATAddForeignKeyConstraint

Started by Amit Langotealmost 7 years ago2 messages
#1Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
1 attachment(s)

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,
#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Amit Langote (#1)
Re: useless argument of ATAddForeignKeyConstraint

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)