aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/typecmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/typecmds.c')
-rw-r--r--src/backend/commands/typecmds.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c
index 6f99f38f118..aca670095b9 100644
--- a/src/backend/commands/typecmds.c
+++ b/src/backend/commands/typecmds.c
@@ -1053,7 +1053,7 @@ DefineDomain(CreateDomainStmt *stmt)
* DefineEnum
* Registers a new enum.
*/
-void
+Oid
DefineEnum(CreateEnumStmt *stmt)
{
char *enumName;
@@ -1166,13 +1166,15 @@ DefineEnum(CreateEnumStmt *stmt)
InvalidOid); /* type's collation */
pfree(enumArrayName);
+
+ return enumTypeOid;
}
/*
* AlterEnum
* Adds a new label to an existing enum.
*/
-void
+Oid
AlterEnum(AlterEnumStmt *stmt, bool isTopLevel)
{
Oid enum_type_oid;
@@ -1215,6 +1217,8 @@ AlterEnum(AlterEnumStmt *stmt, bool isTopLevel)
stmt->skipIfExists);
ReleaseSysCache(tup);
+
+ return enum_type_oid;
}
@@ -1246,7 +1250,7 @@ checkEnumOwner(HeapTuple tup)
* DefineRange
* Registers a new range type.
*/
-void
+Oid
DefineRange(CreateRangeStmt *stmt)
{
char *typeName;
@@ -1498,6 +1502,8 @@ DefineRange(CreateRangeStmt *stmt)
/* And create the constructor functions for this range type */
makeRangeConstructors(typeName, typeNamespace, typoid, rangeSubtype);
+
+ return typoid;
}
/*
@@ -2064,7 +2070,7 @@ DefineCompositeType(RangeVar *typevar, List *coldeflist)
*
* Routine implementing ALTER DOMAIN SET/DROP DEFAULT statements.
*/
-void
+Oid
AlterDomainDefault(List *names, Node *defaultRaw)
{
TypeName *typename;
@@ -2191,6 +2197,8 @@ AlterDomainDefault(List *names, Node *defaultRaw)
/* Clean up */
heap_close(rel, NoLock);
heap_freetuple(newtuple);
+
+ return domainoid;
}
/*
@@ -2198,7 +2206,7 @@ AlterDomainDefault(List *names, Node *defaultRaw)
*
* Routine implementing ALTER DOMAIN SET/DROP NOT NULL statements.
*/
-void
+Oid
AlterDomainNotNull(List *names, bool notNull)
{
TypeName *typename;
@@ -2226,7 +2234,7 @@ AlterDomainNotNull(List *names, bool notNull)
if (typTup->typnotnull == notNull)
{
heap_close(typrel, RowExclusiveLock);
- return;
+ return InvalidOid;
}
/* Adding a NOT NULL constraint requires checking existing columns */
@@ -2287,6 +2295,8 @@ AlterDomainNotNull(List *names, bool notNull)
/* Clean up */
heap_freetuple(tup);
heap_close(typrel, RowExclusiveLock);
+
+ return domainoid;
}
/*
@@ -2294,7 +2304,7 @@ AlterDomainNotNull(List *names, bool notNull)
*
* Implements the ALTER DOMAIN DROP CONSTRAINT statement
*/
-void
+Oid
AlterDomainDropConstraint(List *names, const char *constrName,
DropBehavior behavior, bool missing_ok)
{
@@ -2371,6 +2381,8 @@ AlterDomainDropConstraint(List *names, const char *constrName,
(errmsg("constraint \"%s\" of domain \"%s\" does not exist, skipping",
constrName, TypeNameToString(typename))));
}
+
+ return domainoid;
}
/*
@@ -2378,7 +2390,7 @@ AlterDomainDropConstraint(List *names, const char *constrName,
*
* Implements the ALTER DOMAIN .. ADD CONSTRAINT statement.
*/
-void
+Oid
AlterDomainAddConstraint(List *names, Node *newConstraint)
{
TypeName *typename;
@@ -2474,6 +2486,8 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
/* Clean up */
heap_close(typrel, RowExclusiveLock);
+
+ return domainoid;
}
/*
@@ -2481,7 +2495,7 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
*
* Implements the ALTER DOMAIN .. VALIDATE CONSTRAINT statement.
*/
-void
+Oid
AlterDomainValidateConstraint(List *names, char *constrName)
{
TypeName *typename;
@@ -2573,6 +2587,8 @@ AlterDomainValidateConstraint(List *names, char *constrName)
heap_close(conrel, RowExclusiveLock);
ReleaseSysCache(tup);
+
+ return domainoid;
}
static void