Header And Logo

PostgreSQL
| The world's most advanced open source database.

typecmds.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * typecmds.h
00004  *    prototypes for typecmds.c.
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/commands/typecmds.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef TYPECMDS_H
00015 #define TYPECMDS_H
00016 
00017 #include "access/htup.h"
00018 #include "catalog/dependency.h"
00019 #include "nodes/parsenodes.h"
00020 
00021 
00022 #define DEFAULT_TYPDELIM        ','
00023 
00024 extern Oid DefineType(List *names, List *parameters);
00025 extern void RemoveTypeById(Oid typeOid);
00026 extern Oid DefineDomain(CreateDomainStmt *stmt);
00027 extern Oid DefineEnum(CreateEnumStmt *stmt);
00028 extern Oid DefineRange(CreateRangeStmt *stmt);
00029 extern Oid AlterEnum(AlterEnumStmt *stmt, bool isTopLevel);
00030 extern Oid  DefineCompositeType(RangeVar *typevar, List *coldeflist);
00031 extern Oid  AssignTypeArrayOid(void);
00032 
00033 extern Oid AlterDomainDefault(List *names, Node *defaultRaw);
00034 extern Oid AlterDomainNotNull(List *names, bool notNull);
00035 extern Oid AlterDomainAddConstraint(List *names, Node *constr);
00036 extern Oid AlterDomainValidateConstraint(List *names, char *constrName);
00037 extern Oid AlterDomainDropConstraint(List *names, const char *constrName,
00038                           DropBehavior behavior, bool missing_ok);
00039 
00040 extern void checkDomainOwner(HeapTuple tup);
00041 
00042 extern List *GetDomainConstraints(Oid typeOid);
00043 
00044 extern Oid RenameType(RenameStmt *stmt);
00045 extern Oid AlterTypeOwner(List *names, Oid newOwnerId, ObjectType objecttype);
00046 extern void AlterTypeOwnerInternal(Oid typeOid, Oid newOwnerId,
00047                        bool hasDependEntry);
00048 extern Oid AlterTypeNamespace(List *names, const char *newschema, ObjectType objecttype);
00049 extern Oid  AlterTypeNamespace_oid(Oid typeOid, Oid nspOid, ObjectAddresses *objsMoved);
00050 extern Oid  AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid,
00051                            bool isImplicitArray,
00052                            bool errorOnTableType,
00053                            ObjectAddresses *objsMoved);
00054 
00055 #endif   /* TYPECMDS_H */