1 /***********************************************************************\
2 *                                 sql.d                                 *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                                                                       *
8 *                       Placed into public domain                       *
9 \***********************************************************************/
10 module win32.sql;
11 
12 public import win32.sqltypes;
13 private import win32.windef;
14 
15 const ODBCVER = 0x0351;
16 
17 const SQL_ACCESSIBLE_PROCEDURES=20;
18 const SQL_ACCESSIBLE_TABLES=19;
19 const SQL_ALL_TYPES=0;
20 const SQL_ALTER_TABLE=86;
21 const SQL_API_SQLALLOCCONNECT=1;
22 const SQL_API_SQLALLOCENV=2;
23 const SQL_API_SQLALLOCSTMT=3;
24 const SQL_API_SQLBINDCOL=4;
25 const SQL_API_SQLCANCEL=5;
26 const SQL_API_SQLCOLUMNS=40;
27 const SQL_API_SQLCONNECT=7;
28 const SQL_API_SQLDATASOURCES=57;
29 const SQL_API_SQLDESCRIBECOL=8;
30 const SQL_API_SQLDISCONNECT=9;
31 const SQL_API_SQLERROR=10;
32 const SQL_API_SQLEXECDIRECT=11;
33 const SQL_API_SQLEXECUTE=12;
34 const SQL_API_SQLFETCH=13;
35 const SQL_API_SQLFREECONNECT=14;
36 const SQL_API_SQLFREEENV=15;
37 const SQL_API_SQLFREESTMT=16;
38 const SQL_API_SQLGETCONNECTOPTION=42;
39 const SQL_API_SQLGETCURSORNAME=17;
40 const SQL_API_SQLGETDATA=43;
41 const SQL_API_SQLGETFUNCTIONS=44;
42 const SQL_API_SQLGETINFO=45;
43 const SQL_API_SQLGETSTMTOPTION=46;
44 const SQL_API_SQLGETTYPEINFO=47;
45 const SQL_API_SQLNUMRESULTCOLS=18;
46 const SQL_API_SQLPARAMDATA=48;
47 const SQL_API_SQLPREPARE=19;
48 const SQL_API_SQLPUTDATA=49;
49 const SQL_API_SQLROWCOUNT=20;
50 const SQL_API_SQLSETCONNECTOPTION=50;
51 const SQL_API_SQLSETCURSORNAME=21;
52 const SQL_API_SQLSETPARAM=22;
53 const SQL_API_SQLSETSTMTOPTION=51;
54 const SQL_API_SQLSPECIALCOLUMNS=52;
55 const SQL_API_SQLSTATISTICS=53;
56 const SQL_API_SQLTABLES=54;
57 const SQL_API_SQLTRANSACT=23;
58 
59 const SQL_CB_DELETE=0;
60 const SQL_CB_CLOSE=1;
61 const SQL_CB_PRESERVE=2;
62 
63 const SQL_CHAR=1;
64 const SQL_CLOSE=0;
65 const SQL_COMMIT=0;
66 const SQL_CURSOR_COMMIT_BEHAVIOR=23;
67 const SQL_DATA_AT_EXEC=-2;
68 const SQL_DATA_SOURCE_NAME=2;
69 const SQL_DATA_SOURCE_READ_ONLY=25;
70 const SQL_DBMS_NAME=17;
71 const SQL_DBMS_VER=18;
72 const SQL_DECIMAL=3;
73 const SQL_DEFAULT_TXN_ISOLATION=26;
74 const SQL_DOUBLE=8;
75 const SQL_DROP=1;
76 const SQL_ERROR=-1;
77 
78 const SQL_FD_FETCH_NEXT=1;
79 const SQL_FD_FETCH_FIRST=2;
80 const SQL_FD_FETCH_LAST=4;
81 const SQL_FD_FETCH_PRIOR=8;
82 const SQL_FD_FETCH_ABSOLUTE=16;
83 const SQL_FD_FETCH_RELATIVE=32;
84 
85 const SQL_FETCH_ABSOLUTE=5;
86 const SQL_FETCH_DIRECTION=8;
87 const SQL_FETCH_FIRST=2;
88 const SQL_FETCH_LAST=3;
89 const SQL_FETCH_NEXT=1;
90 const SQL_FETCH_PRIOR=4;
91 const SQL_FETCH_RELATIVE=6;
92 const SQL_FLOAT=6;
93 const SQL_GD_ANY_COLUMN=1;
94 const SQL_GD_ANY_ORDER=2;
95 const SQL_GETDATA_EXTENSIONS=81;
96 const SQL_IC_LOWER=2;
97 const SQL_IC_MIXED=4;
98 const SQL_IC_SENSITIVE=3;
99 const SQL_IC_UPPER=1;
100 const SQL_IDENTIFIER_CASE=28;
101 const SQL_IDENTIFIER_QUOTE_CHAR=29;
102 
103 const SQL_INDEX_ALL=1;
104 const SQL_INDEX_CLUSTERED=1;
105 const SQL_INDEX_HASHED=2;
106 const SQL_INDEX_OTHER=3;
107 const SQL_INDEX_UNIQUE=0;
108 
109 const SQL_INTEGER=4;
110 const SQL_INTEGRITY=73;
111 const SQL_INVALID_HANDLE=-2;
112 
113 const SQL_MAX_CATALOG_NAME_LEN=34;
114 const SQL_MAX_COLUMN_NAME_LEN=30;
115 const SQL_MAX_COLUMNS_IN_GROUP_BY=97;
116 const SQL_MAX_COLUMNS_IN_INDEX=98;
117 const SQL_MAX_COLUMNS_IN_ORDER_BY=99;
118 const SQL_MAX_COLUMNS_IN_SELECT=100;
119 const SQL_MAX_COLUMNS_IN_TABLE=101;
120 const SQL_MAX_CURSOR_NAME_LEN=31;
121 const SQL_MAX_INDEX_SIZE=102;
122 const SQL_MAX_MESSAGE_LENGTH=512;
123 const SQL_MAX_ROW_SIZE=104;
124 const SQL_MAX_SCHEMA_NAME_LEN=32;
125 const SQL_MAX_STATEMENT_LEN=105;
126 const SQL_MAX_TABLE_NAME_LEN=35;
127 const SQL_MAX_TABLES_IN_SELECT=106;
128 const SQL_MAX_USER_NAME_LEN=107;
129 
130 const SQL_MAXIMUM_CATALOG_NAME_LENGTH=SQL_MAX_CATALOG_NAME_LEN;
131 const SQL_MAXIMUM_COLUMN_NAME_LENGTH=SQL_MAX_COLUMN_NAME_LEN;
132 const SQL_MAXIMUM_COLUMNS_IN_GROUP_BY=SQL_MAX_COLUMNS_IN_GROUP_BY;
133 const SQL_MAXIMUM_COLUMNS_IN_INDEX=SQL_MAX_COLUMNS_IN_INDEX;
134 const SQL_MAXIMUM_COLUMNS_IN_ORDER_BY=SQL_MAX_COLUMNS_IN_ORDER_BY;
135 const SQL_MAXIMUM_COLUMNS_IN_SELECT=SQL_MAX_COLUMNS_IN_SELECT;
136 const SQL_MAXIMUM_CURSOR_NAME_LENGTH=SQL_MAX_CURSOR_NAME_LEN;
137 const SQL_MAXIMUM_INDEX_SIZE=SQL_MAX_INDEX_SIZE;
138 const SQL_MAXIMUM_ROW_SIZE=SQL_MAX_ROW_SIZE;
139 const SQL_MAXIMUM_SCHEMA_NAME_LENGTH=SQL_MAX_SCHEMA_NAME_LEN;
140 const SQL_MAXIMUM_STATEMENT_LENGTH=SQL_MAX_STATEMENT_LEN;
141 const SQL_MAXIMUM_TABLES_IN_SELECT=SQL_MAX_TABLES_IN_SELECT;
142 const SQL_MAXIMUM_USER_NAME_LENGTH=SQL_MAX_USER_NAME_LEN;
143 
144 const SQL_NC_HIGH=0;
145 const SQL_NC_LOW=1;
146 const SQL_NEED_DATA=99;
147 const SQL_NO_NULLS=0;
148 const SQL_NTS=-3;
149 const LONG SQL_NTSL=-3;
150 const SQL_NULL_COLLATION=85;
151 const SQL_NULL_DATA=-1;
152 const SQL_NULL_HDBC=0;
153 const SQL_NULL_HENV=0;
154 const SQL_NULL_HSTMT=0;
155 const SQL_NULLABLE=1;
156 const SQL_NULLABLE_UNKNOWN=2;
157 const SQL_NUMERIC=2;
158 const SQL_ORDER_BY_COLUMNS_IN_SELECT=90;
159 const SQL_PC_PSEUDO=2;
160 const SQL_PC_UNKNOWN=0;
161 const SQL_REAL=7;
162 const SQL_RESET_PARAMS=3;
163 const SQL_ROLLBACK=1;
164 const SQL_SCCO_LOCK=2;
165 const SQL_SCCO_OPT_ROWVER=4;
166 const SQL_SCCO_OPT_VALUES=8;
167 const SQL_SCCO_READ_ONLY=1;
168 const SQL_SCOPE_CURROW=0;
169 const SQL_SCOPE_SESSION=2;
170 const SQL_SCOPE_TRANSACTION=1;
171 const SQL_SCROLL_CONCURRENCY=43;
172 const SQL_SEARCH_PATTERN_ESCAPE=14;
173 const SQL_SERVER_NAME=13;
174 const SQL_SMALLINT=5;
175 const SQL_SPECIAL_CHARACTERS=94;
176 const SQL_STILL_EXECUTING=2;
177 //MACRO #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
178 
179 const SQL_SUCCESS=0;
180 const SQL_SUCCESS_WITH_INFO=1;
181 
182 const SQL_TC_ALL=2;
183 const SQL_TC_DDL_COMMIT=3;
184 const SQL_TC_DDL_IGNORE=4;
185 const SQL_TC_DML=1;
186 const SQL_TC_NONE=0;
187 
188 
189 const SQL_TXN_CAPABLE=46;
190 const SQL_TXN_ISOLATION_OPTION=72;
191 const SQL_TXN_READ_COMMITTED=2;
192 const SQL_TXN_READ_UNCOMMITTED=1;
193 const SQL_TXN_REPEATABLE_READ=4;
194 const SQL_TXN_SERIALIZABLE=8;
195 
196 const SQL_TRANSACTION_CAPABLE=SQL_TXN_CAPABLE;
197 const SQL_TRANSACTION_ISOLATION_OPTION=SQL_TXN_ISOLATION_OPTION;
198 const SQL_TRANSACTION_READ_COMMITTED=SQL_TXN_READ_COMMITTED;
199 const SQL_TRANSACTION_READ_UNCOMMITTED=SQL_TXN_READ_UNCOMMITTED;
200 const SQL_TRANSACTION_REPEATABLE_READ=SQL_TXN_REPEATABLE_READ;
201 const SQL_TRANSACTION_SERIALIZABLE=SQL_TXN_SERIALIZABLE;
202 
203 const SQL_UNBIND=2;
204 const SQL_UNKNOWN_TYPE=0;
205 const SQL_USER_NAME=47;
206 const SQL_VARCHAR=12;
207 
208 static if (ODBCVER >= 0x0200) {
209 	const SQL_AT_ADD_COLUMN  = 1;
210 	const SQL_AT_DROP_COLUMN = 2;
211 }
212 
213 static if (ODBCVER >= 0x0201) {
214 	const SQL_OJ_LEFT               =  1;
215 	const SQL_OJ_RIGHT              =  2;
216 	const SQL_OJ_FULL               =  4;
217 	const SQL_OJ_NESTED             =  8;
218 	const SQL_OJ_NOT_ORDERED        = 16;
219 	const SQL_OJ_INNER              = 32;
220 	const SQL_OJ_ALL_COMPARISON_OPS = 64;
221 }
222 
223 static if (ODBCVER >= 0x0300) {
224 	const SQL_AM_CONNECTION=1;
225 	const SQL_AM_NONE=0;
226 	const SQL_AM_STATEMENT=2;
227 	const SQL_API_SQLALLOCHANDLE=1001;
228 	const SQL_API_SQLBINDPARAM=1002;
229 	const SQL_API_SQLCLOSECURSOR=1003;
230 	const SQL_API_SQLCOLATTRIBUTE=6;
231 	const SQL_API_SQLCOPYDESC=1004;
232 	const SQL_API_SQLENDTRAN=1005;
233 	const SQL_API_SQLFETCHSCROLL=1021;
234 	const SQL_API_SQLFREEHANDLE=1006;
235 	const SQL_API_SQLGETCONNECTATTR=1007;
236 	const SQL_API_SQLGETDESCFIELD=1008;
237 	const SQL_API_SQLGETDESCREC=1009;
238 	const SQL_API_SQLGETDIAGFIELD=1010;
239 	const SQL_API_SQLGETDIAGREC=1011;
240 	const SQL_API_SQLGETENVATTR=1012;
241 	const SQL_API_SQLGETSTMTATTR=1014;
242 	const SQL_API_SQLSETCONNECTATTR=1016;
243 	const SQL_API_SQLSETDESCFIELD=1017;
244 	const SQL_API_SQLSETDESCREC=1018;
245 	const SQL_API_SQLSETENVATTR=1019;
246 	const SQL_API_SQLSETSTMTATTR=1020;
247 	const SQL_ARD_TYPE=-99;
248 	const SQL_AT_ADD_CONSTRAINT=8;
249 	const SQL_ATTR_APP_PARAM_DESC=10011;
250 	const SQL_ATTR_APP_ROW_DESC=10010;
251 	const SQL_ATTR_AUTO_IPD=10001;
252 	const SQL_ATTR_CURSOR_SCROLLABLE=-1;
253 	const SQL_ATTR_CURSOR_SENSITIVITY=-2;
254 	const SQL_ATTR_IMP_PARAM_DESC=10013;
255 	const SQL_ATTR_IMP_ROW_DESC=10012;
256 	const SQL_ATTR_METADATA_ID=10014;
257 	const SQL_ATTR_OUTPUT_NTS=10001;
258 	const SQL_CATALOG_NAME=10003;
259 	const SQL_CODE_DATE=1;
260 	const SQL_CODE_TIME=2;
261 	const SQL_CODE_TIMESTAMP=3;
262 	const SQL_COLLATION_SEQ=10004;
263 	const SQL_CURSOR_SENSITIVITY=10001;
264 	const SQL_DATE_LEN=10;
265 	const SQL_DATETIME=9;
266 	const SQL_DEFAULT=99;
267 
268 	const SQL_DESC_ALLOC_AUTO=1;
269 	const SQL_DESC_ALLOC_USER=2;
270 	const SQL_DESC_ALLOC_TYPE=1099;
271 	const SQL_DESC_COUNT=1001;
272 	const SQL_DESC_TYPE=1002;
273 	const SQL_DESC_LENGTH=1003;
274 	const SQL_DESC_OCTET_LENGTH_PTR=1004;
275 	const SQL_DESC_PRECISION=1005;
276 	const SQL_DESC_SCALE=1006;
277 	const SQL_DESC_DATETIME_INTERVAL_CODE=1007;
278 	const SQL_DESC_NULLABLE=1008;
279 	const SQL_DESC_INDICATOR_PTR=1009;
280 	const SQL_DESC_DATA_PTR=1010;
281 	const SQL_DESC_NAME=1011;
282 	const SQL_DESC_UNNAMED=1012;
283 	const SQL_DESC_OCTET_LENGTH=1013;
284 
285 	const SQL_DESCRIBE_PARAMETER=10002;
286 
287 	const SQL_DIAG_ALTER_DOMAIN=3;
288 	const SQL_DIAG_ALTER_TABLE=4;
289 	const SQL_DIAG_CALL=7;
290 	const SQL_DIAG_CLASS_ORIGIN=8;
291 	const SQL_DIAG_CONNECTION_NAME=10;
292 	const SQL_DIAG_CREATE_ASSERTION=6;
293 	const SQL_DIAG_CREATE_CHARACTER_SET=8;
294 	const SQL_DIAG_CREATE_COLLATION=10;
295 	const SQL_DIAG_CREATE_DOMAIN=23;
296 	const SQL_DIAG_CREATE_INDEX=-1;
297 	const SQL_DIAG_CREATE_SCHEMA=64;
298 	const SQL_DIAG_CREATE_TABLE=77;
299 	const SQL_DIAG_CREATE_TRANSLATION=79;
300 	const SQL_DIAG_CREATE_VIEW=84;
301 	const SQL_DIAG_DELETE_WHERE=19;
302 	const SQL_DIAG_DROP_ASSERTION=24;
303 	const SQL_DIAG_DROP_CHARACTER_SET=25;
304 	const SQL_DIAG_DROP_COLLATION=26;
305 	const SQL_DIAG_DROP_DOMAIN=27;
306 	const SQL_DIAG_DROP_INDEX=(-2);
307 	const SQL_DIAG_DROP_SCHEMA=31;
308 	const SQL_DIAG_DROP_TABLE=32;
309 	const SQL_DIAG_DROP_TRANSLATION=33;
310 	const SQL_DIAG_DROP_VIEW=36;
311 	const SQL_DIAG_DYNAMIC_DELETE_CURSOR=38;
312 	const SQL_DIAG_DYNAMIC_FUNCTION=7;
313 	const SQL_DIAG_DYNAMIC_FUNCTION_CODE=12;
314 	const SQL_DIAG_DYNAMIC_UPDATE_CURSOR=81;
315 	const SQL_DIAG_GRANT=48;
316 	const SQL_DIAG_INSERT=50;
317 	const SQL_DIAG_MESSAGE_TEXT=6;
318 	const SQL_DIAG_NATIVE=5;
319 	const SQL_DIAG_NUMBER=2;
320 	const SQL_DIAG_RETURNCODE=1;
321 	const SQL_DIAG_REVOKE=59;
322 	const SQL_DIAG_ROW_COUNT=3;
323 	const SQL_DIAG_SELECT_CURSOR=85;
324 	const SQL_DIAG_SERVER_NAME=11;
325 	const SQL_DIAG_SQLSTATE=4;
326 	const SQL_DIAG_SUBCLASS_ORIGIN=9;
327 	const SQL_DIAG_UNKNOWN_STATEMENT=0;
328 	const SQL_DIAG_UPDATE_WHERE=82;
329 
330 	const SQL_FALSE=0;
331 	const SQL_HANDLE_DBC=2;
332 	const SQL_HANDLE_DESC=4;
333 	const SQL_HANDLE_ENV=1;
334 	const SQL_HANDLE_STMT=3;
335 	const SQL_INSENSITIVE=1;
336 	const SQL_MAX_CONCURRENT_ACTIVITIES=1;
337 	const SQL_MAX_DRIVER_CONNECTIONS=0;
338 	const SQL_MAX_IDENTIFIER_LEN=10005;
339 	const SQL_MAXIMUM_CONCURRENT_ACTIVITIES=SQL_MAX_CONCURRENT_ACTIVITIES;
340 	const SQL_MAXIMUM_DRIVER_CONNECTIONS=SQL_MAX_DRIVER_CONNECTIONS;
341 	const SQL_MAXIMUM_IDENTIFIER_LENGTH=SQL_MAX_IDENTIFIER_LEN;
342 	const SQL_NAMED=0;
343 	const SQL_NO_DATA=100;
344 	const SQL_NONSCROLLABLE=0;
345 	const SQL_NULL_HANDLE=0L;
346 	const SQL_NULL_HDESC=0;
347 	const SQL_OJ_CAPABILITIES=115;
348 	const SQL_OUTER_JOIN_CAPABILITIES=SQL_OJ_CAPABILITIES;
349 	const SQL_PC_NON_PSEUDO=1;
350 
351 	const SQL_PRED_NONE=0;
352 	const SQL_PRED_CHAR=1;
353 	const SQL_PRED_BASIC=2;
354 
355 	const SQL_ROW_IDENTIFIER=1;
356 	const SQL_SCROLLABLE=1;
357 	const SQL_SENSITIVE=2;
358 	const SQL_TIME_LEN=8;
359 	const SQL_TIMESTAMP_LEN=19;
360 	const SQL_TRUE=1;
361 	const SQL_TYPE_DATE=91;
362 	const SQL_TYPE_TIME=92;
363 	const SQL_TYPE_TIMESTAMP=93;
364 	const SQL_UNNAMED=1;
365 	const SQL_UNSPECIFIED=0;
366 	const SQL_XOPEN_CLI_YEAR=10000;
367 }//#endif /* ODBCVER >= 0x0300 */
368 
369 extern (Windows) {
370 	deprecated {
371 		SQLRETURN SQLAllocConnect(SQLHENV, SQLHDBC*);
372 		SQLRETURN SQLAllocEnv(SQLHENV*);
373 		SQLRETURN SQLAllocStmt(SQLHDBC, SQLHSTMT*);
374 		SQLRETURN SQLError(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
375 		SQLRETURN SQLFreeConnect(SQLHDBC);
376 		SQLRETURN SQLFreeEnv(SQLHENV);
377 		SQLRETURN SQLSetParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*);
378 		SQLRETURN SQLGetConnectOption(SQLHDBC, SQLUSMALLINT, SQLPOINTER);
379 		SQLRETURN SQLGetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLPOINTER);
380 		SQLRETURN SQLSetConnectOption(SQLHDBC, SQLUSMALLINT, SQLULEN);
381 		SQLRETURN SQLSetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLROWCOUNT);
382 	}
383 	SQLRETURN SQLBindCol(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
384 	SQLRETURN SQLCancel(SQLHSTMT);
385 	SQLRETURN SQLConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
386 	SQLRETURN SQLDescribeCol(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
387 	SQLRETURN SQLDisconnect(SQLHDBC);
388 	SQLRETURN SQLExecDirect(SQLHSTMT, SQLCHAR*, SQLINTEGER);
389 	SQLRETURN SQLExecute(SQLHSTMT);
390 	SQLRETURN SQLFetch(SQLHSTMT);
391 	SQLRETURN SQLFreeStmt(SQLHSTMT, SQLUSMALLINT);
392 	SQLRETURN SQLGetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
393 	SQLRETURN SQLNumResultCols(SQLHSTMT, SQLSMALLINT*);
394 	SQLRETURN SQLPrepare(SQLHSTMT, SQLCHAR*, SQLINTEGER);
395 	SQLRETURN SQLRowCount(SQLHSTMT, SQLLEN*);
396 	SQLRETURN SQLSetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT);
397 	SQLRETURN SQLTransact(SQLHENV, SQLHDBC, SQLUSMALLINT);
398 	SQLRETURN SQLColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
399 	SQLRETURN SQLGetData(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
400 	SQLRETURN SQLGetFunctions(SQLHDBC, SQLUSMALLINT, SQLUSMALLINT*);
401 	SQLRETURN SQLGetInfo(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
402 	SQLRETURN SQLGetTypeInfo(SQLHSTMT, SQLSMALLINT);
403 	SQLRETURN SQLParamData(SQLHSTMT, SQLPOINTER*);
404 	SQLRETURN SQLPutData(SQLHSTMT, SQLPOINTER, SQLLEN);
405 	SQLRETURN SQLSpecialColumns(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
406 	SQLRETURN SQLStatistics(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
407 	SQLRETURN SQLTables(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
408 	SQLRETURN SQLDataSources(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
409 
410 	static if (ODBCVER >= 0x0300) {
411 		SQLRETURN SQLAllocHandle(SQLSMALLINT, SQLHANDLE, SQLHANDLE*);
412 		SQLRETURN SQLBindParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*);
413 		SQLRETURN SQLCloseCursor(SQLHSTMT);
414 		SQLRETURN SQLColAttribute(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER);
415 		SQLRETURN SQLCopyDesc(SQLHDESC, SQLHDESC);
416 		SQLRETURN SQLEndTran(SQLSMALLINT, SQLHANDLE, SQLSMALLINT);
417 		SQLRETURN SQLFetchScroll(SQLHSTMT, SQLSMALLINT, SQLROWOFFSET);
418 		SQLRETURN SQLFreeHandle(SQLSMALLINT, SQLHANDLE);
419 		SQLRETURN SQLGetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
420 		SQLRETURN SQLGetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
421 		SQLRETURN SQLGetDescRec(SQLHDESC, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*,
422 		  SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*);
423 		SQLRETURN SQLGetDiagField(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
424 		SQLRETURN SQLGetDiagRec(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
425 		SQLRETURN SQLGetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
426 		SQLRETURN SQLGetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
427 		SQLRETURN SQLSetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER);
428 		SQLRETURN SQLSetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER);
429 		SQLRETURN SQLSetDescRec(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLLEN, SQLSMALLINT,
430 			SQLSMALLINT, SQLPOINTER, SQLLEN*, SQLLEN*);
431 		SQLRETURN SQLSetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER);
432 		SQLRETURN SQLSetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER);
433 	}/* (ODBCVER >= 0x0300) */
434 }