kexi

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