]> git.saurik.com Git - wxWidgets.git/blob - src/iodbc/postgres/odbc_types.h
added ODBC support
[wxWidgets.git] / src / iodbc / postgres / odbc_types.h
1 #define SQL_SPEC_STRING "02.00" /* String constant for version */
2 #define SQL_ACTIVE_CONNECTIONS 0
3 #define SQL_ACTIVE_STATEMENTS 1
4 #define SQL_DATA_SOURCE_NAME 2
5 #define SQL_DATABASE_NAME 16 /* Use SQLGetConnectOption/SQL_CURRENT_QUALIFIER */
6 #define SQL_DBMS_VER 18
7 #define SQL_FETCH_DIRECTION 8
8 #define SQL_ROW_UPDATES 11
9 #define SQL_ODBC_SAG_CLI_CONFORMANCE 12
10 #define SQL_DRIVER_VER 7
11 #define SQL_SERVER_NAME 13
12 #define SQL_SEARCH_PATTERN_ESCAPE 14
13 #define SQL_ODBC_API_CONFORMANCE 9
14 #define SQL_ODBC_SQL_CONFORMANCE 15
15 #define SQL_OAC_LEVEL1 0x0001
16 #define SQL_DBMS_NAME 17
17 #define SQL_ACCESSIBLE_PROCEDURES 20
18 #define SQL_OUTER_JOINS 38
19 #define SQL_NEED_LONG_DATA_LEN 111
20 #define SQL_EXPRESSIONS_IN_ORDERBY 27
21 #define SQL_PROCEDURES 21
22 #define SQL_COLUMN_ALIAS 87
23 #define SQL_CONCAT_NULL_BEHAVIOR 22
24 #define SQL_DATA_SOURCE_READ_ONLY 25
25 #define SQL_ACCESSIBLE_TABLES 19
26 #define SQL_IDENTIFIER_QUOTE_CHAR 29
27 #define SQL_MAX_COLUMN_NAME_LEN 30
28 #define SQL_MAX_CURSOR_NAME_LEN 31
29 #define SQL_MAX_OWNER_NAME_LEN 32
30 #define SQL_MAX_PROCEDURE_NAME_LEN 33
31 #define SQL_MAX_QUALIFIER_NAME_LEN 34
32 #define SQL_MAX_TABLE_NAME_LEN 35
33 #define SQL_MULT_RESULT_SETS 36
34 #define SQL_MULTIPLE_ACTIVE_TXN 37
35 #define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
36 #define SQL_OWNER_TERM 39
37 #define SQL_PROCEDURE_TERM 40
38 #define SQL_QUALIFIER_NAME_SEPARATOR 41
39 #define SQL_QUALIFIER_TERM 42
40 #define SQL_SCROLL_CONCURRENCY 43
41 #define SQL_SCROLL_OPTIONS 44
42 #define SQL_TABLE_TERM 45
43 #define SQL_TXN_CAPABLE 46
44 #define SQL_USER_NAME 47
45 #define SQL_CONVERT_FUNCTIONS 48
46 #define SQL_SYSTEM_FUNCTIONS 51
47 #define SQL_NUMERIC_FUNCTIONS 49
48 #define SQL_FN_NUM_ABS 0x00000001L
49 #define SQL_FN_NUM_FLOOR 0x00000200L
50 #define SQL_FN_NUM_MOD 0x00000800L
51 #define SQL_FN_NUM_SIGN 0x00001000L
52 #define SQL_STRING_FUNCTIONS 50
53 #define SQL_FN_STR_CONCAT 0x00000001L
54 #define SQL_FN_STR_LEFT 0x00000004L
55 #define SQL_FN_STR_LENGTH 0x00000010L
56 #define SQL_FN_STR_LOCATE 0x00000020L
57 #define SQL_FN_STR_LOCATE_2 0x00010000L
58 #define SQL_FN_STR_RIGHT 0x00000200L
59 #define SQL_FN_STR_SUBSTRING 0x00000800L
60 #define SQL_FN_STR_REPLACE 0x00000100L
61 #define SQL_FN_STR_LCASE 0x00000040L
62 #define SQL_FN_STR_UCASE 0x00001000L
63 #define SQL_TIMEDATE_FUNCTIONS 52
64 #define SQL_FN_TD_CURDATE 0x00000002L
65 #define SQL_CONVERT_BIGINT 53
66 #define SQL_CONVERT_BIT 55
67 #define SQL_CONVERT_CHAR 56
68 #define SQL_CONVERT_DATE 57
69 #define SQL_CONVERT_DECIMAL 58
70 #define SQL_CONVERT_DOUBLE 59
71 #define SQL_CONVERT_FLOAT 60
72 #define SQL_CONVERT_INTEGER 61
73 #define SQL_CONVERT_LONGVARCHAR 62
74 #define SQL_CONVERT_NUMERIC 63
75 #define SQL_CONVERT_REAL 64
76 #define SQL_CONVERT_SMALLINT 65
77 #define SQL_CONVERT_TIME 66
78 #define SQL_CONVERT_TIMESTAMP 67
79 #define SQL_CONVERT_TIMESTAMP 67
80 #define SQL_CONVERT_TINYINT 68
81 #define SQL_CONVERT_VARCHAR 70
82 #define SQL_CVT_CHAR 0x00000001L
83 #define SQL_CVT_NUMERIC 0x00000002L
84 #define SQL_CVT_DECIMAL 0x00000004L
85 #define SQL_CVT_INTEGER 0x00000008L
86 #define SQL_CVT_SMALLINT 0x00000010L
87 #define SQL_CVT_FLOAT 0x00000020L
88 #define SQL_CVT_REAL 0x00000040L
89 #define SQL_CVT_DOUBLE 0x00000080L
90 #define SQL_CVT_VARCHAR 0x00000100L
91 #define SQL_CVT_LONGVARCHAR 0x00000200L
92 #define SQL_CVT_BIT 0x00001000L
93 #define SQL_CVT_TINYINT 0x00002000L
94 #define SQL_CVT_BIGINT 0x00004000L
95 #define SQL_CVT_DATE 0x00008000L
96 #define SQL_CVT_TIME 0x00010000L
97 #define SQL_CVT_TIMESTAMP 0x00020000L
98 #define SQL_CVT_TIMESTAMP 0x00020000L
99 #define SQL_CONVERT_BINARY 54
100 #define SQL_CONVERT_VARBINARY 69
101 #define SQL_CONVERT_LONGVARBINARY 71
102 #define SQL_CORRELATION_NAME 74
103 #define SQL_CN_DIFFERENT 0x0001
104 #define SQL_NNC_NON_NULL 0x0001
105 #define SQL_NULL_COLLATION 85
106 #define SQL_NC_START 0x0002
107 #define SQL_MAX_COLUMNS_IN_GROUP_BY 97
108 #define SQL_MAX_COLUMNS_IN_ORDER_BY 99
109 #define SQL_MAX_COLUMNS_IN_SELECT 100
110 #define SQL_MAX_COLUMNS_IN_TABLE 101
111 #define SQL_MAX_TABLES_IN_SELECT 106
112 #define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
113 #define SQL_MAX_ROW_SIZE 104
114 #define SQL_MAX_BINARY_LITERAL_LEN 112
115 #define SQL_MAX_CHAR_LITERAL_LEN 108
116 #define SQL_MAX_COLUMNS_IN_INDEX 98
117 #define SQL_MAX_INDEX_SIZE 102
118 #define SQL_MAX_STATEMENT_LEN 105
119 #define SQL_QL_START 0x0001L
120 #define SQL_SEARCHABLE 3
121 #define SQL_IDENTIFIER_CASE 28
122 #define SQL_COLUMN_NAME 1
123 #define SQL_COLUMN_TYPE 2
124 #define SQL_COLUMN_TYPE_NAME 14
125 #define SQL_COLUMN_PRECISION 4
126 #define SQL_COLUMN_DISPLAY_SIZE 6
127 #define SQL_COLUMN_LENGTH 3
128 #define SQL_COLUMN_SCALE 5
129 #define SQL_COLUMN_NULLABLE 7
130 #define SQL_COLUMN_SEARCHABLE 13
131 #define SQL_COLUMN_UNSIGNED 8
132 #define SQL_COLUMN_MONEY 9
133 #define SQL_COLUMN_AUTO_INCREMENT 11
134 #define SQL_COLUMN_CASE_SENSITIVE 12
135 #define SQL_COLUMN_UPDATABLE 10
136 #define SQL_COLUMN_OWNER_NAME 16
137 #define SQL_COLUMN_QUALIFIER_NAME 17
138 #define SQL_OSCC_COMPLIANT 0x0001
139 #define SQL_ODBC_SQL_OPT_IEF 73
140 #define SQL_LIKE_ESCAPE_CLAUSE 113
141 #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
142 #define SQL_POS_OPERATIONS 79
143 #define SQL_POSITIONED_STATEMENTS 80
144 #define SQL_LOCK_TYPES 78
145 #define SQL_BOOKMARK_PERSISTENCE 82
146 #define SQL_ALTER_TABLE 86
147 #define SQL_OWNER_USAGE 91
148 #define SQL_QUALIFIER_USAGE 92
149 #define SQL_QUOTED_IDENTIFIER_CASE 93
150 #define SQL_SUBQUERIES 95
151 #define SQL_UNION 96
152 #define SQL_TIMEDATE_DIFF_INTERVALS 110
153 #define SQL_GETDATA_EXTENSIONS 81
154 #define SQL_GD_ANY_COLUMN 0x00000001L
155 #define SQL_GD_ANY_ORDER 0x00000002L
156 #define SQL_GD_BOUND 0x00000008L
157 #define SQL_STATIC_SENSITIVITY 83
158 #define SQL_SS_DELETIONS 0x00000002L
159 #define SQL_SS_UPDATES 0x00000004L
160 #define SQL_FILE_USAGE 84
161 #define SQL_FILE_NOT_SUPPORTED 0x0000
162 #define SQL_GROUP_BY 88
163 #define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001
164 #define SQL_KEYWORDS 89
165 #define SQL_SPECIAL_CHARACTERS 94
166 #define SQL_TIMEDATE_ADD_INTERVALS 109
167 #define SQL_FN_SYS_DBNAME 0x00000002L
168 #define SQL_FN_SYS_IFNULL 0x00000004L
169 #define SQL_FN_SYS_USERNAME 0x00000001L
170 #define SQL_FN_NUM_CEILING 0x00000020L
171 #define SQL_FN_NUM_EXP 0x00000100L
172 #define SQL_FN_NUM_LOG 0x00000400L
173 #define SQL_FN_NUM_LOG10 0x00080000L
174 #define SQL_FN_NUM_LOG10 0x00080000L
175 #define SQL_FN_NUM_POWER 0x00100000L
176 #define SQL_FN_NUM_SQRT 0x00004000L
177 #define SQL_FN_NUM_ROUND 0x00400000L
178 #define SQL_FN_STR_INSERT 0x00000002L
179 #define SQL_FN_STR_LTRIM 0x00000008L
180 #define SQL_FN_STR_RTRIM 0x00000400L
181 #define SQL_BLOB 21
182 #define SQL_BLOB_LOCATOR 22
183 #define SQL_CLOB 23
184 #define SQL_CLOB_LOCATOR 24
185 #define SQL_DBCLOB 25
186 #define SQL_DBCLOB_LOCATOR 26
187 #define SQL_GRAPHIC 27
188 #define SQL_LONGVARGRAPHIC 30
189 #define SQL_VARGRAPHIC 32
190 #define SQL_SQLSTATE_SIZE 8
191 #define SQL_COLUMN_DISTINCT_TYPE 1250
192 #define SQL_COLUMN_TABLE_NAME 15
193 #define SQL_LEN_DATA_AT_EXEC_OFFSET (-100)
194 #define SQL_CB_NULL 0x0000
195 #define SQL_FN_NUM_RAND 0x00020000L
196 #define SQL_NOSCAN_OFF 0UL
197 #define SQL_ASYNC_ENABLE_OFF 0UL
198 #define SQL_CURSOR_STATIC 3UL
199 #define SQL_SC_NON_UNIQUE 0UL
200 #define SQL_UB_OFF 0UL
201 #define SQL_PC_NOT_PSEUDO 1
202 #define SQL_PC_NON_PSEUDO SQL_PC_NOT_PSEUDO
203 #define SQL_UNSEARCHABLE 0
204
205 /*
206 * Following constants are missed in original odbc_types.h
207 * Added by serg@informika.ru
208 */
209
210 #define SQL_UNKNOWN_TYPE 0
211
212 /* SQLColAttributes subdefines for SQL_COLUMN_SEARCHABLE */
213 /* These are also used by SQLGetInfo */
214 #define SQL_UNSEARCHABLE 0
215 #define SQL_LIKE_ONLY 1
216 #define SQL_ALL_EXCEPT_LIKE 2
217 #define SQL_SEARCHABLE 3
218 #define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
219
220 /* Special return values for SQLGetData */
221 #define SQL_NO_TOTAL (-4)
222
223 /* SQL_CORRELATION_NAME values */
224
225 #define SQL_CN_NONE 0x0000
226 #define SQL_CN_DIFFERENT 0x0001
227 #define SQL_CN_ANY 0x0002
228
229 /* SQL_NULL_COLLATION values */
230
231 #define SQL_NC_HIGH 0
232 #define SQL_NC_LOW 1
233 #define SQL_NC_START 0x0002
234 #define SQL_NC_END 0x0004
235
236 /* SQL_GROUP_BY values */
237
238 #define SQL_GB_NOT_SUPPORTED 0x0000
239 #define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001
240 #define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002
241 #define SQL_GB_NO_RELATION 0x0003
242
243 /* SQL_IDENTIFIER_CASE values */
244 #define SQL_IC_UPPER 1
245 #define SQL_IC_LOWER 2
246 #define SQL_IC_SENSITIVE 3
247 #define SQL_IC_MIXED 4
248
249 /* SQL_ODBC_SQL_CONFORMANCE values */
250
251 #define SQL_OSC_MINIMUM 0x0000
252 #define SQL_OSC_CORE 0x0001
253 #define SQL_OSC_EXTENDED 0x0002
254
255 /* SQL_SCROLL_OPTIONS masks */
256
257 #define SQL_SO_FORWARD_ONLY 0x00000001L
258 #define SQL_SO_KEYSET_DRIVEN 0x00000002L
259 #define SQL_SO_DYNAMIC 0x00000004L
260 #define SQL_SO_MIXED 0x00000008L
261 #define SQL_SO_STATIC 0x00000010L
262
263 /* SQL_TXN_CAPABLE values */
264
265 #define SQL_TC_NONE 0
266 #define SQL_TC_DML 1
267 #define SQL_TC_ALL 2
268 #define SQL_TC_DDL_COMMIT 3
269 #define SQL_TC_DDL_IGNORE 4
270
271 /* SQL_ALTER_TABLE bitmasks */
272
273 #if (ODBCVER >= 0x0200)
274 #define SQL_AT_ADD_COLUMN 0x00000001L
275 #define SQL_AT_DROP_COLUMN 0x00000002L
276 #endif /* ODBCVER >= 0x0200 */
277
278 #define SQL_MAX_USER_NAME_LEN 107
279
280 /* SQLColAttributes subdefines for SQL_COLUMN_UPDATABLE */
281
282 #define SQL_ATTR_READONLY 0
283 #define SQL_ATTR_WRITE 1
284 #define SQL_ATTR_READWRITE_UNKNOWN 2
285
286 /* SQLExtendedFetch "rgfRowStatus" element values */
287
288 #define SQL_ROW_SUCCESS 0
289 #define SQL_ROW_DELETED 1
290 #define SQL_ROW_UPDATED 2
291 #define SQL_ROW_NOROW 3
292 #define SQL_ROW_ADDED 4
293 #define SQL_ROW_ERROR 5
294
295 /* SQL_TIMEDATE_FUNCTIONS */
296
297 #define SQL_FN_TD_NOW 0x00000001L
298 #define SQL_FN_TD_CURTIME 0x00000200L