kexi
pg_type.h
00001 // 00002 // 00003 // C++ Interface: pg_type 00004 // 00005 // Description: 00006 // 00007 // 00008 // Author: Adam Pigg <adam@piggz.fsnet.co.uk>, (C) 2003 00009 // 00010 // Copyright: See COPYING file that comes with this distribution 00011 // 00012 // 00013 //boolean, 'true'/'false' 00014 #define BOOLOID 16 00015 00016 //Unknown Type 00017 #define UNKNOWNOID 705 00018 00019 //Numberic Types 00020 //============== 00021 00022 //~18 digit integer, 8-byte storage 00023 #define INT8OID 20 00024 00025 //-32 thousand to 32 thousand, 2-byte storage 00026 #define INT2OID 21 00027 00028 //array of INDEX_MAX_KEYS int2 integers, used in system tables 00029 #define INT2VECTOROID 22 00030 00031 //-2 billion to 2 billion integer, 4-byte storage 00032 #define INT4OID 23 00033 00034 //single-precision floating point number, 4-byte storage 00035 #define FLOAT4OID 700 00036 00037 //double-precision floating point number, 8-byte storage 00038 #define FLOAT8OID 701 00039 00040 //monetary amounts, $d,ddd.cc 00041 #define CASHOID 790 00042 00043 //numeric(precision, decimal), arbitrary precision number 00044 #define NUMERICOID 1700 00045 00046 //================================== 00047 00048 //Text Types 00049 //========== 00050 //variable-length string, binary values escaped 00051 #define BYTEAOID 17 00052 00053 //single character 00054 #define CHAROID 18 00055 00056 //variable-length string, no limit specified 00057 #define TEXTOID 25 00058 00059 //char(length), blank-padded string, fixed storage length 00060 #define BPCHAROID 1042 00061 00062 //varchar(length), non-blank-padded string, variable storage length 00063 #define VARCHAROID 1043 00064 00065 //fixed-length bit string 00066 #define BITOID 1560 00067 00068 //variable-length bit string 00069 #define VARBITOID 1562 00070 00071 //================================== 00072 00073 //Date Time Types 00074 //=============== 00075 //absolute, limited-range date and time (Unix system time) 00076 #define ABSTIMEOID 702 00077 00078 //relative, limited-range time interval (Unix delta time) 00079 #define RELTIMEOID 703 00080 00081 //(abstime,abstime), time interval 00082 #define TINTERVALOID 704 00083 00084 //ANSI SQL date 00085 #define DATEOID 1082 00086 00087 //hh:mm:ss, ANSI SQL time 00088 #define TIMEOID 1083 00089 00090 //date and time 00091 #define TIMESTAMPOID 1114 00092 00093 //date and time with time zone 00094 #define TIMESTAMPTZOID 1184 00095 00096 //@ <number> <units>, time interval 00097 #define INTERVALOID 1186 00098 00099 //hh:mm:ss, ANSI SQL time 00100 #define TIMETZOID 1266 00101 00102 00103 //================================== 00104 00105 //Internal OID Types 00106 //================== 00107 //object identifier(oid), maximum 4 billion 00108 #define OIDOID 26 00109 00110 //(Block, offset), physical location of tuple 00111 #define TIDOID 27 00112 00113 //transaction id 00114 #define XIDOID 28 00115 00116 //command identifier type, sequence in transaction id 00117 #define CIDOID 29 00118 00119 //array of INDEX_MAX_KEYS oids, used in system tables 00120 #define OIDVECTOROID 30 00121 00122 00123 //================================== 00124 00125 //Geometric Types 00126 //=============== 00127 //geometric point '(x, y)' 00128 #define POINTOID 600 00129 00130 //geometric line segment '(pt1,pt2)' 00131 #define LSEGOID 601 00132 00133 //geometric path '(pt1,...)' 00134 #define PATHOID 602 00135 00136 //geometric box '(lower left,upper right)' 00137 #define BOXOID 603 00138 00139 //geometric polygon '(pt1,...)' 00140 #define POLYGONOID 604 00141 00142 //geometric line (not implemented)' 00143 #define LINEOID 628 00144 00145 //geometric circle '(center,radius)' 00146 #define CIRCLEOID 718 00147 00148 //================================== 00149 00150 //Network Types 00151 //============= 00152 //XX:XX:XX:XX:XX:XX, MAC address 00153 #define MACADDROID 829 00154 00155 //IP address/netmask, host address, netmask optional 00156 #define INETOID 869 00157 00158 //network IP address/netmask, network address 00159 #define CIDROID 650 00160 00161 //access control list 00162 #define ACLITEMOID 1033 00163 00164 00165 //================================== 00166 00167 //Miscellaneous Types 00168 //=================== 00169 //63-character type for storing system identifiers 00170 #define NAMEOID 19 00171 00172 //registered procedure 00173 #define REGPROCOID 24 00174 00175 //reference cursor (portal name) 00176 #define REFCURSOROID 1790 00177 00178 //registered procedure (with args) 00179 #define REGPROCEDUREOID 2202 00180 00181 //registered operator 00182 #define REGOPEROID 2203 00183 00184 //registered operator (with args) 00185 #define REGOPERATOROID 2204 00186 00187 //registered class 00188 #define REGCLASSOID 2205 00189 00190 //registered type 00191 #define REGTYPEOID 2206 00192