From 7eca575d1c28f6eee2bf4564f3d458d10c4a8f47 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Tue, 23 Dec 2014 09:06:44 -0300 Subject: get_object_address: separate domain constraints from table constraints Apart from enabling comments on domain constraints, this enables a future project to replicate object dropping to remote servers: with the current mechanism there's no way to distinguish between the two types of constraints, so there's no way to know what to drop. Also added support for the domain constraint comments in psql's \dd and pg_dump. Catalog version bumped due to the change in ObjectType enum. --- src/backend/commands/alter.c | 3 ++- src/backend/commands/event_trigger.c | 3 ++- src/backend/commands/tablecmds.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/backend/commands') diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index c9a9bafef74..e7f4ef3e8e6 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -305,7 +305,8 @@ ExecRenameStmt(RenameStmt *stmt) { switch (stmt->renameType) { - case OBJECT_CONSTRAINT: + case OBJECT_TABCONSTRAINT: + case OBJECT_DOMCONSTRAINT: return RenameConstraint(stmt); case OBJECT_DATABASE: diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c index 8b88ecb359e..6bdb7749878 100644 --- a/src/backend/commands/event_trigger.c +++ b/src/backend/commands/event_trigger.c @@ -1053,10 +1053,10 @@ EventTriggerSupportsObjectType(ObjectType obtype) case OBJECT_ATTRIBUTE: case OBJECT_CAST: case OBJECT_COLUMN: - case OBJECT_CONSTRAINT: case OBJECT_COLLATION: case OBJECT_CONVERSION: case OBJECT_DOMAIN: + case OBJECT_DOMCONSTRAINT: case OBJECT_EXTENSION: case OBJECT_FDW: case OBJECT_FOREIGN_SERVER: @@ -1073,6 +1073,7 @@ EventTriggerSupportsObjectType(ObjectType obtype) case OBJECT_RULE: case OBJECT_SCHEMA: case OBJECT_SEQUENCE: + case OBJECT_TABCONSTRAINT: case OBJECT_TABLE: case OBJECT_TRIGGER: case OBJECT_TSCONFIGURATION: diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 81c5ab27c96..3c0cdea265e 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -2457,7 +2457,7 @@ RenameConstraint(RenameStmt *stmt) Oid relid = InvalidOid; Oid typid = InvalidOid; - if (stmt->relationType == OBJECT_DOMAIN) + if (stmt->renameType == OBJECT_DOMCONSTRAINT) { Relation rel; HeapTuple tup; -- cgit v1.2.3