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