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