diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/catalog/pg_constraint_fn.h | 16 | ||||
-rw-r--r-- | src/include/commands/tablecmds.h | 4 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/include/catalog/pg_constraint_fn.h b/src/include/catalog/pg_constraint_fn.h index 06a2362003e..0170e08c450 100644 --- a/src/include/catalog/pg_constraint_fn.h +++ b/src/include/catalog/pg_constraint_fn.h @@ -27,6 +27,19 @@ typedef enum ConstraintCategory CONSTRAINT_ASSERTION /* for future expansion */ } ConstraintCategory; +/* + * Used when cloning a foreign key constraint to a partition, so that the + * caller can optionally set up a verification pass for it. + */ +typedef struct ClonedConstraint +{ + Oid relid; + Oid refrelid; + Oid conindid; + Oid conid; + Constraint *constraint; +} ClonedConstraint; + extern Oid CreateConstraintEntry(const char *constraintName, Oid constraintNamespace, char constraintType, @@ -57,6 +70,9 @@ extern Oid CreateConstraintEntry(const char *constraintName, bool conNoInherit, bool is_internal); +extern void CloneForeignKeyConstraints(Oid parentId, Oid relationId, + List **cloned); + extern void RemoveConstraintById(Oid conId); extern void RenameConstraintById(Oid conId, const char *newname); diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h index 06e5180a305..04a961d3835 100644 --- a/src/include/commands/tablecmds.h +++ b/src/include/commands/tablecmds.h @@ -74,6 +74,10 @@ extern void find_composite_type_dependencies(Oid typeOid, extern void check_of_type(HeapTuple typetuple); +extern void createForeignKeyTriggers(Relation rel, Oid refRelOid, + Constraint *fkconstraint, Oid constraintOid, + Oid indexOid, bool create_action); + extern void register_on_commit_action(Oid relid, OnCommitAction action); extern void remove_on_commit_action(Oid relid); |