aboutsummaryrefslogtreecommitdiff
path: root/src/backend/catalog/pg_constraint.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
committerBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
commit853153ca6dfdf2bdf6ce800216de75b2fefbb4f1 (patch)
treea9911b35cf84db7bc101dc97a5e788bc3484f69c /src/backend/catalog/pg_constraint.c
parent36580c8e2112e808f5847c4021fabe458096b134 (diff)
downloadpostgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.tar.gz
postgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.zip
ALTER DOMAIN .. SET / DROP NOT NULL
ALTER DOMAIN .. SET / DROP DEFAULT ALTER DOMAIN .. ADD / DROP CONSTRAINT New files: - doc/src/sgml/ref/alter_domain.sgml Rod Taylor
Diffstat (limited to 'src/backend/catalog/pg_constraint.c')
-rw-r--r--src/backend/catalog/pg_constraint.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c
index 7cd105928c3..d4e06a17e00 100644
--- a/src/backend/catalog/pg_constraint.c
+++ b/src/backend/catalog/pg_constraint.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_constraint.c,v 1.8 2002/11/15 02:50:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_constraint.c,v 1.9 2002/12/06 03:28:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -199,6 +199,7 @@ CreateConstraintEntry(const char *constraintName,
domobject.classId = RelOid_pg_type;
domobject.objectId = domainId;
+ domobject.objectSubId = 0;
recordDependencyOn(&conobject, &domobject, DEPENDENCY_AUTO);
}
@@ -496,15 +497,16 @@ RemoveConstraintById(Oid conId)
HeapTuple typTup;
ScanKeyData typKey[1];
SysScanDesc typScan;
+ int nkeys = 0;
typRel = heap_openr(TypeRelationName, RowExclusiveLock);
- ScanKeyEntryInitialize(&typKey[0], 0x0,
- Anum_pg_constraint_contypid, F_OIDEQ,
+ ScanKeyEntryInitialize(&typKey[nkeys++], 0x0,
+ ObjectIdAttributeNumber, F_OIDEQ,
ObjectIdGetDatum(con->contypid));
typScan = systable_beginscan(typRel, TypeOidIndex, true,
- SnapshotNow, 1, typKey);
+ SnapshotNow, nkeys, typKey);
typTup = systable_getnext(typScan);
@@ -517,6 +519,11 @@ RemoveConstraintById(Oid conId)
/* Keep lock on domain type until end of xact */
heap_close(typRel, NoLock);
}
+ else
+ {
+ elog(ERROR, "RemoveConstraintById: Constraint %u is not a known type",
+ conId);
+ }
/* Fry the constraint itself */
simple_heap_delete(conDesc, &tup->t_self);