Refactor the handling of the various DropStmt variants so that when multiple
[PostgreSQL.git] / src / include / commands / typecmds.h
blob3992561234f0c0b754393b15bac4d0dc1c803036
1 /*-------------------------------------------------------------------------
3 * typecmds.h
4 * prototypes for typecmds.c.
7 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL$
12 *-------------------------------------------------------------------------
14 #ifndef TYPECMDS_H
15 #define TYPECMDS_H
17 #include "nodes/parsenodes.h"
20 #define DEFAULT_TYPDELIM ','
22 extern void DefineType(List *names, List *parameters);
23 extern void RemoveTypes(DropStmt *drop);
24 extern void RemoveTypeById(Oid typeOid);
25 extern void DefineDomain(CreateDomainStmt *stmt);
26 extern void DefineEnum(CreateEnumStmt *stmt);
27 extern Oid DefineCompositeType(const RangeVar *typevar, List *coldeflist);
29 extern void AlterDomainDefault(List *names, Node *defaultRaw);
30 extern void AlterDomainNotNull(List *names, bool notNull);
31 extern void AlterDomainAddConstraint(List *names, Node *constr);
32 extern void AlterDomainDropConstraint(List *names, const char *constrName,
33 DropBehavior behavior);
35 extern List *GetDomainConstraints(Oid typeOid);
37 extern void RenameType(List *names, const char *newTypeName);
38 extern void AlterTypeOwner(List *names, Oid newOwnerId);
39 extern void AlterTypeOwnerInternal(Oid typeOid, Oid newOwnerId,
40 bool hasDependEntry);
41 extern void AlterTypeNamespace(List *names, const char *newschema);
42 extern void AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid,
43 bool isImplicitArray,
44 bool errorOnTableType);
46 #endif /* TYPECMDS_H */