1/**
2 * Windows API header module
3 *
4 * Translated from MinGW Windows headers
5 *
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC core/sys/windows/_sqlext.d)
8 */
9module core.sys.windows.sqlext;
10version (Windows):
11@system:
12
13/* Conversion notes:
14   The MinGW file was a horrible mess. All of the #defines were sorted alphabetically,
15   which is crazy. This file needs a lot of work.
16   In MinGW, sqlext #includes sqlucode, but sqlucode #includes sqlext,
17   creating a circular dependency!
18*/
19
20public import core.sys.windows.sql;
21import core.sys.windows.windef;
22
23enum SQL_SPEC_MAJOR = 3;
24enum SQL_SPEC_MINOR = 51;
25const char[] SQL_SPEC_STRING = "03.51";
26enum SQL_ACCESS_MODE = 101;
27enum SQL_ACTIVE_CONNECTIONS = 0;
28enum SQL_ACTIVE_STATEMENTS  = 1;
29
30enum SQL_DATE = 9;
31enum SQL_TIME = 10;
32enum SQL_SIGNED_OFFSET = -20;
33enum SQL_TINYINT = -6;
34enum SQL_TIMESTAMP = 11;
35enum SQL_UNSIGNED_OFFSET = -22;
36
37enum SQL_ADD = 4;
38enum SQL_ALL_EXCEPT_LIKE = 2;
39
40enum SQL_API_ALL_FUNCTIONS       =   0;
41enum SQL_API_SQLCOLATTRIBUTES    =   6;
42enum SQL_API_SQLDRIVERCONNECT    =  41;
43enum SQL_API_SQLBROWSECONNECT    =  55;
44enum SQL_API_SQLCOLUMNPRIVILEGES =  56;
45enum SQL_API_SQLDESCRIBEPARAM    =  58;
46enum SQL_API_SQLEXTENDEDFETCH    =  59;
47enum SQL_API_SQLFOREIGNKEYS      =  60;
48enum SQL_API_SQLMORERESULTS      =  61;
49enum SQL_API_SQLNATIVESQL        =  62;
50enum SQL_API_SQLNUMPARAMS        =  63;
51enum SQL_API_SQLPARAMOPTIONS     =  64;
52enum SQL_API_SQLPRIMARYKEYS      =  65;
53enum SQL_API_SQLPROCEDURECOLUMNS =  66;
54enum SQL_API_SQLPROCEDURES       =  67;
55enum SQL_API_SQLSETPOS           =  68;
56enum SQL_API_SQLSETSCROLLOPTIONS =  69;
57enum SQL_API_SQLTABLEPRIVILEGES  =  70;
58enum SQL_API_SQLDRIVERS          =  71;
59enum SQL_API_SQLBINDPARAMETER    =  72;
60enum SQL_API_LOADBYORDINAL       = 199;
61
62enum SQL_ASYNC_ENABLE = 4;
63enum SQL_ASYNC_ENABLE_OFF = 0UL;
64enum SQL_ASYNC_ENABLE_ON = 1UL;
65enum SQL_ASYNC_ENABLE_DEFAULT = SQL_ASYNC_ENABLE_OFF;
66
67enum SQL_ATTR_CONNECTION_DEAD = 1209;
68enum SQL_ATTR_READONLY = 0;
69enum SQL_ATTR_READWRITE_UNKNOWN = 2;
70enum SQL_ATTR_WRITE = 1;
71
72enum SQL_AUTOCOMMIT = 102;
73enum SQL_AUTOCOMMIT_OFF = 0UL;
74enum SQL_AUTOCOMMIT_ON = 1UL;
75enum SQL_AUTOCOMMIT_DEFAULT = SQL_AUTOCOMMIT_ON;
76enum SQL_BEST_ROWID = 1;
77enum SQL_BIGINT = -5;
78enum SQL_BINARY = -2;
79enum SQL_BIND_BY_COLUMN = 0UL;
80enum SQL_BIND_TYPE = 5;
81enum SQL_BIND_TYPE_DEFAULT = SQL_BIND_BY_COLUMN;
82enum SQL_BIT = -7;
83
84enum SQL_BOOKMARK_PERSISTENCE = 82;
85
86// for BOOKMARK_PERSISTENCE
87enum SQL_BP_CLOSE       = 1;
88enum SQL_BP_DELETE      = 2;
89enum SQL_BP_DROP        = 4;
90enum SQL_BP_TRANSACTION = 8;
91enum SQL_BP_UPDATE      = 16;
92enum SQL_BP_OTHER_HSTMT = 32;
93enum SQL_BP_SCROLL      = 64;
94
95enum SQL_C_BINARY    = SQL_BINARY;
96enum SQL_C_BIT       = SQL_BIT;
97enum SQL_C_CHAR      = SQL_CHAR;
98enum SQL_C_DATE      = SQL_DATE;
99enum SQL_C_DOUBLE    = SQL_DOUBLE;
100enum SQL_C_FLOAT     = SQL_REAL;
101enum SQL_C_LONG      = SQL_INTEGER;
102enum SQL_C_SHORT     = SQL_SMALLINT;
103enum SQL_C_SLONG     = SQL_C_LONG+SQL_SIGNED_OFFSET;
104enum SQL_C_SSHORT    = SQL_C_SHORT+SQL_SIGNED_OFFSET;
105enum SQL_C_STINYINT  = SQL_TINYINT+SQL_SIGNED_OFFSET;
106enum SQL_C_TIME      = SQL_TIME;
107enum SQL_C_TIMESTAMP = SQL_TIMESTAMP;
108enum SQL_C_TINYINT   = SQL_TINYINT;
109enum SQL_C_ULONG     = SQL_C_LONG+SQL_UNSIGNED_OFFSET;
110enum SQL_C_USHORT    = SQL_C_SHORT+SQL_UNSIGNED_OFFSET;
111enum SQL_C_UTINYINT  = SQL_TINYINT+SQL_UNSIGNED_OFFSET;
112enum SQL_C_BOOKMARK  = SQL_C_ULONG;
113enum SQL_C_DEFAULT   = 99;
114
115enum SQL_CASCADE = 0;
116enum SQL_CB_NON_NULL = 1;
117enum SQL_CB_NULL = 0;
118deprecated {
119enum SQL_CC_CLOSE = SQL_CB_CLOSE;/* deprecated */
120enum SQL_CC_DELETE = SQL_CB_DELETE;/* deprecated */
121enum SQL_CC_PRESERVE = SQL_CB_PRESERVE;/* deprecated */
122}
123enum SQL_CD_FALSE = 0L;
124enum SQL_CD_TRUE = 1L;
125
126enum SQL_CN_ANY = 2;
127enum SQL_CN_DIFFERENT = 1;
128enum SQL_CN_NONE = 0;
129
130enum SQL_COLUMN_ALIAS = 87;
131
132enum SQL_COLUMN_COUNT = 0;
133enum SQL_COLUMN_NAME = 1;
134enum SQL_COLUMN_DISPLAY_SIZE = 6;
135enum SQL_COLUMN_LABEL = 18;
136enum SQL_COLUMN_LENGTH = 3;
137enum SQL_COLUMN_MONEY = 9;
138enum SQL_COLUMN_NULLABLE = 7;
139enum SQL_COLUMN_OWNER_NAME = 16;
140enum SQL_COLUMN_PRECISION = 4;
141enum SQL_COLUMN_QUALIFIER_NAME = 17;
142enum SQL_COLUMN_SCALE = 5;
143enum SQL_COLUMN_UNSIGNED = 8;
144enum SQL_COLUMN_UPDATABLE = 10;
145enum SQL_COLUMN_AUTO_INCREMENT = 11;
146enum SQL_COLUMN_CASE_SENSITIVE = 12;
147enum SQL_COLUMN_SEARCHABLE = 13;
148enum SQL_COLUMN_TYPE = 2;
149enum SQL_COLUMN_TYPE_NAME = 14;
150enum SQL_COLUMN_TABLE_NAME = 15;
151
152enum SQL_CONCAT_NULL_BEHAVIOR = 22;
153
154enum SQL_CONCUR_READ_ONLY = 1;
155enum SQL_CONCUR_DEFAULT   = SQL_CONCUR_READ_ONLY;
156enum SQL_CONCUR_LOCK      = 2;
157enum SQL_CONCUR_ROWVER    = 3;
158enum SQL_CONCUR_TIMESTAMP = SQL_CONCUR_ROWVER;/* deprecated */
159enum SQL_CONCUR_VALUES    = 4;
160
161enum SQL_CONCURRENCY = 7;
162enum SQL_CONVERT_BIGINT = 53;
163enum SQL_CONVERT_BINARY = 54;
164enum SQL_CONVERT_BIT = 55;
165enum SQL_CONVERT_CHAR = 56;
166enum SQL_CONVERT_DATE = 57;
167enum SQL_CONVERT_DECIMAL = 58;
168enum SQL_CONVERT_DOUBLE = 59;
169enum SQL_CONVERT_FLOAT = 60;
170enum SQL_CONVERT_FUNCTIONS = 48;
171enum SQL_CONVERT_INTEGER = 61;
172enum SQL_CONVERT_LONGVARBINARY = 71;
173enum SQL_CONVERT_LONGVARCHAR = 62;
174enum SQL_CONVERT_NUMERIC = 63;
175enum SQL_CONVERT_REAL = 64;
176enum SQL_CONVERT_SMALLINT = 65;
177enum SQL_CONVERT_TIME = 66;
178enum SQL_CONVERT_TIMESTAMP = 67;
179enum SQL_CONVERT_TINYINT = 68;
180enum SQL_CONVERT_VARBINARY = 69;
181enum SQL_CONVERT_VARCHAR = 70;
182enum SQL_CORRELATION_NAME = 74;
183enum SQL_CR_CLOSE = SQL_CB_CLOSE;/* deprecated */
184enum SQL_CR_DELETE = SQL_CB_DELETE;/* deprecated */
185enum SQL_CR_PRESERVE = SQL_CB_PRESERVE;/* deprecated */
186
187enum : ULONG {
188    SQL_CUR_USE_IF_NEEDED = 0,
189    SQL_CUR_USE_ODBC,
190    SQL_CUR_USE_DRIVER,
191    SQL_CUR_DEFAULT = SQL_CUR_USE_DRIVER
192}
193
194enum SQL_CURRENT_QUALIFIER = 109;
195enum SQL_CURSOR_DYNAMIC = 2UL;
196enum SQL_CURSOR_FORWARD_ONLY = 0UL;
197enum SQL_CURSOR_KEYSET_DRIVEN = 1UL;
198enum SQL_CURSOR_ROLLBACK_BEHAVIOR = 24;
199enum SQL_CURSOR_STATIC = 3UL;
200enum SQL_CURSOR_TYPE = 6;
201enum SQL_CURSOR_TYPE_DEFAULT = SQL_CURSOR_FORWARD_ONLY;
202
203enum SQL_CV_CASCADED = 0x00000004L;
204enum SQL_CV_CHECK_OPTION = 0x00000002L;
205enum SQL_CV_CREATE_VIEW = 0x00000001L;
206enum SQL_CV_LOCAL = 0x00000008L;
207enum SQL_CVT_BIGINT = 0x00004000L;
208enum SQL_CVT_BINARY = 0x00000400L;
209enum SQL_CVT_BIT = 0x00001000L;
210enum SQL_CVT_CHAR = 0x00000001L;
211enum SQL_CVT_DATE = 0x00008000L;
212enum SQL_CVT_DECIMAL = 0x00000004L;
213enum SQL_CVT_DOUBLE = 0x00000080L;
214enum SQL_CVT_FLOAT = 0x00000020L;
215enum SQL_CVT_INTEGER = 0x00000008L;
216enum SQL_CVT_LONGVARBINARY = 0x00040000L;
217enum SQL_CVT_LONGVARCHAR = 0x00000200L;
218enum SQL_CVT_NUMERIC = 0x00000002L;
219enum SQL_CVT_REAL = 0x00000040L;
220enum SQL_CVT_SMALLINT = 0x00000010L;
221enum SQL_CVT_TIME = 0x00010000L;
222enum SQL_CVT_TIMESTAMP = 0x00020000L;
223enum SQL_CVT_TINYINT = 0x00002000L;
224enum SQL_CVT_VARBINARY = 0x00000800L;
225enum SQL_CVT_VARCHAR = 0x00000100L;
226enum SQL_DATABASE_NAME = 16;/* deprecated */
227
228enum SQL_DEFAULT_PARAM = -5;
229enum SQL_DELETE = 3;
230
231enum SQL_DRIVER_COMPLETE = 1;
232enum SQL_DRIVER_COMPLETE_REQUIRED = 3;
233enum SQL_DRIVER_HDBC = 3;
234enum SQL_DRIVER_HENV = 4;
235enum SQL_DRIVER_HLIB = 76;
236enum SQL_DRIVER_HSTMT = 5;
237enum SQL_DRIVER_NAME = 6;
238enum SQL_DRIVER_NOPROMPT = 0;
239enum SQL_DRIVER_ODBC_VER = 77;
240enum SQL_DRIVER_PROMPT = 2;
241enum SQL_DRIVER_VER = 7;
242
243enum SQL_DTC_ENLIST_EXPENSIVE = 1;
244enum SQL_DTC_UNENLIST_EXPENSIVE = 2;
245enum SQL_DTC_TRANSITION_COST = 1750;
246enum SQL_ENSURE = 1;
247enum SQL_ENTIRE_ROWSET = 0;
248enum SQL_EXPRESSIONS_IN_ORDERBY = 27;
249enum SQL_FD_FETCH_BOOKMARK = 128;
250enum SQL_FD_FETCH_PREV = SQL_FD_FETCH_PRIOR;/* deprecated */
251enum SQL_FD_FETCH_RESUME = 64;
252enum SQL_FETCH_BOOKMARK = 8;
253enum SQL_FETCH_PREV = SQL_FETCH_PRIOR;/* deprecated */
254enum SQL_FETCH_RESUME = 7;/* deprecated */
255
256enum SQL_FILE_NOT_SUPPORTED = 0x0000;
257enum SQL_FILE_TABLE = 0x0001;
258enum SQL_FILE_QUALIFIER = 0x0002;
259enum SQL_FILE_CATALOG = SQL_FILE_QUALIFIER;
260enum SQL_FILE_USAGE = 84;
261
262enum SQL_FN_CVT_CONVERT = 0x00000001L;
263enum SQL_FN_NUM_ABS = 0x00000001L;
264enum SQL_FN_NUM_ACOS = 0x00000002L;
265enum SQL_FN_NUM_ASIN = 0x00000004L;
266enum SQL_FN_NUM_ATAN = 0x00000008L;
267enum SQL_FN_NUM_ATAN2 = 0x00000010L;
268enum SQL_FN_NUM_CEILING = 0x00000020L;
269enum SQL_FN_NUM_COS = 0x00000040L;
270enum SQL_FN_NUM_COT = 0x00000080L;
271enum SQL_FN_NUM_DEGREES = 0x00040000L;
272enum SQL_FN_NUM_EXP = 0x00000100L;
273enum SQL_FN_NUM_FLOOR = 0x00000200L;
274enum SQL_FN_NUM_LOG = 0x00000400L;
275enum SQL_FN_NUM_LOG10 = 0x00080000L;
276enum SQL_FN_NUM_MOD = 0x00000800L;
277enum SQL_FN_NUM_PI = 0x00010000L;
278enum SQL_FN_NUM_POWER = 0x00100000L;
279enum SQL_FN_NUM_RADIANS = 0x00200000L;
280enum SQL_FN_NUM_RAND = 0x00020000L;
281enum SQL_FN_NUM_ROUND = 0x00400000L;
282enum SQL_FN_NUM_SIGN = 0x00001000L;
283enum SQL_FN_NUM_SIN = 0x00002000L;
284enum SQL_FN_NUM_SQRT = 0x00004000L;
285enum SQL_FN_NUM_TAN = 0x00008000L;
286enum SQL_FN_NUM_TRUNCATE = 0x00800000L;
287enum SQL_FN_STR_ASCII = 0x00002000L;
288enum SQL_FN_STR_CHAR = 0x00004000L;
289enum SQL_FN_STR_CONCAT = 0x00000001L;
290enum SQL_FN_STR_DIFFERENCE = 0x00008000L;
291enum SQL_FN_STR_INSERT = 0x00000002L;
292enum SQL_FN_STR_LCASE = 0x00000040L;
293enum SQL_FN_STR_LEFT = 0x00000004L;
294enum SQL_FN_STR_LENGTH = 0x00000010L;
295enum SQL_FN_STR_LOCATE = 0x00000020L;
296enum SQL_FN_STR_LOCATE_2 = 0x00010000L;
297enum SQL_FN_STR_LTRIM = 0x00000008L;
298enum SQL_FN_STR_REPEAT = 0x00000080L;
299enum SQL_FN_STR_REPLACE = 0x00000100L;
300enum SQL_FN_STR_RIGHT = 0x00000200L;
301enum SQL_FN_STR_RTRIM = 0x00000400L;
302enum SQL_FN_STR_SOUNDEX = 0x00020000L;
303enum SQL_FN_STR_SPACE = 0x00040000L;
304enum SQL_FN_STR_SUBSTRING = 0x00000800L;
305enum SQL_FN_STR_UCASE = 0x00001000L;
306enum SQL_FN_SYS_DBNAME = 0x00000002L;
307enum SQL_FN_SYS_IFNULL = 0x00000004L;
308enum SQL_FN_SYS_USERNAME = 0x00000001L;
309enum SQL_FN_TD_CURDATE = 0x00000002L;
310enum SQL_FN_TD_CURTIME = 0x00000200L;
311enum SQL_FN_TD_DAYNAME = 0x00008000L;
312enum SQL_FN_TD_DAYOFMONTH = 0x00000004L;
313enum SQL_FN_TD_DAYOFWEEK = 0x00000008L;
314enum SQL_FN_TD_DAYOFYEAR = 0x00000010L;
315enum SQL_FN_TD_HOUR = 0x00000400L;
316enum SQL_FN_TD_MINUTE = 0x00000800L;
317enum SQL_FN_TD_MONTH = 0x00000020L;
318enum SQL_FN_TD_MONTHNAME = 0x00010000L;
319enum SQL_FN_TD_NOW = 0x00000001L;
320enum SQL_FN_TD_QUARTER = 0x00000040L;
321enum SQL_FN_TD_SECOND = 0x00001000L;
322enum SQL_FN_TD_TIMESTAMPADD = 0x00002000L;
323enum SQL_FN_TD_TIMESTAMPDIFF = 0x00004000L;
324enum SQL_FN_TD_WEEK = 0x00000080L;
325enum SQL_FN_TD_YEAR = 0x00000100L;
326enum SQL_FN_TSI_DAY = 0x00000010L;
327enum SQL_FN_TSI_FRAC_SECOND = 0x00000001L;
328enum SQL_FN_TSI_HOUR = 0x00000008L;
329enum SQL_FN_TSI_MINUTE = 0x00000004L;
330enum SQL_FN_TSI_MONTH = 0x00000040L;
331enum SQL_FN_TSI_QUARTER = 0x00000080L;
332enum SQL_FN_TSI_SECOND = 0x00000002L;
333enum SQL_FN_TSI_WEEK = 0x00000020L;
334enum SQL_FN_TSI_YEAR = 0x00000100L;
335enum SQL_GB_GROUP_BY_CONTAINS_SELECT = 2;
336enum SQL_GB_GROUP_BY_EQUALS_SELECT = 1;
337enum SQL_GB_NO_RELATION = 3;
338enum SQL_GB_NOT_SUPPORTED = 0;
339enum SQL_GD_BLOCK = 4;
340enum SQL_GD_BOUND = 8;
341enum SQL_GET_BOOKMARK = 13;
342enum SQL_GROUP_BY = 88;
343enum SQL_IGNORE = -6;
344enum SQL_INFO_FIRST = 0;
345enum SQL_KEYSET_SIZE = 8;
346enum SQL_KEYSET_SIZE_DEFAULT = 0UL;
347enum SQL_KEYWORDS = 89;
348enum SQL_LCK_EXCLUSIVE = 2;
349enum SQL_LCK_NO_CHANGE = 1;
350enum SQL_LCK_UNLOCK = 4;
351
352enum SQL_LEN_BINARY_ATTR_OFFSET  = -100;
353enum SQL_LEN_DATA_AT_EXEC_OFFSET = -100;
354//MACRO #define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
355//MACRO #define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
356
357enum SQL_LIKE_ESCAPE_CLAUSE = 113;
358enum SQL_LIKE_ONLY = 1;
359enum SQL_LOCK_EXCLUSIVE = 1;
360enum SQL_LOCK_NO_CHANGE = 0;
361enum SQL_LOCK_TYPES = 78;
362enum SQL_LOCK_UNLOCK = 2;
363enum SQL_LOGIN_TIMEOUT = 103;
364enum SQL_LOGIN_TIMEOUT_DEFAULT = 15UL;
365enum SQL_LONGVARBINARY = -4;
366enum SQL_LONGVARCHAR = -1;
367enum SQL_MAX_BINARY_LITERAL_LEN = 112;
368enum SQL_MAX_CHAR_LITERAL_LEN = 108;
369enum SQL_MAX_DSN_LENGTH = 32;
370enum SQL_MAX_LENGTH = 3;
371enum SQL_MAX_LENGTH_DEFAULT = 0UL;
372enum SQL_MAX_OPTION_STRING_LENGTH = 256;
373enum SQL_MAX_OWNER_NAME_LEN = 32;
374enum SQL_MAX_PROCEDURE_NAME_LEN = 33;
375enum SQL_MAX_QUALIFIER_NAME_LEN = 34;
376enum SQL_MAX_ROW_SIZE_INCLUDES_LONG = 103;
377enum SQL_MAX_ROWS = 1;
378enum SQL_MAX_ROWS_DEFAULT = 0UL;
379
380enum SQL_MODE_READ_WRITE = 0UL;
381enum SQL_MODE_READ_ONLY = 1UL;
382enum SQL_MODE_DEFAULT = SQL_MODE_READ_WRITE;
383
384enum SQL_MULT_RESULT_SETS = 36;
385enum SQL_MULTIPLE_ACTIVE_TXN = 37;
386enum SQL_NC_END = 0x0004;
387enum SQL_NC_START = 0x0002;
388enum SQL_NEED_LONG_DATA_LEN = 111;
389enum SQL_NNC_NON_NULL = 0x0001;
390enum SQL_NNC_NULL = 0x0000;
391enum SQL_NO_TOTAL = -4;
392enum SQL_NON_NULLABLE_COLUMNS = 75;
393
394enum SQL_NOSCAN_OFF = 0UL;
395enum SQL_NOSCAN_ON = 1UL;
396enum SQL_NOSCAN = 2;
397enum SQL_NOSCAN_DEFAULT = SQL_NOSCAN_OFF;
398
399enum SQL_NUMERIC_FUNCTIONS = 49;
400enum SQL_OAC_LEVEL1 = 0x0001;
401enum SQL_OAC_LEVEL2 = 0x0002;
402enum SQL_OAC_NONE = 0x0000;
403enum SQL_ODBC_API_CONFORMANCE = 9;
404enum SQL_ODBC_CURSORS = 110;
405enum SQL_ODBC_SAG_CLI_CONFORMANCE = 12;
406enum SQL_ODBC_SQL_CONFORMANCE = 15;
407enum SQL_ODBC_SQL_OPT_IEF = 73;
408enum SQL_ODBC_VER = 10;
409enum SQL_OPT_TRACE = 104;
410
411enum SQL_OPT_TRACE_FILE_DEFAULT = "\\SQL.LOG";
412enum SQL_OPT_TRACE_OFF = 0UL;
413enum SQL_OPT_TRACE_DEFAULT = SQL_OPT_TRACE_OFF;
414enum SQL_OPT_TRACE_ON = 1UL;
415
416enum SQL_OPT_TRACEFILE = 105;
417enum SQL_OSC_CORE = 1;
418enum SQL_OSC_EXTENDED = 2;
419enum SQL_OSC_MINIMUM = 0;
420enum SQL_OSCC_COMPLIANT = 1;
421enum SQL_OSCC_NOT_COMPLIANT = 0;
422enum SQL_OU_DML_STATEMENTS = 1;
423enum SQL_OU_INDEX_DEFINITION = 8;
424enum SQL_OU_PRIVILEGE_DEFINITION = 16;
425enum SQL_OU_PROCEDURE_INVOCATION = 2;
426enum SQL_OU_TABLE_DEFINITION = 4;
427enum SQL_OUTER_JOINS = 38;
428enum SQL_OWNER_TERM = 39;
429enum SQL_OWNER_USAGE = 91;
430enum SQL_PACKET_SIZE = 112;
431enum SQL_PARAM_INPUT = 1;
432enum SQL_PARAM_INPUT_OUTPUT = 2;
433enum SQL_PARAM_OUTPUT = 4;
434enum SQL_PARAM_TYPE_DEFAULT = SQL_PARAM_INPUT_OUTPUT;
435enum SQL_PARAM_TYPE_UNKNOWN = 0;
436enum SQL_PC_NOT_PSEUDO = 1;
437enum SQL_POS_ADD = 16;
438enum SQL_POS_DELETE = 8;
439enum SQL_POS_OPERATIONS = 79;
440enum SQL_POS_POSITION = 1;
441enum SQL_POS_REFRESH = 2;
442enum SQL_POS_UPDATE = 4;
443enum SQL_POSITION = 0;
444enum SQL_POSITIONED_STATEMENTS = 80;
445enum SQL_PROCEDURE_TERM = 40;
446enum SQL_PROCEDURES = 21;
447enum SQL_PS_POSITIONED_DELETE = 1;
448enum SQL_PS_POSITIONED_UPDATE = 2;
449enum SQL_PS_SELECT_FOR_UPDATE = 4;
450enum SQL_PT_FUNCTION = 2;
451enum SQL_PT_PROCEDURE = 1;
452enum SQL_PT_UNKNOWN = 0;
453enum SQL_QL_END = 0x0002;
454enum SQL_QL_START = 0x0001;
455enum SQL_QU_DML_STATEMENTS = 1;
456enum SQL_QU_INDEX_DEFINITION = 8;
457enum SQL_QU_PRIVILEGE_DEFINITION = 16;
458enum SQL_QU_PROCEDURE_INVOCATION = 2;
459enum SQL_QU_TABLE_DEFINITION = 4;
460enum SQL_QUALIFIER_LOCATION = 114;
461enum SQL_QUALIFIER_NAME_SEPARATOR = 41;
462enum SQL_QUALIFIER_TERM = 42;
463enum SQL_QUALIFIER_USAGE = 92;
464enum SQL_QUERY_TIMEOUT = 0;
465enum SQL_QUERY_TIMEOUT_DEFAULT = 0UL;
466enum SQL_QUICK = 0;
467enum SQL_QUIET_MODE = 111;
468enum SQL_QUOTED_IDENTIFIER_CASE = 93;
469
470enum SQL_RD_OFF = 0UL;
471enum SQL_RD_ON = 1UL;
472enum SQL_RD_DEFAULT = SQL_RD_ON;
473
474enum SQL_REFRESH = 1;
475enum SQL_RESTRICT = 1;
476enum SQL_RESULT_COL = 3;
477enum SQL_RETRIEVE_DATA = 11;
478enum SQL_RETURN_VALUE = 5;
479enum SQL_ROW_ADDED = 4;
480enum SQL_ROW_DELETED = 1;
481enum SQL_ROW_ERROR = 5;
482enum SQL_ROW_NOROW = 3;
483enum SQL_ROW_NUMBER = 14;
484enum SQL_ROW_SUCCESS = 0;
485enum SQL_ROW_UPDATED = 2;
486enum SQL_ROW_UPDATES = 11;
487enum SQL_ROWSET_SIZE = 9;
488enum SQL_ROWSET_SIZE_DEFAULT = 1UL;
489enum SQL_ROWVER = 2;
490enum SQL_SC_NON_UNIQUE = 0UL;
491enum SQL_SC_TRY_UNIQUE = 1UL;
492enum SQL_SC_UNIQUE = 2UL;
493enum SQL_SCCO_OPT_TIMESTAMP = SQL_SCCO_OPT_ROWVER;/* deprecated */
494enum SQL_SCROLL_DYNAMIC = -2L;/* deprecated */
495enum SQL_SCROLL_FORWARD_ONLY = 0L;/* deprecated */
496enum SQL_SCROLL_KEYSET_DRIVEN = -1L;/* deprecated */
497enum SQL_SCROLL_OPTIONS = 44;
498enum SQL_SCROLL_STATIC = -3L;/* deprecated */
499enum SQL_SEARCHABLE = 3;
500enum SQL_SET_NULL = 2;
501enum SQL_SETPARAM_VALUE_MAX = -1L;
502enum SQL_SETPOS_MAX_LOCK_VALUE = SQL_LOCK_UNLOCK;
503enum SQL_SETPOS_MAX_OPTION_VALUE = SQL_ADD;
504enum SQL_SIMULATE_CURSOR = 10;
505enum SQL_SO_DYNAMIC = 4;
506enum SQL_SO_FORWARD_ONLY = 1;
507enum SQL_SO_KEYSET_DRIVEN = 2;
508enum SQL_SO_MIXED = 8;
509enum SQL_SO_STATIC = 16;
510enum SQL_SQ_COMPARISON = 1;
511enum SQL_SQ_CORRELATED_SUBQUERIES = 16;
512enum SQL_SQ_EXISTS = 2;
513enum SQL_SQ_IN = 4;
514enum SQL_SQ_QUANTIFIED = 8;
515enum SQL_SQLSTATE_SIZE = 5;
516enum SQL_SS_ADDITIONS = 1;
517enum SQL_SS_DELETIONS = 2;
518enum SQL_SS_UPDATES = 4;
519enum SQL_STATIC_SENSITIVITY = 83;
520enum SQL_STRING_FUNCTIONS = 50;
521enum SQL_SUBQUERIES = 95;
522enum SQL_SYSTEM_FUNCTIONS = 51;
523enum SQL_TABLE_STAT = 0;
524enum SQL_TABLE_TERM = 45;
525enum SQL_TIMEDATE_ADD_INTERVALS = 109;
526enum SQL_TIMEDATE_DIFF_INTERVALS = 110;
527enum SQL_TIMEDATE_FUNCTIONS = 52;
528enum SQL_TRANSLATE_DLL = 106;
529enum SQL_TRANSLATE_OPTION = 107;
530enum SQL_TXN_ISOLATION = 108;
531enum SQL_TXN_VERSIONING = 16;
532enum SQL_TYPE_NULL = 0;
533enum SQL_U_UNION = 1;
534enum SQL_U_UNION_ALL = 2;
535
536enum SQL_UB_OFF = 0UL;
537enum SQL_UB_DEFAULT = SQL_UB_OFF;
538enum SQL_UB_ON = 1UL;
539
540enum SQL_UNION = 96;
541enum SQL_UNSEARCHABLE = 0;
542enum SQL_UPDATE = 2;
543enum SQL_USE_BOOKMARKS = 12;
544enum SQL_VARBINARY = -3;
545
546enum SQL_COLATT_OPT_MAX = SQL_COLUMN_LABEL;
547enum SQL_COLATT_OPT_MIN = SQL_COLUMN_COUNT;
548enum SQL_PRED_SEARCHABLE = SQL_SEARCHABLE;
549
550//MACRO #define SQL_POSITION_TO(s, r) SQLSetPos(s, r, SQL_POSITION, SQL_LOCK_NO_CHANGE)
551
552//MACRO #define SQL_LOCK_RECORD(s, r, l) SQLSetPos(s, r, SQL_POSITION, l)
553
554//MACRO #define SQL_REFRESH_RECORD(s, r, l) SQLSetPos(s, r, SQL_REFRESH, l)
555
556//MACRO #define SQL_UPDATE_RECORD(s, r) SQLSetPos(s, r, SQL_UPDATE, SQL_LOCK_NO_CHANGE)
557
558//MACRO #define SQL_DELETE_RECORD(s, r) SQLSetPos(s, r, SQL_DELETE, SQL_LOCK_NO_CHANGE)
559
560//MACRO #define SQL_ADD_RECORD(s, r) SQLSetPos(s, r, SQL_ADD, SQL_LOCK_NO_CHANGE)
561
562
563static if (ODBCVER < 0x0300) {
564enum SQL_CONNECT_OPT_DRVR_START = 1000;
565enum SQL_CONN_OPT_MAX = SQL_PACKET_SIZE;
566enum SQL_CONN_OPT_MIN = SQL_ACCESS_MODE;
567enum SQL_STMT_OPT_MAX = SQL_ROW_NUMBER;
568enum SQL_STMT_OPT_MIN = SQL_QUERY_TIMEOUT;
569enum SQL_TYPE_DRIVER_START = SQL_INTERVAL_YEAR;
570enum SQL_TYPE_DRIVER_END = SQL_UNICODE_LONGVARCHAR;
571enum SQL_TYPE_MIN = SQL_BIT;
572enum SQL_TYPE_MAX = SQL_VARCHAR;
573}
574
575static if (ODBCVER < 0x0300) {
576enum SQL_NO_DATA_FOUND = 100;
577enum SQL_INTERVAL_YEAR = -80;
578enum SQL_INTERVAL_MONTH = -81;
579enum SQL_INTERVAL_YEAR_TO_MONTH = -82;
580enum SQL_INTERVAL_DAY = -83;
581enum SQL_INTERVAL_HOUR = -84;
582enum SQL_INTERVAL_MINUTE = -85;
583enum SQL_INTERVAL_SECOND = -86;
584enum SQL_INTERVAL_DAY_TO_HOUR = -87;
585enum SQL_INTERVAL_DAY_TO_MINUTE = -88;
586enum SQL_INTERVAL_DAY_TO_SECOND = -89;
587enum SQL_INTERVAL_HOUR_TO_MINUTE = -90;
588enum SQL_INTERVAL_HOUR_TO_SECOND = -91;
589enum SQL_INTERVAL_MINUTE_TO_SECOND = -92;
590} else {
591enum SQL_NO_DATA_FOUND = SQL_NO_DATA;
592enum SQL_CODE_YEAR = 1;
593enum SQL_CODE_MONTH = 2;
594enum SQL_CODE_DAY = 3;
595enum SQL_CODE_HOUR = 4;
596enum SQL_CODE_MINUTE = 5;
597enum SQL_CODE_SECOND = 6;
598enum SQL_CODE_YEAR_TO_MONTH = 7;
599enum SQL_CODE_DAY_TO_HOUR = 8;
600enum SQL_CODE_DAY_TO_MINUTE = 9;
601enum SQL_CODE_DAY_TO_SECOND = 10;
602enum SQL_CODE_HOUR_TO_MINUTE = 11;
603enum SQL_CODE_HOUR_TO_SECOND = 12;
604enum SQL_CODE_MINUTE_TO_SECOND = 13;
605enum SQL_INTERVAL_YEAR = 100 + SQL_CODE_YEAR;
606enum SQL_INTERVAL_MONTH = 100 + SQL_CODE_MONTH;
607enum SQL_INTERVAL_DAY = 100 + SQL_CODE_DAY;
608enum SQL_INTERVAL_HOUR = 100 + SQL_CODE_HOUR;
609enum SQL_INTERVAL_MINUTE = 100 + SQL_CODE_MINUTE;
610enum SQL_INTERVAL_SECOND = 100 + SQL_CODE_SECOND;
611enum SQL_INTERVAL_YEAR_TO_MONTH = 100 + SQL_CODE_YEAR_TO_MONTH;
612enum SQL_INTERVAL_DAY_TO_HOUR = 100 + SQL_CODE_DAY_TO_HOUR;
613enum SQL_INTERVAL_DAY_TO_MINUTE = 100 + SQL_CODE_DAY_TO_MINUTE;
614enum SQL_INTERVAL_DAY_TO_SECOND = 100 + SQL_CODE_DAY_TO_SECOND;
615enum SQL_INTERVAL_HOUR_TO_MINUTE = 100 + SQL_CODE_HOUR_TO_MINUTE;
616enum SQL_INTERVAL_HOUR_TO_SECOND = 100 + SQL_CODE_HOUR_TO_SECOND;
617enum SQL_INTERVAL_MINUTE_TO_SECOND = 100 + SQL_CODE_MINUTE_TO_SECOND;
618}//[Yes] #endif
619
620
621static if ((ODBCVER >= 0x0201) && (ODBCVER < 0x0300)) {
622enum SQL_OJ_CAPABILITIES = 65003;
623}
624
625static if (ODBCVER >= 0x0250) {
626enum SQL_NO_ACTION   = 3;
627enum SQL_SET_DEFAULT = 4;
628}
629
630static if (ODBCVER >= 0x0300) {
631enum SQL_ACTIVE_ENVIRONMENTS = 116;
632enum SQL_AD_ADD_CONSTRAINT_DEFERRABLE = 0x00000080L;
633enum SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
634enum SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
635enum SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
636enum SQL_AD_ADD_DOMAIN_CONSTRAINT = 0x00000002L;
637enum SQL_AD_ADD_DOMAIN_DEFAULT = 0x00000008L;
638enum SQL_AD_CONSTRAINT_NAME_DEFINITION = 0x00000001L;
639enum SQL_AD_DROP_DOMAIN_CONSTRAINT = 0x00000004L;
640enum SQL_AD_DROP_DOMAIN_DEFAULT = 0x00000010L;
641enum SQL_AF_ALL = 0x00000040L;
642enum SQL_AF_AVG = 0x00000001L;
643enum SQL_AF_COUNT = 0x00000002L;
644enum SQL_AF_DISTINCT = 0x00000020L;
645enum SQL_AF_MAX = 0x00000004L;
646enum SQL_AF_MIN = 0x00000008L;
647enum SQL_AF_SUM = 0x00000010L;
648enum SQL_AGGREGATE_FUNCTIONS = 169;
649enum SQL_ALL_CATALOGS = "%";
650enum SQL_ALL_SCHEMAS = "%";
651enum SQL_ALL_TABLE_TYPES = "%";
652enum SQL_ALTER_DOMAIN = 117;
653enum SQL_AM_CONNECTION = 1;
654enum SQL_AM_NONE = 0;
655enum SQL_AM_STATEMENT = 2;
656enum SQL_API_ODBC3_ALL_FUNCTIONS = 999;
657enum SQL_API_ODBC3_ALL_FUNCTIONS_SIZE = 250;
658enum SQL_API_SQLALLOCHANDLESTD = 73;
659enum SQL_API_SQLBULKOPERATIONS = 24;
660enum SQL_ASYNC_MODE = 10021;
661enum SQL_AT_ADD_COLUMN_COLLATION = 0x00000080L;
662enum SQL_AT_ADD_COLUMN_DEFAULT = 0x00000040L;
663enum SQL_AT_ADD_COLUMN_SINGLE = 0x00000020L;
664enum SQL_AT_ADD_TABLE_CONSTRAINT = 0x00001000L;
665enum SQL_AT_CONSTRAINT_DEFERRABLE = 0x00040000L;
666enum SQL_AT_CONSTRAINT_INITIALLY_DEFERRED = 0x00010000L;
667enum SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00020000L;
668enum SQL_AT_CONSTRAINT_NAME_DEFINITION = 0x00008000L;
669enum SQL_AT_CONSTRAINT_NON_DEFERRABLE = 0x00080000L;
670enum SQL_AT_DROP_COLUMN_CASCADE = 0x00000400L;
671enum SQL_AT_DROP_COLUMN_DEFAULT = 0x00000200L;
672enum SQL_AT_DROP_COLUMN_RESTRICT = 0x00000800L;
673enum SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE = 0x00002000L;
674enum SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = 0x00004000L;
675enum SQL_AT_SET_COLUMN_DEFAULT = 0x00000100L;
676enum SQL_ATTR_ACCESS_MODE = SQL_ACCESS_MODE;
677enum SQL_ATTR_ASYNC_ENABLE = 4;
678enum SQL_ATTR_AUTOCOMMIT = SQL_AUTOCOMMIT;
679enum SQL_ATTR_CONCURRENCY = SQL_CONCURRENCY;
680enum SQL_ATTR_CONNECTION_POOLING = 201;
681enum SQL_ATTR_CONNECTION_TIMEOUT = 113;
682enum SQL_ATTR_CP_MATCH = 202;
683enum SQL_ATTR_CURRENT_CATALOG = SQL_CURRENT_QUALIFIER;
684enum SQL_ATTR_CURSOR_TYPE = SQL_CURSOR_TYPE;
685enum SQL_ATTR_DISCONNECT_BEHAVIOR = 114;
686enum SQL_ATTR_ENABLE_AUTO_IPD = 15;
687enum SQL_ATTR_ENLIST_IN_DTC = 1207;
688enum SQL_ATTR_ENLIST_IN_XA = 1208;
689enum SQL_ATTR_FETCH_BOOKMARK_PTR = 16;
690enum SQL_ATTR_KEYSET_SIZE = SQL_KEYSET_SIZE;
691enum SQL_ATTR_LOGIN_TIMEOUT = SQL_LOGIN_TIMEOUT;
692enum SQL_ATTR_MAX_LENGTH = SQL_MAX_LENGTH;
693enum SQL_ATTR_MAX_ROWS = SQL_MAX_ROWS;
694enum SQL_ATTR_NOSCAN = SQL_NOSCAN;
695enum SQL_ATTR_ODBC_CURSORS = SQL_ODBC_CURSORS;
696enum SQL_ATTR_ODBC_VERSION = 200;
697enum SQL_ATTR_PACKET_SIZE = SQL_PACKET_SIZE;
698enum SQL_ATTR_PARAM_BIND_OFFSET_PTR = 17;
699enum SQL_ATTR_PARAM_BIND_TYPE = 18;
700enum SQL_ATTR_PARAM_OPERATION_PTR = 19;
701enum SQL_ATTR_PARAM_STATUS_PTR = 20;
702enum SQL_ATTR_PARAMS_PROCESSED_PTR = 21;
703enum SQL_ATTR_PARAMSET_SIZE = 22;
704enum SQL_ATTR_QUERY_TIMEOUT = SQL_QUERY_TIMEOUT;
705enum SQL_ATTR_QUIET_MODE = SQL_QUIET_MODE;
706enum SQL_ATTR_RETRIEVE_DATA = SQL_RETRIEVE_DATA;
707enum SQL_ATTR_ROW_ARRAY_SIZE = 27;
708enum SQL_ATTR_ROW_BIND_OFFSET_PTR = 23;
709enum SQL_ATTR_ROW_BIND_TYPE = SQL_BIND_TYPE;
710enum SQL_ATTR_ROW_NUMBER = SQL_ROW_NUMBER;
711enum SQL_ATTR_ROW_OPERATION_PTR = 24;
712enum SQL_ATTR_ROW_STATUS_PTR = 25;
713enum SQL_ATTR_ROWS_FETCHED_PTR = 26;
714enum SQL_ATTR_SIMULATE_CURSOR = SQL_SIMULATE_CURSOR;
715enum SQL_ATTR_TRACE = SQL_OPT_TRACE;
716enum SQL_ATTR_TRACEFILE = SQL_OPT_TRACEFILE;
717enum SQL_ATTR_TRANSLATE_LIB = SQL_TRANSLATE_DLL;
718enum SQL_ATTR_TRANSLATE_OPTION = SQL_TRANSLATE_OPTION;
719enum SQL_ATTR_TXN_ISOLATION = SQL_TXN_ISOLATION;
720enum SQL_ATTR_USE_BOOKMARKS = SQL_USE_BOOKMARKS;
721enum SQL_BATCH_ROW_COUNT = 120;
722enum SQL_BATCH_SUPPORT = 121;
723enum SQL_BRC_EXPLICIT = 0x0000002;
724enum SQL_BRC_PROCEDURES = 0x0000001;
725enum SQL_BRC_ROLLED_UP = 0x0000004;
726enum SQL_BS_ROW_COUNT_EXPLICIT = 0x00000002L;
727enum SQL_BS_ROW_COUNT_PROC = 0x00000008L;
728enum SQL_BS_SELECT_EXPLICIT = 0x00000001L;
729enum SQL_BS_SELECT_PROC = 0x00000004L;
730enum SQL_C_INTERVAL_DAY = SQL_INTERVAL_DAY;
731enum SQL_C_INTERVAL_DAY_TO_HOUR = SQL_INTERVAL_DAY_TO_HOUR;
732enum SQL_C_INTERVAL_DAY_TO_MINUTE = SQL_INTERVAL_DAY_TO_MINUTE;
733enum SQL_C_INTERVAL_DAY_TO_SECOND = SQL_INTERVAL_DAY_TO_SECOND;
734enum SQL_C_INTERVAL_HOUR = SQL_INTERVAL_HOUR;
735enum SQL_C_INTERVAL_HOUR_TO_MINUTE = SQL_INTERVAL_HOUR_TO_MINUTE;
736enum SQL_C_INTERVAL_HOUR_TO_SECOND = SQL_INTERVAL_HOUR_TO_SECOND;
737enum SQL_C_INTERVAL_MINUTE = SQL_INTERVAL_MINUTE;
738enum SQL_C_INTERVAL_MINUTE_TO_SECOND = SQL_INTERVAL_MINUTE_TO_SECOND;
739enum SQL_C_INTERVAL_MONTH = SQL_INTERVAL_MONTH;
740enum SQL_C_INTERVAL_SECOND = SQL_INTERVAL_SECOND;
741enum SQL_C_INTERVAL_YEAR = SQL_INTERVAL_YEAR;
742enum SQL_C_INTERVAL_YEAR_TO_MONTH = SQL_INTERVAL_YEAR_TO_MONTH;
743enum SQL_C_NUMERIC = SQL_NUMERIC;
744enum SQL_C_SBIGINT = SQL_BIGINT+SQL_SIGNED_OFFSET;
745enum SQL_C_TYPE_DATE = SQL_TYPE_DATE;
746enum SQL_C_TYPE_TIME = SQL_TYPE_TIME;
747enum SQL_C_TYPE_TIMESTAMP = SQL_TYPE_TIMESTAMP;
748enum SQL_C_UBIGINT = SQL_BIGINT+SQL_UNSIGNED_OFFSET;
749enum SQL_C_VARBOOKMARK = SQL_C_BINARY;
750enum SQL_CA_CONSTRAINT_DEFERRABLE = 0x00000040L;
751enum SQL_CA_CONSTRAINT_INITIALLY_DEFERRED = 0x00000010L;
752enum SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000020L;
753enum SQL_CA_CONSTRAINT_NON_DEFERRABLE = 0x00000080L;
754enum SQL_CA_CREATE_ASSERTION = 0x00000001L;
755enum SQL_CA1_ABSOLUTE = 0x00000002L;
756enum SQL_CA1_BOOKMARK = 0x00000008L;
757enum SQL_CA1_BULK_ADD = 0x00010000L;
758enum SQL_CA1_BULK_DELETE_BY_BOOKMARK = 0x00040000L;
759enum SQL_CA1_BULK_FETCH_BY_BOOKMARK = 0x00080000L;
760enum SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 0x00020000L;
761enum SQL_CA1_LOCK_EXCLUSIVE = 0x00000080L;
762enum SQL_CA1_LOCK_NO_CHANGE = 0x00000040L;
763enum SQL_CA1_LOCK_UNLOCK = 0x00000100L;
764enum SQL_CA1_NEXT = 0x00000001L;
765enum SQL_CA1_POS_DELETE = 0x00000800L;
766enum SQL_CA1_POS_POSITION = 0x00000200L;
767enum SQL_CA1_POS_REFRESH = 0x00001000L;
768enum SQL_CA1_POS_UPDATE = 0x00000400L;
769enum SQL_CA1_POSITIONED_DELETE = 0x00004000L;
770enum SQL_CA1_POSITIONED_UPDATE = 0x00002000L;
771enum SQL_CA1_RELATIVE = 0x00000004L;
772enum SQL_CA1_SELECT_FOR_UPDATE = 0x00008000L;
773enum SQL_CA2_CRC_APPROXIMATE = 0x00002000L;
774enum SQL_CA2_CRC_EXACT = 0x00001000L;
775enum SQL_CA2_LOCK_CONCURRENCY = 0x00000002L;
776
777enum SQL_CA2_MAX_ROWS_CATALOG = 0x00000800L;
778enum SQL_CA2_MAX_ROWS_DELETE  = 0x00000200L;
779enum SQL_CA2_MAX_ROWS_INSERT  = 0x00000100L;
780enum SQL_CA2_MAX_ROWS_SELECT  = 0x00000080L;
781enum SQL_CA2_MAX_ROWS_UPDATE  = 0x00000400L;
782enum SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT |
783        SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG;
784
785enum SQL_CA2_OPT_ROWVER_CONCURRENCY = 0x00000004L;
786enum SQL_CA2_OPT_VALUES_CONCURRENCY = 0x00000008L;
787enum SQL_CA2_READ_ONLY_CONCURRENCY = 0x00000001L;
788enum SQL_CA2_SENSITIVITY_ADDITIONS = 0x00000010L;
789enum SQL_CA2_SENSITIVITY_DELETIONS = 0x00000020L;
790enum SQL_CA2_SENSITIVITY_UPDATES = 0x00000040L;
791enum SQL_CA2_SIMULATE_NON_UNIQUE = 0x00004000L;
792enum SQL_CA2_SIMULATE_TRY_UNIQUE = 0x00008000L;
793enum SQL_CA2_SIMULATE_UNIQUE = 0x00010000L;
794enum SQL_CATALOG_LOCATION = SQL_QUALIFIER_LOCATION;
795enum SQL_CATALOG_NAME_SEPARATOR = SQL_QUALIFIER_NAME_SEPARATOR;
796enum SQL_CATALOG_TERM = SQL_QUALIFIER_TERM;
797enum SQL_CATALOG_USAGE = SQL_QUALIFIER_USAGE;
798enum SQL_CCOL_CREATE_COLLATION = 0x00000001L;
799enum SQL_CCS_COLLATE_CLAUSE = 0x00000002L;
800enum SQL_CCS_CREATE_CHARACTER_SET = 0x00000001L;
801enum SQL_CCS_LIMITED_COLLATION = 0x00000004L;
802enum SQL_CDO_COLLATION = 0x00000008L;
803enum SQL_CDO_CONSTRAINT = 0x00000004L;
804enum SQL_CDO_CONSTRAINT_DEFERRABLE = 0x00000080L;
805enum SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
806enum SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
807enum SQL_CDO_CONSTRAINT_NAME_DEFINITION = 0x00000010L;
808enum SQL_CDO_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
809enum SQL_CDO_CREATE_DOMAIN = 0x00000001L;
810enum SQL_CDO_DEFAULT = 0x00000002L;
811enum SQL_CL_END = SQL_QL_END;
812enum SQL_CL_START = SQL_QL_START;
813enum SQL_COL_PRED_BASIC = SQL_ALL_EXCEPT_LIKE;
814enum SQL_COL_PRED_CHAR = SQL_LIKE_ONLY;
815enum SQL_COLUMN_DRIVER_START = 1000;
816enum SQL_COLUMN_IGNORE = SQL_IGNORE;
817enum SQL_COLUMN_NUMBER_UNKNOWN = -2;
818enum SQL_CONVERT_GUID = 173;
819
820enum SQL_CONVERT_WCHAR               = 122;
821enum SQL_CONVERT_INTERVAL_DAY_TIME   = 123;
822enum SQL_CONVERT_INTERVAL_YEAR_MONTH = 124;
823enum SQL_CONVERT_WLONGVARCHAR        = 125;
824enum SQL_CONVERT_WVARCHAR            = 126;
825
826enum SQL_CREATE_ASSERTION     = 127;
827enum SQL_CREATE_CHARACTER_SET = 128;
828enum SQL_CREATE_COLLATION     = 129;
829enum SQL_CREATE_DOMAIN        = 130;
830enum SQL_CREATE_SCHEMA        = 131;
831enum SQL_CREATE_TABLE         = 132;
832enum SQL_CREATE_TRANSLATION   = 133;
833enum SQL_CREATE_VIEW          = 134;
834
835
836enum SQL_CP_OFF            = 0UL;
837enum SQL_CP_DEFAULT        = SQL_CP_OFF;
838enum SQL_CP_ONE_PER_DRIVER = 1UL;
839enum SQL_CP_ONE_PER_HENV   = 2UL;
840
841enum SQL_CP_STRICT_MATCH  = 0UL;
842enum SQL_CP_MATCH_DEFAULT = SQL_CP_STRICT_MATCH;
843enum SQL_CP_RELAXED_MATCH = 1UL;
844
845enum SQL_CS_CREATE_SCHEMA         = 0x00000001L;
846enum SQL_CS_AUTHORIZATION         = 0x00000002L;
847enum SQL_CS_DEFAULT_CHARACTER_SET = 0x00000004L;
848
849enum SQL_CT_COLUMN_COLLATION = 0x00000800L;
850enum SQL_CT_COLUMN_CONSTRAINT = 0x00000200L;
851enum SQL_CT_COLUMN_DEFAULT = 0x00000400L;
852enum SQL_CT_COMMIT_DELETE = 0x00000004L;
853enum SQL_CT_COMMIT_PRESERVE = 0x00000002L;
854enum SQL_CT_CONSTRAINT_DEFERRABLE = 0x00000080L;
855enum SQL_CT_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
856enum SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
857enum SQL_CT_CONSTRAINT_NAME_DEFINITION = 0x00002000L;
858enum SQL_CT_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
859enum SQL_CT_CREATE_TABLE = 0x00000001L;
860enum SQL_CT_GLOBAL_TEMPORARY = 0x00000008L;
861enum SQL_CT_LOCAL_TEMPORARY = 0x00000010L;
862enum SQL_CT_TABLE_CONSTRAINT = 0x00001000L;
863
864enum SQL_CTR_CREATE_TRANSLATION = 0x00000001L;
865
866enum SQL_CU_DML_STATEMENTS = SQL_QU_DML_STATEMENTS;
867enum SQL_CU_INDEX_DEFINITION = SQL_QU_INDEX_DEFINITION;
868enum SQL_CU_PRIVILEGE_DEFINITION = SQL_QU_PRIVILEGE_DEFINITION;
869enum SQL_CU_PROCEDURE_INVOCATION = SQL_QU_PROCEDURE_INVOCATION;
870enum SQL_CU_TABLE_DEFINITION = SQL_QU_TABLE_DEFINITION;
871
872enum SQL_CVT_INTERVAL_YEAR_MONTH = 0x00080000L;
873enum SQL_CVT_INTERVAL_DAY_TIME   = 0x00100000L;
874enum SQL_CVT_WCHAR               = 0x00200000L;
875enum SQL_CVT_WLONGVARCHAR        = 0x00400000L;
876enum SQL_CVT_WVARCHAR            = 0x00800000L;
877enum SQL_CVT_GUID                = 0x01000000L;
878
879enum SQL_DA_DROP_ASSERTION = 0x00000001L;
880enum SQL_DATETIME_LITERALS = 119;
881
882enum SQL_DB_DISCONNECT     = 1UL;
883enum SQL_DB_RETURN_TO_POOL = 0UL;
884enum SQL_DB_DEFAULT        = SQL_DB_RETURN_TO_POOL;
885
886enum SQL_DC_DROP_COLLATION = 0x00000001L;
887enum SQL_DCS_DROP_CHARACTER_SET = 0x00000001L;
888enum SQL_DD_CASCADE = 0x00000004L;
889enum SQL_DD_DROP_DOMAIN = 0x00000001L;
890enum SQL_DD_RESTRICT = 0x00000002L;
891enum SQL_DDL_INDEX = 170;
892enum SQL_DELETE_BY_BOOKMARK = 6;
893enum SQL_DESC_ARRAY_SIZE = 20;
894enum SQL_DESC_ARRAY_STATUS_PTR = 21;
895enum SQL_DESC_AUTO_UNIQUE_VALUE = SQL_COLUMN_AUTO_INCREMENT;
896enum SQL_DESC_BASE_COLUMN_NAME = 22;
897enum SQL_DESC_BASE_TABLE_NAME = 23;
898enum SQL_DESC_BIND_OFFSET_PTR = 24;
899enum SQL_DESC_BIND_TYPE = 25;
900enum SQL_DESC_CASE_SENSITIVE = SQL_COLUMN_CASE_SENSITIVE;
901enum SQL_DESC_CATALOG_NAME = SQL_COLUMN_QUALIFIER_NAME;
902enum SQL_DESC_CONCISE_TYPE = SQL_COLUMN_TYPE;
903enum SQL_DESC_DATETIME_INTERVAL_PRECISION = 26;
904enum SQL_DESC_DISPLAY_SIZE = SQL_COLUMN_DISPLAY_SIZE;
905enum SQL_DESC_FIXED_PREC_SCALE = SQL_COLUMN_MONEY;
906enum SQL_DESC_LABEL = SQL_COLUMN_LABEL;
907enum SQL_DESC_LITERAL_PREFIX = 27;
908enum SQL_DESC_LITERAL_SUFFIX = 28;
909enum SQL_DESC_LOCAL_TYPE_NAME = 29;
910enum SQL_DESC_MAXIMUM_SCALE = 30;
911enum SQL_DESC_MINIMUM_SCALE = 31;
912enum SQL_DESC_NUM_PREC_RADIX = 32;
913enum SQL_DESC_PARAMETER_TYPE = 33;
914enum SQL_DESC_ROWS_PROCESSED_PTR = 34;
915enum SQL_DESC_SCHEMA_NAME = SQL_COLUMN_OWNER_NAME;
916enum SQL_DESC_SEARCHABLE = SQL_COLUMN_SEARCHABLE;
917enum SQL_DESC_TABLE_NAME = SQL_COLUMN_TABLE_NAME;
918enum SQL_DESC_TYPE_NAME = SQL_COLUMN_TYPE_NAME;
919enum SQL_DESC_UNSIGNED = SQL_COLUMN_UNSIGNED;
920enum SQL_DESC_UPDATABLE = SQL_COLUMN_UPDATABLE;
921enum SQL_DI_CREATE_INDEX = 0x00000001L;
922enum SQL_DI_DROP_INDEX = 0x00000002L;
923
924enum SQL_DIAG_COLUMN_NUMBER = -1247;
925enum SQL_DIAG_ROW_NUMBER = -1248;
926enum SQL_DIAG_CURSOR_ROW_COUNT = -1249;
927
928enum SQL_DL_SQL92_DATE = 0x00000001L;
929enum SQL_DL_SQL92_INTERVAL_DAY = 0x00000020L;
930enum SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR = 0x00000400L;
931enum SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE = 0x00000800L;
932enum SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND = 0x00001000L;
933enum SQL_DL_SQL92_INTERVAL_HOUR = 0x00000040L;
934enum SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE = 0x00002000L;
935enum SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND = 0x00004000L;
936enum SQL_DL_SQL92_INTERVAL_MINUTE = 0x00000080L;
937enum SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND = 0x00008000L;
938enum SQL_DL_SQL92_INTERVAL_MONTH = 0x00000010L;
939enum SQL_DL_SQL92_INTERVAL_SECOND = 0x00000100L;
940enum SQL_DL_SQL92_INTERVAL_YEAR = 0x00000008L;
941enum SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH = 0x00000200L;
942enum SQL_DL_SQL92_TIME = 0x00000002L;
943enum SQL_DL_SQL92_TIMESTAMP = 0x00000004L;
944enum SQL_DM_VER = 171;
945enum SQL_DRIVER_HDESC = 135;
946enum SQL_DROP_ASSERTION = 136;
947enum SQL_DROP_CHARACTER_SET = 137;
948enum SQL_DROP_COLLATION = 138;
949enum SQL_DROP_DOMAIN = 139;
950enum SQL_DROP_SCHEMA = 140;
951enum SQL_DROP_TABLE = 141;
952enum SQL_DROP_TRANSLATION = 142;
953enum SQL_DROP_VIEW = 143;
954enum SQL_DS_CASCADE = 0x00000004L;
955enum SQL_DS_DROP_SCHEMA = 0x00000001L;
956enum SQL_DS_RESTRICT = 0x00000002L;
957enum SQL_DT_CASCADE = 0x00000004L;
958enum SQL_DT_DROP_TABLE = 0x00000001L;
959enum SQL_DT_RESTRICT = 0x00000002L;
960enum SQL_DTC_DONE = 0L;
961enum SQL_DTR_DROP_TRANSLATION = 0x00000001L;
962enum SQL_DV_CASCADE = 0x00000004L;
963enum SQL_DV_DROP_VIEW = 0x00000001L;
964enum SQL_DV_RESTRICT = 0x00000002L;
965enum SQL_DYNAMIC_CURSOR_ATTRIBUTES1 = 144;
966enum SQL_DYNAMIC_CURSOR_ATTRIBUTES2 = 145;
967enum SQL_EXT_API_LAST = SQL_API_SQLBINDPARAMETER;
968enum SQL_EXT_API_START = 40;
969enum SQL_FETCH_BY_BOOKMARK = 7;
970enum SQL_FETCH_FIRST_SYSTEM = 32;
971enum SQL_FETCH_FIRST_USER = 31;
972enum SQL_FN_CVT_CAST = 0x00000002L;
973enum SQL_FN_STR_BIT_LENGTH = 0x00080000L;
974enum SQL_FN_STR_CHAR_LENGTH = 0x00100000L;
975enum SQL_FN_STR_CHARACTER_LENGTH = 0x00200000L;
976enum SQL_FN_STR_OCTET_LENGTH = 0x00400000L;
977enum SQL_FN_STR_POSITION = 0x00800000L;
978enum SQL_FN_TD_CURRENT_DATE = 0x00020000L;
979enum SQL_FN_TD_CURRENT_TIME = 0x00040000L;
980enum SQL_FN_TD_CURRENT_TIMESTAMP = 0x00080000L;
981enum SQL_FN_TD_EXTRACT = 0x00100000L;
982enum SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146;
983enum SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147;
984    /* #define SQL_FUNC_EXISTS(exists, api)
985       ((*(((UWORD*) (exists)) + ((api) >> 4)) & (1 << ((api) & 15)) ) ?
986       SQL_TRUE : SQL_FALSE )
987    */
988enum SQL_GB_COLLATE = 0x0004;
989enum SQL_HANDLE_SENV = 5;
990
991enum SQL_IK_NONE = 0;
992enum SQL_IK_ASC = 1;
993enum SQL_IK_DESC = 2;
994enum SQL_IK_ALL = SQL_IK_ASC | SQL_IK_DESC;
995
996enum SQL_INDEX_KEYWORDS = 148;
997enum SQL_INFO_DRIVER_START = 1000;
998enum SQL_INFO_LAST = SQL_QUALIFIER_LOCATION;
999enum SQL_INFO_SCHEMA_VIEWS = 149;
1000enum SQL_INITIALLY_DEFERRED = 5;
1001enum SQL_INITIALLY_IMMEDIATE = 6;
1002enum SQL_INSERT_STATEMENT = 172;
1003enum SQL_INTERVAL = 10;
1004enum SQL_IS_INSERT_LITERALS = 0x00000001L;
1005enum SQL_IS_INSERT_SEARCHED = 0x00000002L;
1006enum SQL_IS_INTEGER = -6;
1007enum SQL_IS_POINTER = -4;
1008enum SQL_IS_SELECT_INTO = 0x00000004L;
1009enum SQL_IS_SMALLINT = -8;
1010enum SQL_IS_UINTEGER = -5;
1011enum SQL_IS_USMALLINT = -7;
1012enum SQL_ISV_ASSERTIONS = 0x00000001L;
1013enum SQL_ISV_CHARACTER_SETS = 0x00000002L;
1014enum SQL_ISV_CHECK_CONSTRAINTS = 0x00000004L;
1015enum SQL_ISV_COLLATIONS = 0x00000008L;
1016enum SQL_ISV_COLUMN_DOMAIN_USAGE = 0x00000010L;
1017enum SQL_ISV_COLUMN_PRIVILEGES = 0x00000020L;
1018enum SQL_ISV_COLUMNS = 0x00000040L;
1019enum SQL_ISV_CONSTRAINT_COLUMN_USAGE = 0x00000080L;
1020enum SQL_ISV_CONSTRAINT_TABLE_USAGE = 0x00000100L;
1021enum SQL_ISV_DOMAIN_CONSTRAINTS = 0x00000200L;
1022enum SQL_ISV_DOMAINS = 0x00000400L;
1023enum SQL_ISV_KEY_COLUMN_USAGE = 0x00000800L;
1024enum SQL_ISV_REFERENTIAL_CONSTRAINTS = 0x00001000L;
1025enum SQL_ISV_SCHEMATA = 0x00002000L;
1026enum SQL_ISV_SQL_LANGUAGES = 0x00004000L;
1027enum SQL_ISV_TABLE_CONSTRAINTS = 0x00008000L;
1028enum SQL_ISV_TABLE_PRIVILEGES = 0x00010000L;
1029enum SQL_ISV_TABLES = 0x00020000L;
1030enum SQL_ISV_TRANSLATIONS = 0x00040000L;
1031enum SQL_ISV_USAGE_PRIVILEGES = 0x00080000L;
1032enum SQL_ISV_VIEW_COLUMN_USAGE = 0x00100000L;
1033enum SQL_ISV_VIEW_TABLE_USAGE = 0x00200000L;
1034enum SQL_ISV_VIEWS = 0x00400000L;
1035enum SQL_KEYSET_CURSOR_ATTRIBUTES1 = 150;
1036enum SQL_KEYSET_CURSOR_ATTRIBUTES2 = 151;
1037enum SQL_MAX_ASYNC_CONCURRENT_STATEMENTS = 10022;
1038enum SQL_NO_COLUMN_NUMBER = -1;
1039enum SQL_NO_ROW_NUMBER = -1;
1040enum SQL_NOT_DEFERRABLE = 7;
1041enum SQL_NUM_EXTENSIONS = SQL_EXT_API_LAST-SQL_EXT_API_START+1;
1042enum SQL_NUM_FUNCTIONS = 23;
1043enum SQL_ODBC_INTERFACE_CONFORMANCE = 152;
1044
1045    enum : ULONG {
1046        SQL_OIC_CORE = 1,
1047        SQL_OIC_LEVEL1,
1048        SQL_OIC_LEVEL2
1049    }
1050    enum : ULONG {
1051        SQL_OV_ODBC2 = 2,
1052        SQL_OV_ODBC3 = 3
1053    }
1054
1055enum ULONG
1056        SQL_PARAM_BIND_BY_COLUMN = 0,
1057        SQL_PARAM_BIND_TYPE_DEFAULT = SQL_PARAM_BIND_BY_COLUMN;
1058
1059enum SQL_PARAM_ARRAY_ROW_COUNTS = 153;
1060enum SQL_PARAM_ARRAY_SELECTS = 154;
1061enum SQL_PARAM_DIAG_UNAVAILABLE = 1;
1062enum SQL_PARAM_ERROR = 5;
1063enum SQL_PARAM_IGNORE = 1;
1064enum SQL_PARAM_PROCEED = 0;
1065enum SQL_PARAM_SUCCESS = 0;
1066enum SQL_PARAM_SUCCESS_WITH_INFO = 6;
1067enum SQL_PARAM_UNUSED = 7;
1068
1069enum SQL_PARC_BATCH = 1;
1070enum SQL_PARC_NO_BATCH = 2;
1071enum SQL_PAS_BATCH = 1;
1072enum SQL_PAS_NO_BATCH = 2;
1073enum SQL_PAS_NO_SELECT = 3;
1074
1075enum SQL_ROW_IGNORE = 1;
1076enum SQL_ROW_NUMBER_UNKNOWN = -2;
1077enum SQL_ROW_PROCEED = 0;
1078enum SQL_ROW_SUCCESS_WITH_INFO = 6;
1079
1080enum SQL_SC_FIPS127_2_TRANSITIONAL = 0x00000002L;
1081enum SQL_SC_SQL92_ENTRY = 0x00000001L;
1082enum SQL_SC_SQL92_FULL = 0x00000008L;
1083enum SQL_SC_SQL92_INTERMEDIATE = 0x00000004L;
1084
1085enum SQL_SCC_ISO92_CLI = 0x00000002L;
1086enum SQL_SCC_XOPEN_CLI_VERSION1 = 0x00000001L;
1087
1088enum SQL_SCHEMA_TERM = SQL_OWNER_TERM;
1089enum SQL_SCHEMA_USAGE = SQL_OWNER_USAGE;
1090enum SQL_SDF_CURRENT_DATE = 0x00000001L;
1091enum SQL_SDF_CURRENT_TIME = 0x00000002L;
1092enum SQL_SDF_CURRENT_TIMESTAMP = 0x00000004L;
1093enum SQL_SFKD_CASCADE = 0x00000001L;
1094enum SQL_SFKD_NO_ACTION = 0x00000002L;
1095enum SQL_SFKD_SET_DEFAULT = 0x00000004L;
1096enum SQL_SFKD_SET_NULL = 0x00000008L;
1097enum SQL_SFKU_CASCADE = 0x00000001L;
1098enum SQL_SFKU_NO_ACTION = 0x00000002L;
1099enum SQL_SFKU_SET_DEFAULT = 0x00000004L;
1100enum SQL_SFKU_SET_NULL = 0x00000008L;
1101enum SQL_SG_DELETE_TABLE = 0x00000020L;
1102enum SQL_SG_INSERT_COLUMN = 0x00000080L;
1103enum SQL_SG_INSERT_TABLE = 0x00000040L;
1104enum SQL_SG_REFERENCES_COLUMN = 0x00000200L;
1105enum SQL_SG_REFERENCES_TABLE = 0x00000100L;
1106enum SQL_SG_SELECT_TABLE = 0x00000400L;
1107enum SQL_SG_UPDATE_COLUMN = 0x00001000L;
1108enum SQL_SG_UPDATE_TABLE = 0x00000800L;
1109enum SQL_SG_USAGE_ON_CHARACTER_SET = 0x00000002L;
1110enum SQL_SG_USAGE_ON_COLLATION = 0x00000004L;
1111enum SQL_SG_USAGE_ON_DOMAIN = 0x00000001L;
1112enum SQL_SG_USAGE_ON_TRANSLATION = 0x00000008L;
1113enum SQL_SG_WITH_GRANT_OPTION = 0x00000010L;
1114enum SQL_SNVF_BIT_LENGTH = 0x00000001L;
1115enum SQL_SNVF_CHAR_LENGTH = 0x00000002L;
1116enum SQL_SNVF_CHARACTER_LENGTH = 0x00000004L;
1117enum SQL_SNVF_EXTRACT = 0x00000008L;
1118enum SQL_SNVF_OCTET_LENGTH = 0x00000010L;
1119enum SQL_SNVF_POSITION = 0x00000020L;
1120enum SQL_SP_BETWEEN = 0x00000800L;
1121enum SQL_SP_COMPARISON = 0x00001000L;
1122enum SQL_SP_EXISTS = 0x00000001L;
1123enum SQL_SP_IN = 0x00000400L;
1124enum SQL_SP_ISNOTNULL = 0x00000002L;
1125enum SQL_SP_ISNULL = 0x00000004L;
1126enum SQL_SP_LIKE = 0x00000200L;
1127enum SQL_SP_MATCH_FULL = 0x00000008L;
1128enum SQL_SP_MATCH_PARTIAL = 0x00000010L;
1129enum SQL_SP_MATCH_UNIQUE_FULL = 0x00000020L;
1130enum SQL_SP_MATCH_UNIQUE_PARTIAL = 0x00000040L;
1131enum SQL_SP_OVERLAPS = 0x00000080L;
1132enum SQL_SP_QUANTIFIED_COMPARISON = 0x00002000L;
1133enum SQL_SP_UNIQUE = 0x00000100L;
1134enum SQL_SQL_CONFORMANCE = 118;
1135enum SQL_SQL92_DATETIME_FUNCTIONS = 155;
1136enum SQL_SQL92_FOREIGN_KEY_DELETE_RULE = 156;
1137enum SQL_SQL92_FOREIGN_KEY_UPDATE_RULE = 157;
1138enum SQL_SQL92_GRANT = 158;
1139enum SQL_SQL92_NUMERIC_VALUE_FUNCTIONS = 159;
1140enum SQL_SQL92_PREDICATES = 160;
1141enum SQL_SQL92_RELATIONAL_JOIN_OPERATORS = 161;
1142enum SQL_SQL92_REVOKE = 162;
1143enum SQL_SQL92_ROW_VALUE_CONSTRUCTOR = 163;
1144enum SQL_SQL92_STRING_FUNCTIONS = 164;
1145enum SQL_SQL92_VALUE_EXPRESSIONS = 165;
1146enum SQL_SR_CASCADE = 0x00000020L;
1147enum SQL_SR_DELETE_TABLE = 0x00000080L;
1148enum SQL_SR_GRANT_OPTION_FOR = 0x00000010L;
1149enum SQL_SR_INSERT_COLUMN = 0x00000200L;
1150enum SQL_SR_INSERT_TABLE = 0x00000100L;
1151enum SQL_SR_REFERENCES_COLUMN = 0x00000800L;
1152enum SQL_SR_REFERENCES_TABLE = 0x00000400L;
1153enum SQL_SR_RESTRICT = 0x00000040L;
1154enum SQL_SR_SELECT_TABLE = 0x00001000L;
1155enum SQL_SR_UPDATE_COLUMN = 0x00004000L;
1156enum SQL_SR_UPDATE_TABLE = 0x00002000L;
1157enum SQL_SR_USAGE_ON_CHARACTER_SET = 0x00000002L;
1158enum SQL_SR_USAGE_ON_COLLATION = 0x00000004L;
1159enum SQL_SR_USAGE_ON_DOMAIN = 0x00000001L;
1160enum SQL_SR_USAGE_ON_TRANSLATION = 0x00000008L;
1161enum SQL_SRJO_CORRESPONDING_CLAUSE = 0x00000001L;
1162enum SQL_SRJO_CROSS_JOIN = 0x00000002L;
1163enum SQL_SRJO_EXCEPT_JOIN = 0x00000004L;
1164enum SQL_SRJO_FULL_OUTER_JOIN = 0x00000008L;
1165enum SQL_SRJO_INNER_JOIN = 0x00000010L;
1166enum SQL_SRJO_INTERSECT_JOIN = 0x00000020L;
1167enum SQL_SRJO_LEFT_OUTER_JOIN = 0x00000040L;
1168enum SQL_SRJO_NATURAL_JOIN = 0x00000080L;
1169enum SQL_SRJO_RIGHT_OUTER_JOIN = 0x00000100L;
1170enum SQL_SRJO_UNION_JOIN = 0x00000200L;
1171enum SQL_SRVC_DEFAULT = 0x00000004L;
1172enum SQL_SRVC_NULL = 0x00000002L;
1173enum SQL_SRVC_ROW_SUBQUERY = 0x00000008L;
1174enum SQL_SRVC_VALUE_EXPRESSION = 0x00000001L;
1175enum SQL_SSF_CONVERT = 0x00000001L;
1176enum SQL_SSF_LOWER = 0x00000002L;
1177enum SQL_SSF_SUBSTRING = 0x00000008L;
1178enum SQL_SSF_TRANSLATE = 0x00000010L;
1179enum SQL_SSF_TRIM_BOTH = 0x00000020L;
1180enum SQL_SSF_TRIM_LEADING = 0x00000040L;
1181enum SQL_SSF_TRIM_TRAILING = 0x00000080L;
1182enum SQL_SSF_UPPER = 0x00000004L;
1183enum SQL_STANDARD_CLI_CONFORMANCE = 166;
1184enum SQL_STATIC_CURSOR_ATTRIBUTES1 = 167;
1185enum SQL_STATIC_CURSOR_ATTRIBUTES2 = 168;
1186enum SQL_SU_DML_STATEMENTS = SQL_OU_DML_STATEMENTS;
1187enum SQL_SU_INDEX_DEFINITION = SQL_OU_INDEX_DEFINITION;
1188enum SQL_SU_PRIVILEGE_DEFINITION = SQL_OU_PRIVILEGE_DEFINITION;
1189enum SQL_SU_PROCEDURE_INVOCATION = SQL_OU_PROCEDURE_INVOCATION;
1190enum SQL_SU_TABLE_DEFINITION = SQL_OU_TABLE_DEFINITION;
1191enum SQL_SVE_CASE = 0x00000001L;
1192enum SQL_SVE_CAST = 0x00000002L;
1193enum SQL_SVE_COALESCE = 0x00000004L;
1194enum SQL_SVE_NULLIF = 0x00000008L;
1195enum SQL_UB_FIXED = SQL_UB_ON;
1196enum SQL_UB_VARIABLE = 2UL;
1197enum SQL_UNION_STATEMENT = SQL_UNION;
1198enum SQL_UPDATE_BY_BOOKMARK = 5;
1199enum SQL_US_UNION = SQL_U_UNION;
1200enum SQL_US_UNION_ALL = SQL_U_UNION_ALL;
1201}//[Yes] #endif /* ODBCVER >= 0x300 */
1202static if (ODBCVER >= 0x0350) {
1203enum SQL_DESC_ROWVER = 35;
1204enum SQL_GUID = -11;
1205enum SQL_C_GUID = SQL_GUID;
1206    //#ifdef ODBC_STD
1207    //#define SQLAllocHandle SQLAllocHandleStd
1208    //#define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, p)
1209    //#define SQL_YEAR SQL_CODE_YEAR
1210    //#define SQL_MONTH SQL_CODE_MONTH
1211    //#define SQL_DAY SQL_CODE_DAY
1212    //#define SQL_HOUR SQL_CODE_HOUR
1213    //#define SQL_MINUTE SQL_CODE_MINUTE
1214    //#define SQL_SECOND SQL_CODE_SECOND
1215    //#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH
1216    //#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR
1217    //#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE
1218    //#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND
1219    //#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE
1220    //#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
1221    //#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
1222    //#endif /* ODBC_STD */
1223}//#endif /* ODBCVER >= 0x0350 */
1224
1225//static if (ODBCVER >= 0x0351) {
1226enum SQL_ATTR_ANSI_APP=115;
1227enum SQL_AA_TRUE=1L;
1228enum SQL_AA_FALSE=0L;
1229//}//[Yes] #endif
1230
1231enum TRACE_VERSION=1000;
1232enum TRACE_ON=1;
1233
1234const char [] SQL_ODBC_KEYWORDS =
1235    "ABSOLUTE, ACTION, ADA, ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, "
1236    ~ "ASC, ASSERTION, AT, AUTHORIZATION, AVG, "
1237    ~ "BEGIN, BETWEEN, BIT, BIT_LENGTH, BOTH, BY, CASCADE, CASCADED, CASE, CAST, CATALOG, "
1238    ~ "CHAR, CHAR_LENGTH, CHARACTER, CHARACTER_LENGTH, CHECK, CLOSE, COALESCE, "
1239    ~ "COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, CONNECTION, CONSTRAINT, "
1240    ~ "CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, "
1241    ~ "CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, "
1242    ~ "DATE, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFAULT, DEFERRABLE, "
1243    ~ "DEFERRED, DELETE, DESC, DESCRIBE, DESCRIPTOR, DIAGNOSTICS, DISCONNECT, "
1244    ~ "DISTINCT, DOMAIN, DOUBLE, DROP, "
1245    ~ "ELSE, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, "
1246    ~ "EXISTS, EXTERNAL, EXTRACT, "
1247    ~ "FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, FORTRAN, FOUND, FROM, FULL, "
1248    ~ "GET, GLOBAL, GO, GOTO, GRANT, GROUP, HAVING, HOUR, "
1249    ~ "IDENTITY, IMMEDIATE, IN, INCLUDE, INDEX, INDICATOR, INITIALLY, INNER, "
1250    ~ "INPUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, "
1251    ~ "JOIN, KEY, LANGUAGE, LAST, LEADING, LEFT, LEVEL, LIKE, LOCAL, LOWER, "
1252    ~ "MATCH, MAX, MIN, MINUTE, MODULE, MONTH, "
1253    ~ "NAMES, NATIONAL, NATURAL, NCHAR, NEXT, NO, NONE, NOT, NULL, NULLIF, NUMERIC, "
1254    ~ "OCTET_LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, OUTER, OUTPUT, OVERLAPS, "
1255    ~ "PAD, PARTIAL, PASCAL, PLI, POSITION, PRECISION, PREPARE, PRESERVE, "
1256    ~ "PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, "
1257    ~ "READ, REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, ROLLBACK, ROWS"
1258    ~ "SCHEMA, SCROLL, SECOND, SECTION, SELECT, SESSION, SESSION_USER, SET, SIZE, "
1259    ~ "SMALLINT, SOME, SPACE, SQL, SQLCA, SQLCODE, SQLERROR, SQLSTATE, SQLWARNING, "
1260    ~ "SUBSTRING, SUM, SYSTEM_USER, "
1261    ~ "TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, "
1262    ~ "TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIM, TRUE, "
1263    ~ "UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, USAGE, USER, USING, "
1264    ~ "VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, WHERE, WITH, WORK, WRITE, "
1265    ~ "YEAR, ZONE";
1266extern (Windows) {
1267    SQLRETURN SQLDriverConnect(SQLHDBC, SQLHWND, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT);
1268    SQLRETURN SQLBrowseConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
1269    SQLRETURN SQLColumnPrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1270    SQLRETURN SQLColAttributes(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
1271    SQLRETURN SQLDescribeParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
1272    SQLRETURN SQLExtendedFetch(SQLHSTMT, SQLUSMALLINT, SQLINTEGER, SQLUINTEGER*, SQLUSMALLINT*);
1273    SQLRETURN SQLForeignKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1274    SQLRETURN SQLMoreResults(SQLHSTMT);
1275    SQLRETURN SQLNativeSql(SQLHDBC, SQLCHAR*, SQLINTEGER, SQLCHAR*, SQLINTEGER, SQLINTEGER*);
1276    SQLRETURN SQLNumParams(SQLHSTMT, SQLSMALLINT*);
1277    SQLRETURN SQLParamOptions(SQLHSTMT, SQLUINTEGER, SQLUINTEGER*);
1278    SQLRETURN SQLPrimaryKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1279    SQLRETURN SQLProcedureColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1280    SQLRETURN SQLProcedures(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1281    SQLRETURN SQLSetPos(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
1282    SQLRETURN SQLTablePrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
1283    SQLRETURN SQLDrivers(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
1284    SQLRETURN SQLBindParameter(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
1285    SQLRETURN SQLSetScrollOptions(SQLHSTMT, SQLUSMALLINT, SQLLEN, SQLUSMALLINT);/* deprecated */
1286    DWORD ODBCGetTryWaitValue();
1287    BOOL ODBCSetTryWaitValue(DWORD);
1288    RETCODE TraceOpenLogFile(LPWSTR, LPWSTR, DWORD);
1289    RETCODE TraceCloseLogFile();
1290    VOID TraceReturn(RETCODE, RETCODE);
1291    DWORD TraceVersion();
1292    //static if (ODBCVER >= 0x0300) {
1293    SQLRETURN SQLBulkOperations(SQLHSTMT, SQLSMALLINT);
1294    SQLRETURN SQLAllocHandleStd( SQLSMALLINT, SQLHANDLE, SQLHANDLE*);
1295    //}
1296}
1297