]> granicus.if.org Git - postgresql/blob - src/include/commands/typecmds.h
Core support for "extensions", which are packages of SQL objects.
[postgresql] / src / include / commands / typecmds.h
1 /*-------------------------------------------------------------------------
2  *
3  * typecmds.h
4  *        prototypes for typecmds.c.
5  *
6  *
7  * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/commands/typecmds.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef TYPECMDS_H
15 #define TYPECMDS_H
16
17 #include "nodes/parsenodes.h"
18
19
20 #define DEFAULT_TYPDELIM                ','
21
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 void AlterEnum(AlterEnumStmt *stmt);
28 extern Oid      DefineCompositeType(const RangeVar *typevar, List *coldeflist);
29 extern Oid      AssignTypeArrayOid(void);
30
31 extern void AlterDomainDefault(List *names, Node *defaultRaw);
32 extern void AlterDomainNotNull(List *names, bool notNull);
33 extern void AlterDomainAddConstraint(List *names, Node *constr);
34 extern void AlterDomainDropConstraint(List *names, const char *constrName,
35                                                   DropBehavior behavior);
36
37 extern List *GetDomainConstraints(Oid typeOid);
38
39 extern void RenameType(List *names, const char *newTypeName);
40 extern void AlterTypeOwner(List *names, Oid newOwnerId);
41 extern void AlterTypeOwnerInternal(Oid typeOid, Oid newOwnerId,
42                                            bool hasDependEntry);
43 extern void AlterTypeNamespace(List *names, const char *newschema);
44 extern Oid      AlterTypeNamespace_oid(Oid typeOid, Oid nspOid);
45 extern Oid      AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid,
46                                                    bool isImplicitArray,
47                                                    bool errorOnTableType);
48
49 #endif   /* TYPECMDS_H */