00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef PG_TYPE_FN_H
00015 #define PG_TYPE_FN_H
00016
00017 #include "nodes/nodes.h"
00018
00019
00020 extern Oid TypeShellMake(const char *typeName,
00021 Oid typeNamespace,
00022 Oid ownerId);
00023
00024 extern Oid TypeCreate(Oid newTypeOid,
00025 const char *typeName,
00026 Oid typeNamespace,
00027 Oid relationOid,
00028 char relationKind,
00029 Oid ownerId,
00030 int16 internalSize,
00031 char typeType,
00032 char typeCategory,
00033 bool typePreferred,
00034 char typDelim,
00035 Oid inputProcedure,
00036 Oid outputProcedure,
00037 Oid receiveProcedure,
00038 Oid sendProcedure,
00039 Oid typmodinProcedure,
00040 Oid typmodoutProcedure,
00041 Oid analyzeProcedure,
00042 Oid elementType,
00043 bool isImplicitArray,
00044 Oid arrayType,
00045 Oid baseType,
00046 const char *defaultTypeValue,
00047 char *defaultTypeBin,
00048 bool passedByValue,
00049 char alignment,
00050 char storage,
00051 int32 typeMod,
00052 int32 typNDims,
00053 bool typeNotNull,
00054 Oid typeCollation);
00055
00056 extern void GenerateTypeDependencies(Oid typeNamespace,
00057 Oid typeObjectId,
00058 Oid relationOid,
00059 char relationKind,
00060 Oid owner,
00061 Oid inputProcedure,
00062 Oid outputProcedure,
00063 Oid receiveProcedure,
00064 Oid sendProcedure,
00065 Oid typmodinProcedure,
00066 Oid typmodoutProcedure,
00067 Oid analyzeProcedure,
00068 Oid elementType,
00069 bool isImplicitArray,
00070 Oid baseType,
00071 Oid typeCollation,
00072 Node *defaultExpr,
00073 bool rebuild);
00074
00075 extern void RenameTypeInternal(Oid typeOid, const char *newTypeName,
00076 Oid typeNamespace);
00077
00078 extern char *makeArrayTypeName(const char *typeName, Oid typeNamespace);
00079
00080 extern bool moveArrayTypeName(Oid typeOid, const char *typeName,
00081 Oid typeNamespace);
00082
00083 #endif