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