aboutsummaryrefslogtreecommitdiff
path: root/src/include/catalog/pg_constraint.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/catalog/pg_constraint.h')
-rw-r--r--src/include/catalog/pg_constraint.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h
index 9d209c9d190..66b3f13f74a 100644
--- a/src/include/catalog/pg_constraint.h
+++ b/src/include/catalog/pg_constraint.h
@@ -39,6 +39,10 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
* global lock to generate a globally unique name for a nameless
* constraint. We associate a namespace with constraint names only for
* SQL-spec compatibility.
+ *
+ * However, we do require conname to be unique among the constraints of a
+ * single relation or domain. This is enforced by a unique index on
+ * conrelid + contypid + conname.
*/
NameData conname; /* name of this constraint */
Oid connamespace; /* OID of namespace containing constraint */
@@ -233,7 +237,8 @@ extern void RemoveConstraintById(Oid conId);
extern void RenameConstraintById(Oid conId, const char *newname);
extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId,
- Oid objNamespace, const char *conname);
+ const char *conname);
+extern bool ConstraintNameExists(const char *conname, Oid namespaceid);
extern char *ChooseConstraintName(const char *name1, const char *name2,
const char *label, Oid namespaceid,
List *others);