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