1 /*-------------------------------------------------------------------------
4 * prototypes for typecmds.c.
7 * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
12 *-------------------------------------------------------------------------
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
,
41 extern void AlterTypeNamespace(List
*names
, const char *newschema
);
42 extern void AlterTypeNamespaceInternal(Oid typeOid
, Oid nspOid
,
44 bool errorOnTableType
);
46 #endif /* TYPECMDS_H */