1 /*-------------------------------------------------------------------------
4 * handle type operations for parser
6 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
11 *-------------------------------------------------------------------------
16 #include "access/htup.h"
17 #include "parser/parse_node.h"
20 typedef HeapTuple Type
;
22 extern Type
LookupTypeName(ParseState
*pstate
, const TypeName
*typename
,
24 extern Type
typenameType(ParseState
*pstate
, const TypeName
*typename
,
26 extern Oid
typenameTypeId(ParseState
*pstate
, const TypeName
*typename
,
29 extern char *TypeNameToString(const TypeName
*typename
);
30 extern char *TypeNameListToString(List
*typenames
);
32 extern Type
typeidType(Oid id
);
34 extern Oid
typeTypeId(Type tp
);
35 extern int16
typeLen(Type t
);
36 extern bool typeByVal(Type t
);
37 extern char *typeTypeName(Type t
);
38 extern Oid
typeTypeRelid(Type typ
);
39 extern Datum
stringTypeDatum(Type tp
, char *string
, int32 atttypmod
);
41 extern Oid
typeidTypeRelid(Oid type_id
);
43 extern void parseTypeString(const char *str
, Oid
*type_id
, int32
*typmod_p
);
45 #define ISCOMPLEX(typeid) (typeidTypeRelid(typeid) != InvalidOid)
47 #endif /* PARSE_TYPE_H */