aboutsummaryrefslogtreecommitdiff
path: root/src/include/catalog/pg_constraint_fn.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/catalog/pg_constraint_fn.h')
-rw-r--r--src/include/catalog/pg_constraint_fn.h16
1 files changed, 16 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);