1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
//
//
// C++ Interface: pg_type
//
// Description:
//
//
// Author: Adam Pigg <adam@piggz.fsnet.co.uk>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
//boolean, 'true'/'false'
#define BOOLOID 16
//Unknown Type
#define UNKNOWNOID 705
//Numberic Types
//==============
//~18 digit integer, 8-byte storage
#define INT8OID 20
//-32 thousand to 32 thousand, 2-byte storage
#define INT2OID 21
//array of INDEX_MAX_KEYS int2 integers, used in system tables
#define INT2VECTOROID 22
//-2 billion to 2 billion integer, 4-byte storage
#define INT4OID 23
//single-precision floating point number, 4-byte storage
#define FLOAT4OID 700
//double-precision floating point number, 8-byte storage
#define FLOAT8OID 701
//monetary amounts, $d,ddd.cc
#define CASHOID 790
//numeric(precision, decimal), arbitrary precision number
#define NUMERICOID 1700
//==================================
//Text Types
//==========
//variable-length string, binary values escaped
#define BYTEAOID 17
//single character
#define CHAROID 18
//variable-length string, no limit specified
#define TEXTOID 25
//char(length), blank-padded string, fixed storage length
#define BPCHAROID 1042
//varchar(length), non-blank-padded string, variable storage length
#define VARCHAROID 1043
//fixed-length bit string
#define BITOID 1560
//variable-length bit string
#define VARBITOID 1562
//==================================
//Date Time Types
//===============
//absolute, limited-range date and time (Unix system time)
#define ABSTIMEOID 702
//relative, limited-range time interval (Unix delta time)
#define RELTIMEOID 703
//(abstime,abstime), time interval
#define TINTERVALOID 704
//ANSI SQL date
#define DATEOID 1082
//hh:mm:ss, ANSI SQL time
#define TIMEOID 1083
//date and time
#define TIMESTAMPOID 1114
//date and time with time zone
#define TIMESTAMPTZOID 1184
//@ <number> <units>, time interval
#define INTERVALOID 1186
//hh:mm:ss, ANSI SQL time
#define TIMETZOID 1266
//==================================
//Internal OID Types
//==================
//object identifier(oid), maximum 4 billion
#define OIDOID 26
//(Block, offset), physical location of tuple
#define TIDOID 27
//transaction id
#define XIDOID 28
//command identifier type, sequence in transaction id
#define CIDOID 29
//array of INDEX_MAX_KEYS oids, used in system tables
#define OIDVECTOROID 30
//==================================
//Geometric Types
//===============
//geometric point '(x, y)'
#define POINTOID 600
//geometric line segment '(pt1,pt2)'
#define LSEGOID 601
//geometric path '(pt1,...)'
#define PATHOID 602
//geometric box '(lower left,upper right)'
#define BOXOID 603
//geometric polygon '(pt1,...)'
#define POLYGONOID 604
//geometric line (not implemented)'
#define LINEOID 628
//geometric circle '(center,radius)'
#define CIRCLEOID 718
//==================================
//Network Types
//=============
//XX:XX:XX:XX:XX:XX, MAC address
#define MACADDROID 829
//IP address/netmask, host address, netmask optional
#define INETOID 869
//network IP address/netmask, network address
#define CIDROID 650
//access control list
#define ACLITEMOID 1033
//==================================
//Miscellaneous Types
//===================
//63-character type for storing system identifiers
#define NAMEOID 19
//registered procedure
#define REGPROCOID 24
//reference cursor (portal name)
#define REFCURSOROID 1790
//registered procedure (with args)
#define REGPROCEDUREOID 2202
//registered operator
#define REGOPEROID 2203
//registered operator (with args)
#define REGOPERATOROID 2204
//registered class
#define REGCLASSOID 2205
//registered type
#define REGTYPEOID 2206
|