sqlext.h

00001 //-----------------------------------------------------------------------------
00002 
00003 // File:                        sqlext.h
00004 
00005 //
00006 
00007 // Copyright:           Copyright (c) Microsoft Corporation          
00008 
00009 //
00010 
00011 // Contents:            This is the include for applications using the Microsoft SQL Extensions
00012 
00013 //
00014 
00015 // Comments:            
00016 
00017 //
00018 
00019 //-----------------------------------------------------------------------------
00020 
00021 
00022 
00023 #ifndef __SQLEXT
00024 
00025 #define __SQLEXT
00026 
00027 
00028 
00029 #ifndef __SQL
00030 
00031 #include "sql.h"
00032 
00033 #endif
00034 
00035 
00036 
00037 #ifdef __cplusplus
00038 
00039 extern "C" {                         /* Assume C declarations for C++ */
00040 
00041 #endif  /* __cplusplus */
00042 
00043 
00044 
00045 /* generally useful constants */
00046 
00047 #define SQL_SPEC_MAJOR     3            /* Major version of specification  */
00048 
00049 #define SQL_SPEC_MINOR     52           /* Minor version of specification  */
00050 
00051 #define SQL_SPEC_STRING   "03.52"       /* String constant for version */
00052 
00053 
00054 
00055 #define SQL_SQLSTATE_SIZE       5       /* size of SQLSTATE */
00056 
00057 #define SQL_MAX_DSN_LENGTH      32      /* maximum data source name size */
00058 
00059 
00060 
00061 #define SQL_MAX_OPTION_STRING_LENGTH    256
00062 
00063 
00064 
00065 /* return code SQL_NO_DATA_FOUND is the same as SQL_NO_DATA */
00066 
00067 #if (ODBCVER < 0x0300)
00068 
00069 #define SQL_NO_DATA_FOUND       100
00070 
00071 #else
00072 
00073 #define SQL_NO_DATA_FOUND       SQL_NO_DATA
00074 
00075 #endif
00076 
00077 
00078 
00079 /* an end handle type */
00080 
00081 #if (ODBCVER >= 0x0300)
00082 
00083 #define SQL_HANDLE_SENV         5
00084 
00085 #endif  /* ODBCVER >= 0x0300 */
00086 
00087 
00088 
00089 /* env attribute */
00090 
00091 #if (ODBCVER >= 0x0300)
00092 
00093 #define SQL_ATTR_ODBC_VERSION                           200
00094 
00095 #define SQL_ATTR_CONNECTION_POOLING                     201
00096 
00097 #define SQL_ATTR_CP_MATCH                                       202
00098 
00099 #endif  /* ODBCVER >= 0x0300 */
00100 
00101 
00102 
00103 #if (ODBCVER >= 0x0300)
00104 
00105 /* values for SQL_ATTR_CONNECTION_POOLING */
00106 
00107 #define SQL_CP_OFF                                                      0UL
00108 
00109 #define SQL_CP_ONE_PER_DRIVER                           1UL
00110 
00111 #define SQL_CP_ONE_PER_HENV                                     2UL
00112 
00113 #define SQL_CP_DEFAULT                                          SQL_CP_OFF
00114 
00115 
00116 
00117 /* values for SQL_ATTR_CP_MATCH */
00118 
00119 #define SQL_CP_STRICT_MATCH                                     0UL
00120 
00121 #define SQL_CP_RELAXED_MATCH                            1UL
00122 
00123 #define SQL_CP_MATCH_DEFAULT                            SQL_CP_STRICT_MATCH             
00124 
00125 
00126 
00127 /* values for SQL_ATTR_ODBC_VERSION */
00128 
00129 #define SQL_OV_ODBC2                                            2UL
00130 
00131 #define SQL_OV_ODBC3                                            3UL
00132 
00133 #endif  /* ODBCVER >= 0x0300 */
00134 
00135 
00136 
00137 /* connection attributes */
00138 
00139 #define SQL_ACCESS_MODE                 101
00140 
00141 #define SQL_AUTOCOMMIT                  102
00142 
00143 #define SQL_LOGIN_TIMEOUT               103
00144 
00145 #define SQL_OPT_TRACE                   104
00146 
00147 #define SQL_OPT_TRACEFILE               105
00148 
00149 #define SQL_TRANSLATE_DLL               106
00150 
00151 #define SQL_TRANSLATE_OPTION            107
00152 
00153 #define SQL_TXN_ISOLATION               108
00154 
00155 #define SQL_CURRENT_QUALIFIER           109
00156 
00157 #define SQL_ODBC_CURSORS                110
00158 
00159 #define SQL_QUIET_MODE                  111
00160 
00161 #define SQL_PACKET_SIZE                 112
00162 
00163 
00164 
00165 /* connection attributes with new names */
00166 
00167 #if (ODBCVER >= 0x0300)
00168 
00169 #define SQL_ATTR_ACCESS_MODE            SQL_ACCESS_MODE
00170 
00171 #define SQL_ATTR_AUTOCOMMIT                     SQL_AUTOCOMMIT
00172 
00173 #define SQL_ATTR_CONNECTION_TIMEOUT     113
00174 
00175 #define SQL_ATTR_CURRENT_CATALOG        SQL_CURRENT_QUALIFIER
00176 
00177 #define SQL_ATTR_DISCONNECT_BEHAVIOR    114
00178 
00179 #define SQL_ATTR_ENLIST_IN_DTC          1207
00180 
00181 #define SQL_ATTR_ENLIST_IN_XA           1208
00182 
00183 #define SQL_ATTR_LOGIN_TIMEOUT          SQL_LOGIN_TIMEOUT
00184 
00185 #define SQL_ATTR_ODBC_CURSORS           SQL_ODBC_CURSORS
00186 
00187 #define SQL_ATTR_PACKET_SIZE            SQL_PACKET_SIZE
00188 
00189 #define SQL_ATTR_QUIET_MODE                     SQL_QUIET_MODE
00190 
00191 #define SQL_ATTR_TRACE                          SQL_OPT_TRACE
00192 
00193 #define SQL_ATTR_TRACEFILE                      SQL_OPT_TRACEFILE
00194 
00195 #define SQL_ATTR_TRANSLATE_LIB          SQL_TRANSLATE_DLL
00196 
00197 #define SQL_ATTR_TRANSLATE_OPTION       SQL_TRANSLATE_OPTION
00198 
00199 #define SQL_ATTR_TXN_ISOLATION          SQL_TXN_ISOLATION
00200 
00201 #endif  /* ODBCVER >= 0x0300 */
00202 
00203 
00204 
00205 #define SQL_ATTR_CONNECTION_DEAD        1209    /* GetConnectAttr only */
00206 
00207 
00208 
00209 #if (ODBCVER >= 0x0351)
00210 
00211 /*      ODBC Driver Manager sets this connection attribute to a unicode driver 
00212 
00213         (which supports SQLConnectW) when the application is an ANSI application
00214 
00215         (which calls SQLConnect, SQLDriverConnect, or SQLBrowseConnect). 
00216 
00217         This is SetConnectAttr only and application does not set this attribute
00218 
00219         This attribute was introduced because some unicode driver's some APIs may 
00220 
00221         need to behave differently on ANSI or Unicode applications. A unicode 
00222 
00223         driver, which  has same behavior for both ANSI or Unicode applications,
00224 
00225         should return SQL_ERROR when the driver manager sets this connection 
00226 
00227         attribute. When a unicode driver returns SQL_SUCCESS on this attribute,
00228 
00229         the driver manager treates ANSI and Unicode connections differently in
00230 
00231         connection pooling.
00232 
00233 */
00234 
00235 #define SQL_ATTR_ANSI_APP                       115
00236 
00237 #endif
00238 
00239 
00240 
00241 /* SQL_CONNECT_OPT_DRVR_START is not meaningful for 3.0 driver */
00242 
00243 #if (ODBCVER < 0x0300)
00244 
00245 #define SQL_CONNECT_OPT_DRVR_START      1000
00246 
00247 #endif  /* ODBCVER < 0x0300 */
00248 
00249 
00250 
00251 #if (ODBCVER < 0x0300)
00252 
00253 #define SQL_CONN_OPT_MAX                SQL_PACKET_SIZE
00254 
00255 #define SQL_CONN_OPT_MIN                SQL_ACCESS_MODE
00256 
00257 #endif /* ODBCVER < 0x0300 */
00258 
00259 
00260 
00261 /* SQL_ACCESS_MODE options */
00262 
00263 #define SQL_MODE_READ_WRITE             0UL
00264 
00265 #define SQL_MODE_READ_ONLY              1UL
00266 
00267 #define SQL_MODE_DEFAULT                SQL_MODE_READ_WRITE
00268 
00269 
00270 
00271 /* SQL_AUTOCOMMIT options */
00272 
00273 #define SQL_AUTOCOMMIT_OFF              0UL
00274 
00275 #define SQL_AUTOCOMMIT_ON               1UL
00276 
00277 #define SQL_AUTOCOMMIT_DEFAULT          SQL_AUTOCOMMIT_ON
00278 
00279 
00280 
00281 /* SQL_LOGIN_TIMEOUT options */
00282 
00283 #define SQL_LOGIN_TIMEOUT_DEFAULT       15UL
00284 
00285 
00286 
00287 /* SQL_OPT_TRACE options */
00288 
00289 #define SQL_OPT_TRACE_OFF               0UL
00290 
00291 #define SQL_OPT_TRACE_ON                1UL
00292 
00293 #define SQL_OPT_TRACE_DEFAULT           SQL_OPT_TRACE_OFF
00294 
00295 #define SQL_OPT_TRACE_FILE_DEFAULT      "\\SQL.LOG"
00296 
00297 
00298 
00299 /* SQL_ODBC_CURSORS options */
00300 
00301 #define SQL_CUR_USE_IF_NEEDED           0UL
00302 
00303 #define SQL_CUR_USE_ODBC                1UL
00304 
00305 #define SQL_CUR_USE_DRIVER              2UL
00306 
00307 #define SQL_CUR_DEFAULT                 SQL_CUR_USE_DRIVER
00308 
00309 
00310 
00311 #if (ODBCVER >= 0x0300)
00312 
00313 /* values for SQL_ATTR_DISCONNECT_BEHAVIOR */
00314 
00315 #define SQL_DB_RETURN_TO_POOL                   0UL
00316 
00317 #define SQL_DB_DISCONNECT                               1UL
00318 
00319 #define SQL_DB_DEFAULT                                  SQL_DB_RETURN_TO_POOL
00320 
00321 
00322 
00323 /* values for SQL_ATTR_ENLIST_IN_DTC */
00324 
00325 #define SQL_DTC_DONE                                    0L
00326 
00327 #endif  /* ODBCVER >= 0x0300 */
00328 
00329 
00330 
00331 /* values for SQL_ATTR_CONNECTION_DEAD */
00332 
00333 #define SQL_CD_TRUE                                     1L              /* Connection is closed/dead */
00334 
00335 #define SQL_CD_FALSE                            0L              /* Connection is open/available */
00336 
00337 
00338 
00339 /* values for SQL_ATTR_ANSI_APP */
00340 
00341 #if (ODBCVER >= 0x0351)
00342 
00343 #define SQL_AA_TRUE                                     1L      /* the application is an ANSI app */
00344 
00345 #define SQL_AA_FALSE                                    0L      /* the application is a Unicode app */
00346 
00347 #endif
00348 
00349 
00350 
00351 /* statement attributes */
00352 
00353 #define SQL_QUERY_TIMEOUT               0
00354 
00355 #define SQL_MAX_ROWS                    1
00356 
00357 #define SQL_NOSCAN                              2
00358 
00359 #define SQL_MAX_LENGTH                  3
00360 
00361 #define SQL_ASYNC_ENABLE                4       /* same as SQL_ATTR_ASYNC_ENABLE */     
00362 
00363 #define SQL_BIND_TYPE                   5
00364 
00365 #define SQL_CURSOR_TYPE                 6
00366 
00367 #define SQL_CONCURRENCY                 7
00368 
00369 #define SQL_KEYSET_SIZE                 8
00370 
00371 #define SQL_ROWSET_SIZE                 9
00372 
00373 #define SQL_SIMULATE_CURSOR             10
00374 
00375 #define SQL_RETRIEVE_DATA               11
00376 
00377 #define SQL_USE_BOOKMARKS               12
00378 
00379 #define SQL_GET_BOOKMARK                13      /*      GetStmtOption Only */
00380 
00381 #define SQL_ROW_NUMBER                  14      /*      GetStmtOption Only */
00382 
00383 
00384 
00385 /* statement attributes for ODBC 3.0 */
00386 
00387 #if (ODBCVER >= 0x0300)
00388 
00389 #define SQL_ATTR_ASYNC_ENABLE                           4
00390 
00391 #define SQL_ATTR_CONCURRENCY                            SQL_CONCURRENCY
00392 
00393 #define SQL_ATTR_CURSOR_TYPE                            SQL_CURSOR_TYPE
00394 
00395 #define SQL_ATTR_ENABLE_AUTO_IPD                        15
00396 
00397 #define SQL_ATTR_FETCH_BOOKMARK_PTR                     16
00398 
00399 #define SQL_ATTR_KEYSET_SIZE                            SQL_KEYSET_SIZE
00400 
00401 #define SQL_ATTR_MAX_LENGTH                                     SQL_MAX_LENGTH
00402 
00403 #define SQL_ATTR_MAX_ROWS                                       SQL_MAX_ROWS
00404 
00405 #define SQL_ATTR_NOSCAN                                         SQL_NOSCAN
00406 
00407 #define SQL_ATTR_PARAM_BIND_OFFSET_PTR          17
00408 
00409 #define SQL_ATTR_PARAM_BIND_TYPE                        18
00410 
00411 #define SQL_ATTR_PARAM_OPERATION_PTR            19
00412 
00413 #define SQL_ATTR_PARAM_STATUS_PTR                       20
00414 
00415 #define SQL_ATTR_PARAMS_PROCESSED_PTR           21
00416 
00417 #define SQL_ATTR_PARAMSET_SIZE                          22
00418 
00419 #define SQL_ATTR_QUERY_TIMEOUT                          SQL_QUERY_TIMEOUT
00420 
00421 #define SQL_ATTR_RETRIEVE_DATA                          SQL_RETRIEVE_DATA
00422 
00423 #define SQL_ATTR_ROW_BIND_OFFSET_PTR            23
00424 
00425 #define SQL_ATTR_ROW_BIND_TYPE                          SQL_BIND_TYPE
00426 
00427 #define SQL_ATTR_ROW_NUMBER                                     SQL_ROW_NUMBER          /*GetStmtAttr*/
00428 
00429 #define SQL_ATTR_ROW_OPERATION_PTR                      24
00430 
00431 #define SQL_ATTR_ROW_STATUS_PTR                         25
00432 
00433 #define SQL_ATTR_ROWS_FETCHED_PTR                       26
00434 
00435 #define SQL_ATTR_ROW_ARRAY_SIZE                         27      
00436 
00437 #define SQL_ATTR_SIMULATE_CURSOR                        SQL_SIMULATE_CURSOR
00438 
00439 #define SQL_ATTR_USE_BOOKMARKS                          SQL_USE_BOOKMARKS       
00440 
00441 
00442 
00443 #endif  /* ODBCVER >= 0x0300 */
00444 
00445 
00446 
00447 #if (ODBCVER < 0x0300)
00448 
00449 #define SQL_STMT_OPT_MAX                SQL_ROW_NUMBER
00450 
00451 #define SQL_STMT_OPT_MIN        SQL_QUERY_TIMEOUT
00452 
00453 #endif          /* ODBCVER < 0x0300 */
00454 
00455 
00456 
00457 /* New defines for SEARCHABLE column in SQLGetTypeInfo */
00458 
00459 
00460 
00461 #if (ODBCVER >= 0x0300)
00462 
00463 #define SQL_COL_PRED_CHAR               SQL_LIKE_ONLY
00464 
00465 #define SQL_COL_PRED_BASIC              SQL_ALL_EXCEPT_LIKE
00466 
00467 #endif /* ODBCVER >= 0x0300 */
00468 
00469 
00470 
00471 
00472 
00473 
00474 
00475 /* whether an attribute is a pointer or not */
00476 
00477 #if (ODBCVER >= 0x0300)
00478 
00479 #define SQL_IS_POINTER                                                  (-4)
00480 
00481 #define SQL_IS_UINTEGER                                                 (-5)
00482 
00483 #define SQL_IS_INTEGER                                                  (-6)
00484 
00485 #define SQL_IS_USMALLINT                                                (-7)
00486 
00487 #define SQL_IS_SMALLINT                                                 (-8)
00488 
00489 #endif  /* ODBCVER >= 0x0300 */
00490 
00491 
00492 
00493 /* the value of SQL_ATTR_PARAM_BIND_TYPE */
00494 
00495 #if (ODBCVER >= 0x0300)
00496 
00497 #define SQL_PARAM_BIND_BY_COLUMN                        0UL
00498 
00499 #define SQL_PARAM_BIND_TYPE_DEFAULT                     SQL_PARAM_BIND_BY_COLUMN
00500 
00501 #endif  /* ODBCVER >= 0x0300 */
00502 
00503 
00504 
00505 /* SQL_QUERY_TIMEOUT options */
00506 
00507 #define SQL_QUERY_TIMEOUT_DEFAULT       0UL
00508 
00509 
00510 
00511 /* SQL_MAX_ROWS options */
00512 
00513 #define SQL_MAX_ROWS_DEFAULT            0UL
00514 
00515 
00516 
00517 /* SQL_NOSCAN options */
00518 
00519 #define SQL_NOSCAN_OFF                  0UL     /*      1.0 FALSE */
00520 
00521 #define SQL_NOSCAN_ON                   1UL     /*      1.0 TRUE */
00522 
00523 #define SQL_NOSCAN_DEFAULT              SQL_NOSCAN_OFF
00524 
00525 
00526 
00527 /* SQL_MAX_LENGTH options */
00528 
00529 #define SQL_MAX_LENGTH_DEFAULT          0UL
00530 
00531 
00532 
00533 /* values for SQL_ATTR_ASYNC_ENABLE */
00534 
00535 #define SQL_ASYNC_ENABLE_OFF                    0UL
00536 
00537 #define SQL_ASYNC_ENABLE_ON                             1UL
00538 
00539 #define SQL_ASYNC_ENABLE_DEFAULT        SQL_ASYNC_ENABLE_OFF
00540 
00541 
00542 
00543 /* SQL_BIND_TYPE options */
00544 
00545 #define SQL_BIND_BY_COLUMN              0UL
00546 
00547 #define SQL_BIND_TYPE_DEFAULT           SQL_BIND_BY_COLUMN  /* Default value */
00548 
00549 
00550 
00551 /* SQL_CONCURRENCY options */
00552 
00553 #define SQL_CONCUR_READ_ONLY            1
00554 
00555 #define SQL_CONCUR_LOCK                 2
00556 
00557 #define SQL_CONCUR_ROWVER               3
00558 
00559 #define SQL_CONCUR_VALUES               4
00560 
00561 #define SQL_CONCUR_DEFAULT              SQL_CONCUR_READ_ONLY /* Default value */
00562 
00563 
00564 
00565 /* SQL_CURSOR_TYPE options */
00566 
00567 #define SQL_CURSOR_FORWARD_ONLY         0UL
00568 
00569 #define SQL_CURSOR_KEYSET_DRIVEN        1UL
00570 
00571 #define SQL_CURSOR_DYNAMIC              2UL
00572 
00573 #define SQL_CURSOR_STATIC               3UL
00574 
00575 #define SQL_CURSOR_TYPE_DEFAULT         SQL_CURSOR_FORWARD_ONLY /* Default value */
00576 
00577 
00578 
00579 /* SQL_ROWSET_SIZE options */
00580 
00581 #define SQL_ROWSET_SIZE_DEFAULT         1UL
00582 
00583 
00584 
00585 /* SQL_KEYSET_SIZE options */
00586 
00587 #define SQL_KEYSET_SIZE_DEFAULT         0UL
00588 
00589 
00590 
00591 /* SQL_SIMULATE_CURSOR options */
00592 
00593 #define SQL_SC_NON_UNIQUE               0UL
00594 
00595 #define SQL_SC_TRY_UNIQUE               1UL
00596 
00597 #define SQL_SC_UNIQUE                   2UL
00598 
00599 
00600 
00601 /* SQL_RETRIEVE_DATA options */
00602 
00603 #define SQL_RD_OFF                      0UL
00604 
00605 #define SQL_RD_ON                       1UL
00606 
00607 #define SQL_RD_DEFAULT                  SQL_RD_ON
00608 
00609 
00610 
00611 /* SQL_USE_BOOKMARKS options */
00612 
00613 #define SQL_UB_OFF                      0UL
00614 
00615 #define SQL_UB_ON                                               01UL
00616 
00617 #define SQL_UB_DEFAULT                  SQL_UB_OFF
00618 
00619 
00620 
00621 /* New values for SQL_USE_BOOKMARKS attribute */
00622 
00623 #if (ODBCVER >= 0x0300)
00624 
00625 #define SQL_UB_FIXED                                    SQL_UB_ON
00626 
00627 #define SQL_UB_VARIABLE                                 2UL
00628 
00629 #endif  /* ODBCVER >= 0x0300 */
00630 
00631 
00632 
00633 /* extended descriptor field */
00634 
00635 #if (ODBCVER >= 0x0300)
00636 
00637 #define SQL_DESC_ARRAY_SIZE                                             20
00638 
00639 #define SQL_DESC_ARRAY_STATUS_PTR                               21
00640 
00641 #define SQL_DESC_AUTO_UNIQUE_VALUE                              SQL_COLUMN_AUTO_INCREMENT
00642 
00643 #define SQL_DESC_BASE_COLUMN_NAME                               22
00644 
00645 #define SQL_DESC_BASE_TABLE_NAME                                23
00646 
00647 #define SQL_DESC_BIND_OFFSET_PTR                                24
00648 
00649 #define SQL_DESC_BIND_TYPE                                              25
00650 
00651 #define SQL_DESC_CASE_SENSITIVE                                 SQL_COLUMN_CASE_SENSITIVE
00652 
00653 #define SQL_DESC_CATALOG_NAME                                   SQL_COLUMN_QUALIFIER_NAME
00654 
00655 #define SQL_DESC_CONCISE_TYPE                                   SQL_COLUMN_TYPE
00656 
00657 #define SQL_DESC_DATETIME_INTERVAL_PRECISION    26
00658 
00659 #define SQL_DESC_DISPLAY_SIZE                                   SQL_COLUMN_DISPLAY_SIZE
00660 
00661 #define SQL_DESC_FIXED_PREC_SCALE                               SQL_COLUMN_MONEY
00662 
00663 #define SQL_DESC_LABEL                                                  SQL_COLUMN_LABEL
00664 
00665 #define SQL_DESC_LITERAL_PREFIX                                 27
00666 
00667 #define SQL_DESC_LITERAL_SUFFIX                                 28
00668 
00669 #define SQL_DESC_LOCAL_TYPE_NAME                                29
00670 
00671 #define SQL_DESC_MAXIMUM_SCALE                                  30
00672 
00673 #define SQL_DESC_MINIMUM_SCALE                                  31
00674 
00675 #define SQL_DESC_NUM_PREC_RADIX                                 32
00676 
00677 #define SQL_DESC_PARAMETER_TYPE                                 33
00678 
00679 #define SQL_DESC_ROWS_PROCESSED_PTR                             34
00680 
00681 #if (ODBCVER >= 0x0350)
00682 
00683 #define SQL_DESC_ROWVER                                                 35
00684 
00685 #endif /* ODBCVER >= 0x0350 */
00686 
00687 #define SQL_DESC_SCHEMA_NAME                                    SQL_COLUMN_OWNER_NAME
00688 
00689 #define SQL_DESC_SEARCHABLE                                             SQL_COLUMN_SEARCHABLE
00690 
00691 #define SQL_DESC_TYPE_NAME                                              SQL_COLUMN_TYPE_NAME
00692 
00693 #define SQL_DESC_TABLE_NAME                                             SQL_COLUMN_TABLE_NAME
00694 
00695 #define SQL_DESC_UNSIGNED                                               SQL_COLUMN_UNSIGNED
00696 
00697 #define SQL_DESC_UPDATABLE                                              SQL_COLUMN_UPDATABLE
00698 
00699 #endif /* ODBCVER >= 0x0300 */
00700 
00701 
00702 
00703 
00704 
00705 /* defines for diagnostics fields */
00706 
00707 #if (ODBCVER >= 0x0300)
00708 
00709 #define SQL_DIAG_CURSOR_ROW_COUNT                       (-1249)
00710 
00711 #define SQL_DIAG_ROW_NUMBER                                     (-1248)
00712 
00713 #define SQL_DIAG_COLUMN_NUMBER                          (-1247) 
00714 
00715 #endif /* ODBCVER >= 0x0300 */
00716 
00717 
00718 
00719 /* SQL extended datatypes */
00720 
00721 #define SQL_DATE                                9
00722 
00723 #if (ODBCVER >= 0x0300)
00724 
00725 #define SQL_INTERVAL                                                    10
00726 
00727 #endif  /* ODBCVER >= 0x0300 */
00728 
00729 #define SQL_TIME                                10
00730 
00731 #define SQL_TIMESTAMP                           11
00732 
00733 #define SQL_LONGVARCHAR                         (-1)
00734 
00735 #define SQL_BINARY                              (-2)
00736 
00737 #define SQL_VARBINARY                           (-3)
00738 
00739 #define SQL_LONGVARBINARY                       (-4)
00740 
00741 #define SQL_BIGINT                              (-5)
00742 
00743 #define SQL_TINYINT                             (-6)
00744 
00745 #define SQL_BIT                                 (-7)
00746 
00747 #if (ODBCVER >= 0x0350)
00748 
00749 #define SQL_GUID                                (-11)
00750 
00751 #endif  /* ODBCVER >= 0x0350 */
00752 
00753 
00754 
00755 #if (ODBCVER >= 0x0300)
00756 
00757 /* interval code */
00758 
00759 #define SQL_CODE_YEAR                           1
00760 
00761 #define SQL_CODE_MONTH                          2
00762 
00763 #define SQL_CODE_DAY                            3
00764 
00765 #define SQL_CODE_HOUR                           4
00766 
00767 #define SQL_CODE_MINUTE                         5
00768 
00769 #define SQL_CODE_SECOND                         6
00770 
00771 #define SQL_CODE_YEAR_TO_MONTH                  7
00772 
00773 #define SQL_CODE_DAY_TO_HOUR                    8
00774 
00775 #define SQL_CODE_DAY_TO_MINUTE                  9
00776 
00777 #define SQL_CODE_DAY_TO_SECOND                  10
00778 
00779 #define SQL_CODE_HOUR_TO_MINUTE                 11
00780 
00781 #define SQL_CODE_HOUR_TO_SECOND                 12
00782 
00783 #define SQL_CODE_MINUTE_TO_SECOND               13
00784 
00785 
00786 
00787 #define SQL_INTERVAL_YEAR                                       (100 + SQL_CODE_YEAR)
00788 
00789 #define SQL_INTERVAL_MONTH                                      (100 + SQL_CODE_MONTH)
00790 
00791 #define SQL_INTERVAL_DAY                                        (100 + SQL_CODE_DAY) 
00792 
00793 #define SQL_INTERVAL_HOUR                                       (100 + SQL_CODE_HOUR) 
00794 
00795 #define SQL_INTERVAL_MINUTE                                     (100 + SQL_CODE_MINUTE) 
00796 
00797 #define SQL_INTERVAL_SECOND                     (100 + SQL_CODE_SECOND) 
00798 
00799 #define SQL_INTERVAL_YEAR_TO_MONTH                      (100 + SQL_CODE_YEAR_TO_MONTH)
00800 
00801 #define SQL_INTERVAL_DAY_TO_HOUR                        (100 + SQL_CODE_DAY_TO_HOUR) 
00802 
00803 #define SQL_INTERVAL_DAY_TO_MINUTE                      (100 + SQL_CODE_DAY_TO_MINUTE) 
00804 
00805 #define SQL_INTERVAL_DAY_TO_SECOND                      (100 + SQL_CODE_DAY_TO_SECOND) 
00806 
00807 #define SQL_INTERVAL_HOUR_TO_MINUTE                     (100 + SQL_CODE_HOUR_TO_MINUTE)
00808 
00809 #define SQL_INTERVAL_HOUR_TO_SECOND                     (100 + SQL_CODE_HOUR_TO_SECOND) 
00810 
00811 #define SQL_INTERVAL_MINUTE_TO_SECOND           (100 + SQL_CODE_MINUTE_TO_SECOND) 
00812 
00813 
00814 
00815 #else
00816 
00817 #define SQL_INTERVAL_YEAR                       (-80)
00818 
00819 #define SQL_INTERVAL_MONTH                      (-81)
00820 
00821 #define SQL_INTERVAL_YEAR_TO_MONTH              (-82)
00822 
00823 #define SQL_INTERVAL_DAY                        (-83)
00824 
00825 #define SQL_INTERVAL_HOUR                       (-84)
00826 
00827 #define SQL_INTERVAL_MINUTE                     (-85)
00828 
00829 #define SQL_INTERVAL_SECOND                     (-86)
00830 
00831 #define SQL_INTERVAL_DAY_TO_HOUR                (-87)
00832 
00833 #define SQL_INTERVAL_DAY_TO_MINUTE              (-88)
00834 
00835 #define SQL_INTERVAL_DAY_TO_SECOND              (-89)
00836 
00837 #define SQL_INTERVAL_HOUR_TO_MINUTE             (-90)
00838 
00839 #define SQL_INTERVAL_HOUR_TO_SECOND             (-91)
00840 
00841 #define SQL_INTERVAL_MINUTE_TO_SECOND           (-92)
00842 
00843 #endif  /* ODBCVER >= 0x0300 */
00844 
00845 
00846 
00847 
00848 
00849 #if (ODBCVER <= 0x0300)
00850 
00851 #define SQL_UNICODE                             (-95)
00852 
00853 #define SQL_UNICODE_VARCHAR                     (-96)
00854 
00855 #define SQL_UNICODE_LONGVARCHAR                 (-97)
00856 
00857 #define SQL_UNICODE_CHAR                        SQL_UNICODE
00858 
00859 #else
00860 
00861 /* The previous definitions for SQL_UNICODE_ are historical and obsolete */
00862 
00863 
00864 
00865 #define SQL_UNICODE                             SQL_WCHAR
00866 
00867 
00868 
00869 #define SQL_UNICODE_VARCHAR             SQL_WVARCHAR
00870 
00871 #define SQL_UNICODE_LONGVARCHAR SQL_WLONGVARCHAR
00872 
00873 #define SQL_UNICODE_CHAR                SQL_WCHAR
00874 
00875 #endif
00876 
00877 
00878 
00879 #if (ODBCVER < 0x0300)
00880 
00881 #define SQL_TYPE_DRIVER_START                   SQL_INTERVAL_YEAR
00882 
00883 #define SQL_TYPE_DRIVER_END                     SQL_UNICODE_LONGVARCHAR
00884 
00885 #endif  /* ODBCVER < 0x0300 */
00886 
00887 
00888 
00889 /* C datatype to SQL datatype mapping      SQL types
00890 
00891                                            ------------------- */
00892 
00893 #define SQL_C_CHAR    SQL_CHAR             /* CHAR, VARCHAR, DECIMAL, NUMERIC */
00894 
00895 #define SQL_C_LONG    SQL_INTEGER          /* INTEGER                      */
00896 
00897 #define SQL_C_SHORT   SQL_SMALLINT         /* SMALLINT                     */
00898 
00899 #define SQL_C_FLOAT   SQL_REAL             /* REAL                         */
00900 
00901 #define SQL_C_DOUBLE  SQL_DOUBLE           /* FLOAT, DOUBLE                */
00902 
00903 #if (ODBCVER >= 0x0300)
00904 
00905 #define SQL_C_NUMERIC           SQL_NUMERIC
00906 
00907 #endif  /* ODBCVER >= 0x0300 */
00908 
00909 #define SQL_C_DEFAULT 99
00910 
00911 
00912 
00913 #define SQL_SIGNED_OFFSET       (-20)
00914 
00915 #define SQL_UNSIGNED_OFFSET     (-22)
00916 
00917 
00918 
00919 /* C datatype to SQL datatype mapping */
00920 
00921 #define SQL_C_DATE       SQL_DATE
00922 
00923 #define SQL_C_TIME       SQL_TIME
00924 
00925 #define SQL_C_TIMESTAMP  SQL_TIMESTAMP
00926 
00927 #if (ODBCVER >= 0x0300)
00928 
00929 #define SQL_C_TYPE_DATE                                 SQL_TYPE_DATE
00930 
00931 #define SQL_C_TYPE_TIME                                 SQL_TYPE_TIME
00932 
00933 #define SQL_C_TYPE_TIMESTAMP                    SQL_TYPE_TIMESTAMP
00934 
00935 #define SQL_C_INTERVAL_YEAR                             SQL_INTERVAL_YEAR
00936 
00937 #define SQL_C_INTERVAL_MONTH                    SQL_INTERVAL_MONTH
00938 
00939 #define SQL_C_INTERVAL_DAY                              SQL_INTERVAL_DAY
00940 
00941 #define SQL_C_INTERVAL_HOUR                             SQL_INTERVAL_HOUR
00942 
00943 #define SQL_C_INTERVAL_MINUTE                   SQL_INTERVAL_MINUTE
00944 
00945 #define SQL_C_INTERVAL_SECOND                   SQL_INTERVAL_SECOND
00946 
00947 #define SQL_C_INTERVAL_YEAR_TO_MONTH    SQL_INTERVAL_YEAR_TO_MONTH
00948 
00949 #define SQL_C_INTERVAL_DAY_TO_HOUR              SQL_INTERVAL_DAY_TO_HOUR
00950 
00951 #define SQL_C_INTERVAL_DAY_TO_MINUTE    SQL_INTERVAL_DAY_TO_MINUTE
00952 
00953 #define SQL_C_INTERVAL_DAY_TO_SECOND    SQL_INTERVAL_DAY_TO_SECOND
00954 
00955 #define SQL_C_INTERVAL_HOUR_TO_MINUTE   SQL_INTERVAL_HOUR_TO_MINUTE
00956 
00957 #define SQL_C_INTERVAL_HOUR_TO_SECOND   SQL_INTERVAL_HOUR_TO_SECOND
00958 
00959 #define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
00960 
00961 #endif  /* ODBCVER >= 0x0300 */
00962 
00963 #define SQL_C_BINARY     SQL_BINARY
00964 
00965 #define SQL_C_BIT        SQL_BIT
00966 
00967 #if (ODBCVER >= 0x0300)
00968 
00969 #define SQL_C_SBIGINT   (SQL_BIGINT+SQL_SIGNED_OFFSET)     /* SIGNED BIGINT */
00970 
00971 #define SQL_C_UBIGINT   (SQL_BIGINT+SQL_UNSIGNED_OFFSET)   /* UNSIGNED BIGINT */
00972 
00973 #endif  /* ODBCVER >= 0x0300 */
00974 
00975 #define SQL_C_TINYINT    SQL_TINYINT
00976 
00977 #define SQL_C_SLONG      (SQL_C_LONG+SQL_SIGNED_OFFSET)    /* SIGNED INTEGER  */
00978 
00979 #define SQL_C_SSHORT     (SQL_C_SHORT+SQL_SIGNED_OFFSET)   /* SIGNED SMALLINT */
00980 
00981 #define SQL_C_STINYINT   (SQL_TINYINT+SQL_SIGNED_OFFSET)   /* SIGNED TINYINT  */
00982 
00983 #define SQL_C_ULONG      (SQL_C_LONG+SQL_UNSIGNED_OFFSET)  /* UNSIGNED INTEGER*/
00984 
00985 #define SQL_C_USHORT     (SQL_C_SHORT+SQL_UNSIGNED_OFFSET) /* UNSIGNED SMALLINT*/
00986 
00987 #define SQL_C_UTINYINT   (SQL_TINYINT+SQL_UNSIGNED_OFFSET) /* UNSIGNED TINYINT*/
00988 
00989 
00990 
00991 #ifdef _WIN64
00992 
00993 #define SQL_C_BOOKMARK   SQL_C_UBIGINT                     /* BOOKMARK        */
00994 
00995 #else
00996 
00997 #define SQL_C_BOOKMARK   SQL_C_ULONG                       /* BOOKMARK        */
00998 
00999 #endif
01000 
01001 
01002 
01003 #if (ODBCVER >= 0x0350)
01004 
01005 #define SQL_C_GUID      SQL_GUID
01006 
01007 #endif  /* ODBCVER >= 0x0350 */
01008 
01009 
01010 
01011 #define SQL_TYPE_NULL                   0
01012 
01013 #if (ODBCVER < 0x0300)
01014 
01015 #define SQL_TYPE_MIN                    SQL_BIT
01016 
01017 #define SQL_TYPE_MAX                    SQL_VARCHAR
01018 
01019 #endif
01020 
01021 
01022 
01023 #if (ODBCVER >= 0x0300)
01024 
01025 #define SQL_C_VARBOOKMARK               SQL_C_BINARY
01026 
01027 #endif  /* ODBCVER >= 0x0300 */
01028 
01029 
01030 
01031 /* define for SQL_DIAG_ROW_NUMBER and SQL_DIAG_COLUMN_NUMBER */
01032 
01033 #if (ODBCVER >= 0x0300)
01034 
01035 #define SQL_NO_ROW_NUMBER                                               (-1)
01036 
01037 #define SQL_NO_COLUMN_NUMBER                                    (-1)
01038 
01039 #define SQL_ROW_NUMBER_UNKNOWN                                  (-2)
01040 
01041 #define SQL_COLUMN_NUMBER_UNKNOWN                               (-2)
01042 
01043 #endif
01044 
01045 
01046 
01047 /* SQLBindParameter extensions */
01048 
01049 #define SQL_DEFAULT_PARAM            (-5)
01050 
01051 #define SQL_IGNORE                   (-6)
01052 
01053 #if (ODBCVER >= 0x0300)
01054 
01055 #define SQL_COLUMN_IGNORE                       SQL_IGNORE
01056 
01057 #endif  /* ODBCVER >= 0x0300 */
01058 
01059 #define SQL_LEN_DATA_AT_EXEC_OFFSET  (-100)
01060 
01061 #define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
01062 
01063 
01064 
01065 /* binary length for driver specific attributes */
01066 
01067 #define SQL_LEN_BINARY_ATTR_OFFSET       (-100)
01068 
01069 #define SQL_LEN_BINARY_ATTR(length)      (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
01070 
01071 
01072 
01073 /* Defines used by Driver Manager when mapping SQLSetParam to SQLBindParameter
01074 
01075 */
01076 
01077 #define SQL_PARAM_TYPE_DEFAULT           SQL_PARAM_INPUT_OUTPUT
01078 
01079 #define SQL_SETPARAM_VALUE_MAX           (-1L)
01080 
01081 
01082 
01083 /* SQLColAttributes defines */
01084 
01085 #define SQL_COLUMN_COUNT                0
01086 
01087 #define SQL_COLUMN_NAME                 1
01088 
01089 #define SQL_COLUMN_TYPE                 2
01090 
01091 #define SQL_COLUMN_LENGTH               3
01092 
01093 #define SQL_COLUMN_PRECISION            4
01094 
01095 #define SQL_COLUMN_SCALE                5
01096 
01097 #define SQL_COLUMN_DISPLAY_SIZE         6
01098 
01099 #define SQL_COLUMN_NULLABLE             7
01100 
01101 #define SQL_COLUMN_UNSIGNED             8
01102 
01103 #define SQL_COLUMN_MONEY                9
01104 
01105 #define SQL_COLUMN_UPDATABLE            10
01106 
01107 #define SQL_COLUMN_AUTO_INCREMENT       11
01108 
01109 #define SQL_COLUMN_CASE_SENSITIVE       12
01110 
01111 #define SQL_COLUMN_SEARCHABLE           13
01112 
01113 #define SQL_COLUMN_TYPE_NAME            14
01114 
01115 #define SQL_COLUMN_TABLE_NAME           15
01116 
01117 #define SQL_COLUMN_OWNER_NAME           16
01118 
01119 #define SQL_COLUMN_QUALIFIER_NAME       17
01120 
01121 #define SQL_COLUMN_LABEL                18
01122 
01123 #define SQL_COLATT_OPT_MAX              SQL_COLUMN_LABEL
01124 
01125 #if (ODBCVER < 0x0300)
01126 
01127 #define SQL_COLUMN_DRIVER_START         1000
01128 
01129 #endif  /* ODBCVER < 0x0300 */
01130 
01131 
01132 
01133 #define SQL_COLATT_OPT_MIN              SQL_COLUMN_COUNT
01134 
01135 
01136 
01137 /* SQLColAttributes subdefines for SQL_COLUMN_UPDATABLE */
01138 
01139 #define SQL_ATTR_READONLY               0
01140 
01141 #define SQL_ATTR_WRITE                  1
01142 
01143 #define SQL_ATTR_READWRITE_UNKNOWN      2
01144 
01145 
01146 
01147 /* SQLColAttributes subdefines for SQL_COLUMN_SEARCHABLE */
01148 
01149 /* These are also used by SQLGetInfo                     */
01150 
01151 #define SQL_UNSEARCHABLE                0
01152 
01153 #define SQL_LIKE_ONLY                   1
01154 
01155 #define SQL_ALL_EXCEPT_LIKE             2
01156 
01157 #define SQL_SEARCHABLE                  3
01158 
01159 #define SQL_PRED_SEARCHABLE                             SQL_SEARCHABLE
01160 
01161 
01162 
01163 
01164 
01165 /* Special return values for SQLGetData */
01166 
01167 #define SQL_NO_TOTAL                    (-4)
01168 
01169 
01170 
01171 /********************************************/
01172 
01173 /* SQLGetFunctions: additional values for   */
01174 
01175 /* fFunction to represent functions that    */
01176 
01177 /* are not in the X/Open spec.                          */
01178 
01179 /********************************************/
01180 
01181 
01182 
01183 #if (ODBCVER >= 0x0300)
01184 
01185 #define SQL_API_SQLALLOCHANDLESTD       73
01186 
01187 #define SQL_API_SQLBULKOPERATIONS       24
01188 
01189 #endif /* ODBCVER >= 0x0300 */
01190 
01191 #define SQL_API_SQLBINDPARAMETER    72
01192 
01193 #define SQL_API_SQLBROWSECONNECT    55    
01194 
01195 #define SQL_API_SQLCOLATTRIBUTES    6 
01196 
01197 #define SQL_API_SQLCOLUMNPRIVILEGES 56
01198 
01199 #define SQL_API_SQLDESCRIBEPARAM    58
01200 
01201 #define SQL_API_SQLDRIVERCONNECT        41 
01202 
01203 #define SQL_API_SQLDRIVERS          71
01204 
01205 #define SQL_API_SQLEXTENDEDFETCH    59
01206 
01207 #define SQL_API_SQLFOREIGNKEYS      60
01208 
01209 #define SQL_API_SQLMORERESULTS      61
01210 
01211 #define SQL_API_SQLNATIVESQL        62
01212 
01213 #define SQL_API_SQLNUMPARAMS        63
01214 
01215 #define SQL_API_SQLPARAMOPTIONS     64
01216 
01217 #define SQL_API_SQLPRIMARYKEYS      65
01218 
01219 #define SQL_API_SQLPROCEDURECOLUMNS 66
01220 
01221 #define SQL_API_SQLPROCEDURES       67
01222 
01223 #define SQL_API_SQLSETPOS           68
01224 
01225 #define SQL_API_SQLSETSCROLLOPTIONS 69
01226 
01227 #define SQL_API_SQLTABLEPRIVILEGES  70
01228 
01229 
01230 
01231 /*-------------------------------------------*/
01232 
01233 /* SQL_EXT_API_LAST is not useful with ODBC  */
01234 
01235 /* version 3.0 because some of the values    */
01236 
01237 /* from X/Open are in the 10000 range.       */
01238 
01239 /*-------------------------------------------*/
01240 
01241 
01242 
01243 #if (ODBCVER < 0x0300)
01244 
01245 #define SQL_EXT_API_LAST            SQL_API_SQLBINDPARAMETER
01246 
01247 #define SQL_NUM_FUNCTIONS           23
01248 
01249 #define SQL_EXT_API_START           40
01250 
01251 #define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1)
01252 
01253 #endif
01254 
01255 
01256 
01257 /*--------------------------------------------*/
01258 
01259 /* SQL_API_ALL_FUNCTIONS returns an array     */
01260 
01261 /* of 'booleans' representing whether a       */
01262 
01263 /* function is implemented by the driver.     */
01264 
01265 /*                                            */
01266 
01267 /* CAUTION: Only functions defined in ODBC    */
01268 
01269 /* version 2.0 and earlier are returned, the  */
01270 
01271 /* new high-range function numbers defined by */
01272 
01273 /* X/Open break this scheme.   See the new    */
01274 
01275 /* method -- SQL_API_ODBC3_ALL_FUNCTIONS      */
01276 
01277 /*--------------------------------------------*/
01278 
01279 
01280 
01281 #define SQL_API_ALL_FUNCTIONS       0           /* See CAUTION above */
01282 
01283 
01284 
01285 /*----------------------------------------------*/
01286 
01287 /* 2.X drivers export a dummy function with     */
01288 
01289 /* ordinal number SQL_API_LOADBYORDINAL to speed*/
01290 
01291 /* loading under the windows operating system.  */
01292 
01293 /*                                              */
01294 
01295 /* CAUTION: Loading by ordinal is not supported */
01296 
01297 /* for 3.0 and above drivers.                   */
01298 
01299 /*----------------------------------------------*/
01300 
01301 
01302 
01303 #define SQL_API_LOADBYORDINAL       199         /* See CAUTION above */ 
01304 
01305 
01306 
01307 /*----------------------------------------------*/
01308 
01309 /* SQL_API_ODBC3_ALL_FUNCTIONS                  */
01310 
01311 /* This returns a bitmap, which allows us to    */
01312 
01313 /* handle the higher-valued function numbers.   */
01314 
01315 /* Use  SQL_FUNC_EXISTS(bitmap,function_number) */
01316 
01317 /* to determine if the function exists.         */
01318 
01319 /*----------------------------------------------*/
01320 
01321 
01322 
01323 
01324 
01325 #if (ODBCVER >= 0x0300)
01326 
01327 #define SQL_API_ODBC3_ALL_FUNCTIONS     999
01328 
01329 #define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE        250             /* array of 250 words */
01330 
01331 
01332 
01333 #define SQL_FUNC_EXISTS(pfExists, uwAPI) \
01334 
01335                                 ((*(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) \
01336 
01337                                         & (1 << ((uwAPI) & 0x000F)) \
01338 
01339                                  ) ? SQL_TRUE : SQL_FALSE \
01340 
01341                                 )
01342 
01343 #endif  /* ODBCVER >= 0x0300 */
01344 
01345 
01346 
01347 
01348 
01349 /************************************************/
01350 
01351 /* Extended definitions for SQLGetInfo                  */
01352 
01353 /************************************************/
01354 
01355 
01356 
01357 /*---------------------------------*/
01358 
01359 /* Values in ODBC 2.0 that are not */
01360 
01361 /* in the X/Open spec              */
01362 
01363 /*---------------------------------*/
01364 
01365 
01366 
01367 #define SQL_INFO_FIRST                       0          
01368 
01369 #define SQL_ACTIVE_CONNECTIONS               0  /* MAX_DRIVER_CONNECTIONS */
01370 
01371 #define SQL_ACTIVE_STATEMENTS                1  /* MAX_CONCURRENT_ACTIVITIES */
01372 
01373 #define SQL_DRIVER_HDBC                      3
01374 
01375 #define SQL_DRIVER_HENV                      4
01376 
01377 #define SQL_DRIVER_HSTMT                     5
01378 
01379 #define SQL_DRIVER_NAME                      6
01380 
01381 #define SQL_DRIVER_VER                       7
01382 
01383 #define SQL_ODBC_API_CONFORMANCE             9
01384 
01385 #define SQL_ODBC_VER                        10
01386 
01387 #define SQL_ROW_UPDATES                     11
01388 
01389 #define SQL_ODBC_SAG_CLI_CONFORMANCE        12
01390 
01391 #define SQL_ODBC_SQL_CONFORMANCE            15
01392 
01393 #define SQL_PROCEDURES                      21
01394 
01395 #define SQL_CONCAT_NULL_BEHAVIOR            22
01396 
01397 #define SQL_CURSOR_ROLLBACK_BEHAVIOR        24
01398 
01399 #define SQL_EXPRESSIONS_IN_ORDERBY          27
01400 
01401 #define SQL_MAX_OWNER_NAME_LEN              32  /* MAX_SCHEMA_NAME_LEN */
01402 
01403 #define SQL_MAX_PROCEDURE_NAME_LEN          33
01404 
01405 #define SQL_MAX_QUALIFIER_NAME_LEN          34  /* MAX_CATALOG_NAME_LEN */
01406 
01407 #define SQL_MULT_RESULT_SETS                36
01408 
01409 #define SQL_MULTIPLE_ACTIVE_TXN             37
01410 
01411 #define SQL_OUTER_JOINS                     38
01412 
01413 #define SQL_OWNER_TERM                      39
01414 
01415 #define SQL_PROCEDURE_TERM                  40
01416 
01417 #define SQL_QUALIFIER_NAME_SEPARATOR        41
01418 
01419 #define SQL_QUALIFIER_TERM                  42
01420 
01421 #define SQL_SCROLL_OPTIONS                  44
01422 
01423 #define SQL_TABLE_TERM                      45
01424 
01425 #define SQL_CONVERT_FUNCTIONS               48
01426 
01427 #define SQL_NUMERIC_FUNCTIONS               49
01428 
01429 #define SQL_STRING_FUNCTIONS                50
01430 
01431 #define SQL_SYSTEM_FUNCTIONS                51
01432 
01433 #define SQL_TIMEDATE_FUNCTIONS              52
01434 
01435 #define SQL_CONVERT_BIGINT                  53
01436 
01437 #define SQL_CONVERT_BINARY                  54
01438 
01439 #define SQL_CONVERT_BIT                     55
01440 
01441 #define SQL_CONVERT_CHAR                    56
01442 
01443 #define SQL_CONVERT_DATE                    57
01444 
01445 #define SQL_CONVERT_DECIMAL                 58
01446 
01447 #define SQL_CONVERT_DOUBLE                  59
01448 
01449 #define SQL_CONVERT_FLOAT                   60
01450 
01451 #define SQL_CONVERT_INTEGER                 61
01452 
01453 #define SQL_CONVERT_LONGVARCHAR             62
01454 
01455 #define SQL_CONVERT_NUMERIC                 63
01456 
01457 #define SQL_CONVERT_REAL                    64
01458 
01459 #define SQL_CONVERT_SMALLINT                65
01460 
01461 #define SQL_CONVERT_TIME                    66
01462 
01463 #define SQL_CONVERT_TIMESTAMP               67
01464 
01465 #define SQL_CONVERT_TINYINT                 68
01466 
01467 #define SQL_CONVERT_VARBINARY               69
01468 
01469 #define SQL_CONVERT_VARCHAR                 70
01470 
01471 #define SQL_CONVERT_LONGVARBINARY           71
01472 
01473 #define SQL_ODBC_SQL_OPT_IEF                73          /* SQL_INTEGRITY */
01474 
01475 #define SQL_CORRELATION_NAME                74
01476 
01477 #define SQL_NON_NULLABLE_COLUMNS            75
01478 
01479 #define SQL_DRIVER_HLIB                     76
01480 
01481 #define SQL_DRIVER_ODBC_VER                 77
01482 
01483 #define SQL_LOCK_TYPES                      78
01484 
01485 #define SQL_POS_OPERATIONS                  79
01486 
01487 #define SQL_POSITIONED_STATEMENTS           80
01488 
01489 #define SQL_BOOKMARK_PERSISTENCE            82
01490 
01491 #define SQL_STATIC_SENSITIVITY              83
01492 
01493 #define SQL_FILE_USAGE                      84
01494 
01495 #define SQL_COLUMN_ALIAS                    87
01496 
01497 #define SQL_GROUP_BY                        88
01498 
01499 #define SQL_KEYWORDS                        89
01500 
01501 #define SQL_OWNER_USAGE                     91
01502 
01503 #define SQL_QUALIFIER_USAGE                 92
01504 
01505 #define SQL_QUOTED_IDENTIFIER_CASE          93
01506 
01507 #define SQL_SUBQUERIES                      95
01508 
01509 #define SQL_UNION                           96
01510 
01511 #define SQL_MAX_ROW_SIZE_INCLUDES_LONG      103
01512 
01513 #define SQL_MAX_CHAR_LITERAL_LEN            108
01514 
01515 #define SQL_TIMEDATE_ADD_INTERVALS          109
01516 
01517 #define SQL_TIMEDATE_DIFF_INTERVALS         110
01518 
01519 #define SQL_NEED_LONG_DATA_LEN              111
01520 
01521 #define SQL_MAX_BINARY_LITERAL_LEN          112
01522 
01523 #define SQL_LIKE_ESCAPE_CLAUSE              113
01524 
01525 #define SQL_QUALIFIER_LOCATION              114
01526 
01527 
01528 
01529 #if (ODBCVER >= 0x0201 && ODBCVER < 0x0300)
01530 
01531 #define SQL_OJ_CAPABILITIES         65003  /* Temp value until ODBC 3.0 */
01532 
01533 #endif  /* ODBCVER >= 0x0201 && ODBCVER < 0x0300 */
01534 
01535 
01536 
01537 /*----------------------------------------------*/
01538 
01539 /* SQL_INFO_LAST and SQL_INFO_DRIVER_START are  */
01540 
01541 /* not useful anymore, because  X/Open has      */
01542 
01543 /* values in the 10000 range.   You                     */
01544 
01545 /* must contact X/Open directly to get a range  */
01546 
01547 /* of numbers for driver-specific values.           */
01548 
01549 /*----------------------------------------------*/
01550 
01551 
01552 
01553 #if (ODBCVER < 0x0300)
01554 
01555 #define SQL_INFO_LAST                                           SQL_QUALIFIER_LOCATION
01556 
01557 #define SQL_INFO_DRIVER_START                           1000
01558 
01559 #endif /* ODBCVER < 0x0300 */
01560 
01561 
01562 
01563 /*-----------------------------------------------*/
01564 
01565 /* ODBC 3.0 SQLGetInfo values that are not part  */
01566 
01567 /* of the X/Open standard at this time.   X/Open */
01568 
01569 /* standard values are in sql.h.                                 */
01570 
01571 /*-----------------------------------------------*/
01572 
01573 
01574 
01575 #if (ODBCVER >= 0x0300)
01576 
01577 #define SQL_ACTIVE_ENVIRONMENTS                                 116
01578 
01579 #define SQL_ALTER_DOMAIN                                                117
01580 
01581 
01582 
01583 #define SQL_SQL_CONFORMANCE                                             118
01584 
01585 #define SQL_DATETIME_LITERALS                                   119
01586 
01587 
01588 
01589 #define SQL_ASYNC_MODE                                                  10021   /* new X/Open spec */
01590 
01591 #define SQL_BATCH_ROW_COUNT                                             120
01592 
01593 #define SQL_BATCH_SUPPORT                                               121
01594 
01595 #define SQL_CATALOG_LOCATION                                    SQL_QUALIFIER_LOCATION
01596 
01597 #define SQL_CATALOG_NAME_SEPARATOR                              SQL_QUALIFIER_NAME_SEPARATOR
01598 
01599 #define SQL_CATALOG_TERM                                                SQL_QUALIFIER_TERM
01600 
01601 #define SQL_CATALOG_USAGE                                               SQL_QUALIFIER_USAGE
01602 
01603 #define SQL_CONVERT_WCHAR                                               122
01604 
01605 #define SQL_CONVERT_INTERVAL_DAY_TIME                   123
01606 
01607 #define SQL_CONVERT_INTERVAL_YEAR_MONTH                 124
01608 
01609 #define SQL_CONVERT_WLONGVARCHAR                                125
01610 
01611 #define SQL_CONVERT_WVARCHAR                                    126
01612 
01613 #define SQL_CREATE_ASSERTION                                    127
01614 
01615 #define SQL_CREATE_CHARACTER_SET                                128
01616 
01617 #define SQL_CREATE_COLLATION                                    129
01618 
01619 #define SQL_CREATE_DOMAIN                                               130
01620 
01621 #define SQL_CREATE_SCHEMA                                               131
01622 
01623 #define SQL_CREATE_TABLE                                                132
01624 
01625 #define SQL_CREATE_TRANSLATION                                  133
01626 
01627 #define SQL_CREATE_VIEW                                                 134
01628 
01629 #define SQL_DRIVER_HDESC                                                135
01630 
01631 #define SQL_DROP_ASSERTION                                              136
01632 
01633 #define SQL_DROP_CHARACTER_SET                                  137
01634 
01635 #define SQL_DROP_COLLATION                                              138
01636 
01637 #define SQL_DROP_DOMAIN                                                 139
01638 
01639 #define SQL_DROP_SCHEMA                                                 140
01640 
01641 #define SQL_DROP_TABLE                                                  141
01642 
01643 #define SQL_DROP_TRANSLATION                                    142
01644 
01645 #define SQL_DROP_VIEW                                                   143
01646 
01647 #define SQL_DYNAMIC_CURSOR_ATTRIBUTES1                  144
01648 
01649 #define SQL_DYNAMIC_CURSOR_ATTRIBUTES2                  145
01650 
01651 #define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1             146             
01652 
01653 #define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2             147
01654 
01655 #define SQL_INDEX_KEYWORDS                                              148
01656 
01657 #define SQL_INFO_SCHEMA_VIEWS                                   149
01658 
01659 #define SQL_KEYSET_CURSOR_ATTRIBUTES1                   150
01660 
01661 #define SQL_KEYSET_CURSOR_ATTRIBUTES2                   151
01662 
01663 #define SQL_MAX_ASYNC_CONCURRENT_STATEMENTS             10022   /* new X/Open spec */
01664 
01665 #define SQL_ODBC_INTERFACE_CONFORMANCE                  152
01666 
01667 #define SQL_PARAM_ARRAY_ROW_COUNTS                      153
01668 
01669 #define SQL_PARAM_ARRAY_SELECTS                         154
01670 
01671 #define SQL_SCHEMA_TERM                                                 SQL_OWNER_TERM
01672 
01673 #define SQL_SCHEMA_USAGE                                                SQL_OWNER_USAGE
01674 
01675 #define SQL_SQL92_DATETIME_FUNCTIONS                    155
01676 
01677 #define SQL_SQL92_FOREIGN_KEY_DELETE_RULE               156             
01678 
01679 #define SQL_SQL92_FOREIGN_KEY_UPDATE_RULE               157             
01680 
01681 #define SQL_SQL92_GRANT                                                 158
01682 
01683 #define SQL_SQL92_NUMERIC_VALUE_FUNCTIONS               159
01684 
01685 #define SQL_SQL92_PREDICATES                                    160
01686 
01687 #define SQL_SQL92_RELATIONAL_JOIN_OPERATORS             161
01688 
01689 #define SQL_SQL92_REVOKE                                                162
01690 
01691 #define SQL_SQL92_ROW_VALUE_CONSTRUCTOR                 163
01692 
01693 #define SQL_SQL92_STRING_FUNCTIONS                              164
01694 
01695 #define SQL_SQL92_VALUE_EXPRESSIONS                             165
01696 
01697 #define SQL_STANDARD_CLI_CONFORMANCE                    166
01698 
01699 #define SQL_STATIC_CURSOR_ATTRIBUTES1                   167     
01700 
01701 #define SQL_STATIC_CURSOR_ATTRIBUTES2                   168
01702 
01703 
01704 
01705 #define SQL_AGGREGATE_FUNCTIONS                                 169
01706 
01707 #define SQL_DDL_INDEX                                                   170
01708 
01709 #define SQL_DM_VER                                                              171
01710 
01711 #define SQL_INSERT_STATEMENT                                    172
01712 
01713 #define SQL_CONVERT_GUID                                                173             
01714 
01715 #define SQL_UNION_STATEMENT                                             SQL_UNION
01716 
01717 #endif  /* ODBCVER >= 0x0300 */
01718 
01719 
01720 
01721 #define SQL_DTC_TRANSITION_COST                                 1750
01722 
01723 
01724 
01725 /* SQL_ALTER_TABLE bitmasks */
01726 
01727 #if (ODBCVER >= 0x0300)
01728 
01729 /* the following 5 bitmasks are defined in sql.h
01730 
01731 *#define SQL_AT_ADD_COLUMN                      0x00000001L
01732 
01733 *#define SQL_AT_DROP_COLUMN                     0x00000002L
01734 
01735 *#define SQL_AT_ADD_CONSTRAINT                  0x00000008L
01736 
01737 */
01738 
01739 #define SQL_AT_ADD_COLUMN_SINGLE                                0x00000020L     
01740 
01741 #define SQL_AT_ADD_COLUMN_DEFAULT                               0x00000040L
01742 
01743 #define SQL_AT_ADD_COLUMN_COLLATION                             0x00000080L
01744 
01745 #define SQL_AT_SET_COLUMN_DEFAULT                               0x00000100L
01746 
01747 #define SQL_AT_DROP_COLUMN_DEFAULT                              0x00000200L
01748 
01749 #define SQL_AT_DROP_COLUMN_CASCADE                              0x00000400L
01750 
01751 #define SQL_AT_DROP_COLUMN_RESTRICT                             0x00000800L
01752 
01753 #define SQL_AT_ADD_TABLE_CONSTRAINT                             0x00001000L             
01754 
01755 #define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE    0x00002000L             
01756 
01757 #define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT   0x00004000L             
01758 
01759 #define SQL_AT_CONSTRAINT_NAME_DEFINITION               0x00008000L
01760 
01761 #define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED    0x00010000L
01762 
01763 #define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE   0x00020000L
01764 
01765 #define SQL_AT_CONSTRAINT_DEFERRABLE                    0x00040000L
01766 
01767 #define SQL_AT_CONSTRAINT_NON_DEFERRABLE                0x00080000L
01768 
01769 #endif  /* ODBCVER >= 0x0300 */
01770 
01771 
01772 
01773 /* SQL_CONVERT_*  return value bitmasks */
01774 
01775 
01776 
01777 #define SQL_CVT_CHAR                        0x00000001L
01778 
01779 #define SQL_CVT_NUMERIC                     0x00000002L
01780 
01781 #define SQL_CVT_DECIMAL                     0x00000004L
01782 
01783 #define SQL_CVT_INTEGER                     0x00000008L
01784 
01785 #define SQL_CVT_SMALLINT                    0x00000010L
01786 
01787 #define SQL_CVT_FLOAT                       0x00000020L
01788 
01789 #define SQL_CVT_REAL                        0x00000040L
01790 
01791 #define SQL_CVT_DOUBLE                      0x00000080L
01792 
01793 #define SQL_CVT_VARCHAR                     0x00000100L
01794 
01795 #define SQL_CVT_LONGVARCHAR                 0x00000200L
01796 
01797 #define SQL_CVT_BINARY                      0x00000400L
01798 
01799 #define SQL_CVT_VARBINARY                   0x00000800L
01800 
01801 #define SQL_CVT_BIT                         0x00001000L
01802 
01803 #define SQL_CVT_TINYINT                     0x00002000L
01804 
01805 #define SQL_CVT_BIGINT                      0x00004000L
01806 
01807 #define SQL_CVT_DATE                        0x00008000L
01808 
01809 #define SQL_CVT_TIME                        0x00010000L
01810 
01811 #define SQL_CVT_TIMESTAMP                   0x00020000L
01812 
01813 #define SQL_CVT_LONGVARBINARY               0x00040000L
01814 
01815 #if (ODBCVER >= 0x0300)
01816 
01817 #define SQL_CVT_INTERVAL_YEAR_MONTH             0x00080000L
01818 
01819 #define SQL_CVT_INTERVAL_DAY_TIME               0x00100000L
01820 
01821 #define SQL_CVT_WCHAR                                           0x00200000L
01822 
01823 #define SQL_CVT_WLONGVARCHAR                            0x00400000L
01824 
01825 #define SQL_CVT_WVARCHAR                                        0x00800000L
01826 
01827 #define SQL_CVT_GUID                                            0x01000000L
01828 
01829 
01830 
01831 #endif  /* ODBCVER >= 0x0300 */
01832 
01833 
01834 
01835 
01836 
01837 /* SQL_CONVERT_FUNCTIONS functions */
01838 
01839 #define SQL_FN_CVT_CONVERT                  0x00000001L
01840 
01841 #if (ODBCVER >= 0x0300)
01842 
01843 #define SQL_FN_CVT_CAST                                         0x00000002L
01844 
01845 #endif  /* ODBCVER >= 0x0300 */
01846 
01847 
01848 
01849 
01850 
01851 /* SQL_STRING_FUNCTIONS functions */
01852 
01853 
01854 
01855 #define SQL_FN_STR_CONCAT                   0x00000001L
01856 
01857 #define SQL_FN_STR_INSERT                   0x00000002L
01858 
01859 #define SQL_FN_STR_LEFT                     0x00000004L
01860 
01861 #define SQL_FN_STR_LTRIM                    0x00000008L
01862 
01863 #define SQL_FN_STR_LENGTH                   0x00000010L
01864 
01865 #define SQL_FN_STR_LOCATE                   0x00000020L
01866 
01867 #define SQL_FN_STR_LCASE                    0x00000040L
01868 
01869 #define SQL_FN_STR_REPEAT                   0x00000080L
01870 
01871 #define SQL_FN_STR_REPLACE                  0x00000100L
01872 
01873 #define SQL_FN_STR_RIGHT                    0x00000200L
01874 
01875 #define SQL_FN_STR_RTRIM                    0x00000400L
01876 
01877 #define SQL_FN_STR_SUBSTRING                0x00000800L
01878 
01879 #define SQL_FN_STR_UCASE                    0x00001000L
01880 
01881 #define SQL_FN_STR_ASCII                    0x00002000L
01882 
01883 #define SQL_FN_STR_CHAR                     0x00004000L
01884 
01885 #define SQL_FN_STR_DIFFERENCE               0x00008000L
01886 
01887 #define SQL_FN_STR_LOCATE_2                 0x00010000L
01888 
01889 #define SQL_FN_STR_SOUNDEX                  0x00020000L
01890 
01891 #define SQL_FN_STR_SPACE                    0x00040000L
01892 
01893 #if (ODBCVER >= 0x0300)
01894 
01895 #define SQL_FN_STR_BIT_LENGTH                           0x00080000L
01896 
01897 #define SQL_FN_STR_CHAR_LENGTH                          0x00100000L
01898 
01899 #define SQL_FN_STR_CHARACTER_LENGTH                     0x00200000L
01900 
01901 #define SQL_FN_STR_OCTET_LENGTH                         0x00400000L
01902 
01903 #define SQL_FN_STR_POSITION                                     0x00800000L
01904 
01905 #endif  /* ODBCVER >= 0x0300 */
01906 
01907 
01908 
01909 /* SQL_SQL92_STRING_FUNCTIONS */
01910 
01911 #if (ODBCVER >= 0x0300)
01912 
01913 #define SQL_SSF_CONVERT                                         0x00000001L     
01914 
01915 #define SQL_SSF_LOWER                                           0x00000002L
01916 
01917 #define SQL_SSF_UPPER                                           0x00000004L
01918 
01919 #define SQL_SSF_SUBSTRING                                       0x00000008L
01920 
01921 #define SQL_SSF_TRANSLATE                                       0x00000010L
01922 
01923 #define SQL_SSF_TRIM_BOTH                                       0x00000020L
01924 
01925 #define SQL_SSF_TRIM_LEADING                            0x00000040L
01926 
01927 #define SQL_SSF_TRIM_TRAILING                           0x00000080L
01928 
01929 #endif /* ODBCVER >= 0x0300 */
01930 
01931 
01932 
01933 /* SQL_NUMERIC_FUNCTIONS functions */
01934 
01935 
01936 
01937 #define SQL_FN_NUM_ABS                      0x00000001L
01938 
01939 #define SQL_FN_NUM_ACOS                     0x00000002L
01940 
01941 #define SQL_FN_NUM_ASIN                     0x00000004L
01942 
01943 #define SQL_FN_NUM_ATAN                     0x00000008L
01944 
01945 #define SQL_FN_NUM_ATAN2                    0x00000010L
01946 
01947 #define SQL_FN_NUM_CEILING                  0x00000020L
01948 
01949 #define SQL_FN_NUM_COS                      0x00000040L
01950 
01951 #define SQL_FN_NUM_COT                      0x00000080L
01952 
01953 #define SQL_FN_NUM_EXP                      0x00000100L
01954 
01955 #define SQL_FN_NUM_FLOOR                    0x00000200L
01956 
01957 #define SQL_FN_NUM_LOG                      0x00000400L
01958 
01959 #define SQL_FN_NUM_MOD                      0x00000800L
01960 
01961 #define SQL_FN_NUM_SIGN                     0x00001000L
01962 
01963 #define SQL_FN_NUM_SIN                      0x00002000L
01964 
01965 #define SQL_FN_NUM_SQRT                     0x00004000L
01966 
01967 #define SQL_FN_NUM_TAN                      0x00008000L
01968 
01969 #define SQL_FN_NUM_PI                       0x00010000L
01970 
01971 #define SQL_FN_NUM_RAND                     0x00020000L
01972 
01973 #define SQL_FN_NUM_DEGREES                  0x00040000L
01974 
01975 #define SQL_FN_NUM_LOG10                    0x00080000L
01976 
01977 #define SQL_FN_NUM_POWER                    0x00100000L
01978 
01979 #define SQL_FN_NUM_RADIANS                  0x00200000L
01980 
01981 #define SQL_FN_NUM_ROUND                    0x00400000L
01982 
01983 #define SQL_FN_NUM_TRUNCATE                 0x00800000L
01984 
01985 
01986 
01987 /* SQL_SQL92_NUMERIC_VALUE_FUNCTIONS */
01988 
01989 #if (ODBCVER >= 0x0300)
01990 
01991 #define SQL_SNVF_BIT_LENGTH                                     0x00000001L
01992 
01993 #define SQL_SNVF_CHAR_LENGTH                            0x00000002L
01994 
01995 #define SQL_SNVF_CHARACTER_LENGTH                       0x00000004L
01996 
01997 #define SQL_SNVF_EXTRACT                                        0x00000008L
01998 
01999 #define SQL_SNVF_OCTET_LENGTH                           0x00000010L
02000 
02001 #define SQL_SNVF_POSITION                                       0x00000020L
02002 
02003 #endif  /* ODBCVER >= 0x0300 */
02004 
02005 
02006 
02007 /* SQL_TIMEDATE_FUNCTIONS functions */
02008 
02009 
02010 
02011 #define SQL_FN_TD_NOW                       0x00000001L
02012 
02013 #define SQL_FN_TD_CURDATE                   0x00000002L
02014 
02015 #define SQL_FN_TD_DAYOFMONTH                0x00000004L
02016 
02017 #define SQL_FN_TD_DAYOFWEEK                 0x00000008L
02018 
02019 #define SQL_FN_TD_DAYOFYEAR                 0x00000010L
02020 
02021 #define SQL_FN_TD_MONTH                     0x00000020L
02022 
02023 #define SQL_FN_TD_QUARTER                   0x00000040L
02024 
02025 #define SQL_FN_TD_WEEK                      0x00000080L
02026 
02027 #define SQL_FN_TD_YEAR                      0x00000100L
02028 
02029 #define SQL_FN_TD_CURTIME                   0x00000200L
02030 
02031 #define SQL_FN_TD_HOUR                      0x00000400L
02032 
02033 #define SQL_FN_TD_MINUTE                    0x00000800L
02034 
02035 #define SQL_FN_TD_SECOND                    0x00001000L
02036 
02037 #define SQL_FN_TD_TIMESTAMPADD              0x00002000L
02038 
02039 #define SQL_FN_TD_TIMESTAMPDIFF             0x00004000L
02040 
02041 #define SQL_FN_TD_DAYNAME                   0x00008000L
02042 
02043 #define SQL_FN_TD_MONTHNAME                 0x00010000L
02044 
02045 #if (ODBCVER >= 0x0300)
02046 
02047 #define SQL_FN_TD_CURRENT_DATE                          0x00020000L
02048 
02049 #define SQL_FN_TD_CURRENT_TIME                          0x00040000L
02050 
02051 #define SQL_FN_TD_CURRENT_TIMESTAMP                     0x00080000L
02052 
02053 #define SQL_FN_TD_EXTRACT                                       0x00100000L
02054 
02055 #endif  /* ODBCVER >= 0x0300 */
02056 
02057 
02058 
02059 /* SQL_SQL92_DATETIME_FUNCTIONS */
02060 
02061 #if (ODBCVER >= 0x0300)
02062 
02063 #define SQL_SDF_CURRENT_DATE                            0x00000001L
02064 
02065 #define SQL_SDF_CURRENT_TIME                            0x00000002L
02066 
02067 #define SQL_SDF_CURRENT_TIMESTAMP                       0x00000004L
02068 
02069 #endif /* ODBCVER >= 0x0300 */
02070 
02071 
02072 
02073 /* SQL_SYSTEM_FUNCTIONS functions */
02074 
02075 
02076 
02077 #define SQL_FN_SYS_USERNAME                 0x00000001L
02078 
02079 #define SQL_FN_SYS_DBNAME                   0x00000002L
02080 
02081 #define SQL_FN_SYS_IFNULL                   0x00000004L
02082 
02083 
02084 
02085 /* SQL_TIMEDATE_ADD_INTERVALS and SQL_TIMEDATE_DIFF_INTERVALS functions */
02086 
02087 
02088 
02089 #define SQL_FN_TSI_FRAC_SECOND              0x00000001L
02090 
02091 #define SQL_FN_TSI_SECOND                   0x00000002L
02092 
02093 #define SQL_FN_TSI_MINUTE                   0x00000004L
02094 
02095 #define SQL_FN_TSI_HOUR                     0x00000008L
02096 
02097 #define SQL_FN_TSI_DAY                      0x00000010L
02098 
02099 #define SQL_FN_TSI_WEEK                     0x00000020L
02100 
02101 #define SQL_FN_TSI_MONTH                    0x00000040L
02102 
02103 #define SQL_FN_TSI_QUARTER                  0x00000080L
02104 
02105 #define SQL_FN_TSI_YEAR                     0x00000100L
02106 
02107 
02108 
02109 /* bitmasks for SQL_DYNAMIC_CURSOR_ATTRIBUTES1,
02110 
02111  * SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, 
02112 
02113  * SQL_KEYSET_CURSOR_ATTRIBUTES1, and SQL_STATIC_CURSOR_ATTRIBUTES1 
02114 
02115  */
02116 
02117 #if (ODBCVER >= 0x0300)
02118 
02119 /* supported SQLFetchScroll FetchOrientation's */
02120 
02121 #define SQL_CA1_NEXT                                            0x00000001L
02122 
02123 #define SQL_CA1_ABSOLUTE                                        0x00000002L
02124 
02125 #define SQL_CA1_RELATIVE                                        0x00000004L
02126 
02127 #define SQL_CA1_BOOKMARK                                        0x00000008L
02128 
02129 
02130 
02131 /* supported SQLSetPos LockType's */
02132 
02133 #define SQL_CA1_LOCK_NO_CHANGE                          0x00000040L
02134 
02135 #define SQL_CA1_LOCK_EXCLUSIVE                          0x00000080L
02136 
02137 #define SQL_CA1_LOCK_UNLOCK                                     0x00000100L
02138 
02139 
02140 
02141 /* supported SQLSetPos Operations */
02142 
02143 #define SQL_CA1_POS_POSITION                            0x00000200L
02144 
02145 #define SQL_CA1_POS_UPDATE                                      0x00000400L
02146 
02147 #define SQL_CA1_POS_DELETE                                      0x00000800L
02148 
02149 #define SQL_CA1_POS_REFRESH                                     0x00001000L
02150 
02151 
02152 
02153 /* positioned updates and deletes */
02154 
02155 #define SQL_CA1_POSITIONED_UPDATE                       0x00002000L
02156 
02157 #define SQL_CA1_POSITIONED_DELETE                       0x00004000L
02158 
02159 #define SQL_CA1_SELECT_FOR_UPDATE                       0x00008000L
02160 
02161 
02162 
02163 /* supported SQLBulkOperations operations */
02164 
02165 #define SQL_CA1_BULK_ADD                                        0x00010000L
02166 
02167 #define SQL_CA1_BULK_UPDATE_BY_BOOKMARK         0x00020000L
02168 
02169 #define SQL_CA1_BULK_DELETE_BY_BOOKMARK         0x00040000L
02170 
02171 #define SQL_CA1_BULK_FETCH_BY_BOOKMARK          0x00080000L
02172 
02173 #endif  /* ODBCVER >= 0x0300 */
02174 
02175 
02176 
02177 /* bitmasks for SQL_DYNAMIC_CURSOR_ATTRIBUTES2,
02178 
02179  * SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2, 
02180 
02181  * SQL_KEYSET_CURSOR_ATTRIBUTES2, and SQL_STATIC_CURSOR_ATTRIBUTES2 
02182 
02183  */
02184 
02185 #if (ODBCVER >= 0x0300)
02186 
02187 /* supported values for SQL_ATTR_SCROLL_CONCURRENCY */
02188 
02189 #define SQL_CA2_READ_ONLY_CONCURRENCY           0x00000001L
02190 
02191 #define SQL_CA2_LOCK_CONCURRENCY                        0x00000002L
02192 
02193 #define SQL_CA2_OPT_ROWVER_CONCURRENCY          0x00000004L
02194 
02195 #define SQL_CA2_OPT_VALUES_CONCURRENCY          0x00000008L
02196 
02197 
02198 
02199 /* sensitivity of the cursor to its own inserts, deletes, and updates */
02200 
02201 #define SQL_CA2_SENSITIVITY_ADDITIONS           0x00000010L
02202 
02203 #define SQL_CA2_SENSITIVITY_DELETIONS           0x00000020L
02204 
02205 #define SQL_CA2_SENSITIVITY_UPDATES                     0x00000040L
02206 
02207 
02208 
02209 /* semantics of SQL_ATTR_MAX_ROWS */
02210 
02211 #define SQL_CA2_MAX_ROWS_SELECT                         0x00000080L
02212 
02213 #define SQL_CA2_MAX_ROWS_INSERT                         0x00000100L
02214 
02215 #define SQL_CA2_MAX_ROWS_DELETE                         0x00000200L
02216 
02217 #define SQL_CA2_MAX_ROWS_UPDATE                         0x00000400L
02218 
02219 #define SQL_CA2_MAX_ROWS_CATALOG                        0x00000800L
02220 
02221 #define SQL_CA2_MAX_ROWS_AFFECTS_ALL            (SQL_CA2_MAX_ROWS_SELECT | \
02222 
02223                                         SQL_CA2_MAX_ROWS_INSERT | SQL_CA2_MAX_ROWS_DELETE | \
02224 
02225                                         SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG)
02226 
02227 
02228 
02229 /* semantics of SQL_DIAG_CURSOR_ROW_COUNT */
02230 
02231 #define SQL_CA2_CRC_EXACT                                       0x00001000L
02232 
02233 #define SQL_CA2_CRC_APPROXIMATE                         0x00002000L
02234 
02235 
02236 
02237 /* the kinds of positioned statements that can be simulated */
02238 
02239 #define SQL_CA2_SIMULATE_NON_UNIQUE                     0x00004000L
02240 
02241 #define SQL_CA2_SIMULATE_TRY_UNIQUE                     0x00008000L
02242 
02243 #define SQL_CA2_SIMULATE_UNIQUE                         0x00010000L
02244 
02245 #endif  /* ODBCVER >= 0x0300 */
02246 
02247 
02248 
02249 /* SQL_ODBC_API_CONFORMANCE values */
02250 
02251 
02252 
02253 #define SQL_OAC_NONE                        0x0000
02254 
02255 #define SQL_OAC_LEVEL1                      0x0001
02256 
02257 #define SQL_OAC_LEVEL2                      0x0002
02258 
02259 
02260 
02261 /* SQL_ODBC_SAG_CLI_CONFORMANCE values */
02262 
02263 
02264 
02265 #define SQL_OSCC_NOT_COMPLIANT              0x0000
02266 
02267 #define SQL_OSCC_COMPLIANT                  0x0001
02268 
02269 
02270 
02271 /* SQL_ODBC_SQL_CONFORMANCE values */
02272 
02273 
02274 
02275 #define SQL_OSC_MINIMUM                     0x0000
02276 
02277 #define SQL_OSC_CORE                        0x0001
02278 
02279 #define SQL_OSC_EXTENDED                    0x0002
02280 
02281 
02282 
02283 
02284 
02285 /* SQL_CONCAT_NULL_BEHAVIOR values */
02286 
02287 
02288 
02289 #define SQL_CB_NULL                         0x0000
02290 
02291 #define SQL_CB_NON_NULL                     0x0001
02292 
02293 
02294 
02295 /* SQL_SCROLL_OPTIONS masks */
02296 
02297 
02298 
02299 #define SQL_SO_FORWARD_ONLY                 0x00000001L
02300 
02301 #define SQL_SO_KEYSET_DRIVEN                0x00000002L
02302 
02303 #define SQL_SO_DYNAMIC                      0x00000004L
02304 
02305 #define SQL_SO_MIXED                        0x00000008L
02306 
02307 #define SQL_SO_STATIC                       0x00000010L
02308 
02309 
02310 
02311 /* SQL_FETCH_DIRECTION masks */
02312 
02313 
02314 
02315 /* SQL_FETCH_RESUME is no longer supported
02316 
02317 #define SQL_FD_FETCH_RESUME                 0x00000040L 
02318 
02319 */
02320 
02321 #define SQL_FD_FETCH_BOOKMARK               0x00000080L
02322 
02323 
02324 
02325 /* SQL_TXN_ISOLATION_OPTION masks */
02326 
02327 /* SQL_TXN_VERSIONING is no longer supported
02328 
02329 #define SQL_TXN_VERSIONING                  0x00000010L
02330 
02331 */
02332 
02333 
02334 
02335 /* SQL_CORRELATION_NAME values */
02336 
02337 
02338 
02339 #define SQL_CN_NONE                         0x0000
02340 
02341 #define SQL_CN_DIFFERENT                    0x0001
02342 
02343 #define SQL_CN_ANY                          0x0002
02344 
02345 
02346 
02347 /* SQL_NON_NULLABLE_COLUMNS values */
02348 
02349 
02350 
02351 #define SQL_NNC_NULL                        0x0000
02352 
02353 #define SQL_NNC_NON_NULL                    0x0001
02354 
02355 
02356 
02357 /* SQL_NULL_COLLATION values */
02358 
02359 
02360 
02361 #define SQL_NC_START                        0x0002
02362 
02363 #define SQL_NC_END                          0x0004
02364 
02365 
02366 
02367 /* SQL_FILE_USAGE values */
02368 
02369 
02370 
02371 #define SQL_FILE_NOT_SUPPORTED              0x0000
02372 
02373 #define SQL_FILE_TABLE                      0x0001
02374 
02375 #define SQL_FILE_QUALIFIER                  0x0002
02376 
02377 #define SQL_FILE_CATALOG                                        SQL_FILE_QUALIFIER      // ODBC 3.0
02378 
02379 
02380 
02381 
02382 
02383 /* SQL_GETDATA_EXTENSIONS values */
02384 
02385 
02386 
02387 #define SQL_GD_BLOCK                        0x00000004L
02388 
02389 #define SQL_GD_BOUND                        0x00000008L
02390 
02391 
02392 
02393 /* SQL_POSITIONED_STATEMENTS masks */
02394 
02395 
02396 
02397 #define SQL_PS_POSITIONED_DELETE            0x00000001L
02398 
02399 #define SQL_PS_POSITIONED_UPDATE            0x00000002L
02400 
02401 #define SQL_PS_SELECT_FOR_UPDATE            0x00000004L
02402 
02403 
02404 
02405 /* SQL_GROUP_BY values */
02406 
02407 
02408 
02409 #define SQL_GB_NOT_SUPPORTED                0x0000
02410 
02411 #define SQL_GB_GROUP_BY_EQUALS_SELECT       0x0001
02412 
02413 #define SQL_GB_GROUP_BY_CONTAINS_SELECT     0x0002
02414 
02415 #define SQL_GB_NO_RELATION                  0x0003
02416 
02417 #if (ODBCVER >= 0x0300)
02418 
02419 #define SQL_GB_COLLATE                                          0x0004
02420 
02421 
02422 
02423 #endif  /* ODBCVER >= 0x0300 */
02424 
02425 
02426 
02427 /* SQL_OWNER_USAGE masks */
02428 
02429 
02430 
02431 #define SQL_OU_DML_STATEMENTS               0x00000001L
02432 
02433 #define SQL_OU_PROCEDURE_INVOCATION         0x00000002L
02434 
02435 #define SQL_OU_TABLE_DEFINITION             0x00000004L
02436 
02437 #define SQL_OU_INDEX_DEFINITION             0x00000008L
02438 
02439 #define SQL_OU_PRIVILEGE_DEFINITION         0x00000010L
02440 
02441 
02442 
02443 /* SQL_SCHEMA_USAGE masks */
02444 
02445 #if (ODBCVER >= 0x0300)
02446 
02447 #define SQL_SU_DML_STATEMENTS                   SQL_OU_DML_STATEMENTS 
02448 
02449 #define SQL_SU_PROCEDURE_INVOCATION             SQL_OU_PROCEDURE_INVOCATION
02450 
02451 #define SQL_SU_TABLE_DEFINITION                 SQL_OU_TABLE_DEFINITION
02452 
02453 #define SQL_SU_INDEX_DEFINITION                 SQL_OU_INDEX_DEFINITION
02454 
02455 #define SQL_SU_PRIVILEGE_DEFINITION             SQL_OU_PRIVILEGE_DEFINITION
02456 
02457 #endif  /* ODBCVER >= 0x0300 */
02458 
02459 
02460 
02461 /* SQL_QUALIFIER_USAGE masks */
02462 
02463 
02464 
02465 #define SQL_QU_DML_STATEMENTS               0x00000001L
02466 
02467 #define SQL_QU_PROCEDURE_INVOCATION         0x00000002L
02468 
02469 #define SQL_QU_TABLE_DEFINITION             0x00000004L
02470 
02471 #define SQL_QU_INDEX_DEFINITION             0x00000008L
02472 
02473 #define SQL_QU_PRIVILEGE_DEFINITION         0x00000010L
02474 
02475 
02476 
02477 #if (ODBCVER >= 0x0300)
02478 
02479 /* SQL_CATALOG_USAGE masks */
02480 
02481 #define SQL_CU_DML_STATEMENTS                   SQL_QU_DML_STATEMENTS
02482 
02483 #define SQL_CU_PROCEDURE_INVOCATION             SQL_QU_PROCEDURE_INVOCATION 
02484 
02485 #define SQL_CU_TABLE_DEFINITION                 SQL_QU_TABLE_DEFINITION
02486 
02487 #define SQL_CU_INDEX_DEFINITION                 SQL_QU_INDEX_DEFINITION 
02488 
02489 #define SQL_CU_PRIVILEGE_DEFINITION             SQL_QU_PRIVILEGE_DEFINITION 
02490 
02491 #endif  /* ODBCVER >= 0x0300 */
02492 
02493 
02494 
02495 /* SQL_SUBQUERIES masks */
02496 
02497 
02498 
02499 #define SQL_SQ_COMPARISON                   0x00000001L
02500 
02501 #define SQL_SQ_EXISTS                       0x00000002L
02502 
02503 #define SQL_SQ_IN                           0x00000004L
02504 
02505 #define SQL_SQ_QUANTIFIED                   0x00000008L
02506 
02507 #define SQL_SQ_CORRELATED_SUBQUERIES        0x00000010L
02508 
02509 
02510 
02511 /* SQL_UNION masks */
02512 
02513 
02514 
02515 #define SQL_U_UNION                         0x00000001L
02516 
02517 #define SQL_U_UNION_ALL                     0x00000002L
02518 
02519 
02520 
02521 /* SQL_BOOKMARK_PERSISTENCE values */
02522 
02523 
02524 
02525 #define SQL_BP_CLOSE                        0x00000001L
02526 
02527 #define SQL_BP_DELETE                       0x00000002L
02528 
02529 #define SQL_BP_DROP                         0x00000004L
02530 
02531 #define SQL_BP_TRANSACTION                  0x00000008L
02532 
02533 #define SQL_BP_UPDATE                       0x00000010L
02534 
02535 #define SQL_BP_OTHER_HSTMT                  0x00000020L
02536 
02537 #define SQL_BP_SCROLL                       0x00000040L
02538 
02539 
02540 
02541 /* SQL_STATIC_SENSITIVITY values */
02542 
02543 
02544 
02545 #define SQL_SS_ADDITIONS                    0x00000001L
02546 
02547 #define SQL_SS_DELETIONS                    0x00000002L
02548 
02549 #define SQL_SS_UPDATES                      0x00000004L
02550 
02551 
02552 
02553 /* SQL_VIEW values */
02554 
02555 #define SQL_CV_CREATE_VIEW                                      0x00000001L
02556 
02557 #define SQL_CV_CHECK_OPTION                                     0x00000002L
02558 
02559 #define SQL_CV_CASCADED                                         0x00000004L
02560 
02561 #define SQL_CV_LOCAL                                            0x00000008L
02562 
02563 
02564 
02565 /* SQL_LOCK_TYPES masks */
02566 
02567 
02568 
02569 #define SQL_LCK_NO_CHANGE                   0x00000001L
02570 
02571 #define SQL_LCK_EXCLUSIVE                   0x00000002L
02572 
02573 #define SQL_LCK_UNLOCK                      0x00000004L
02574 
02575 
02576 
02577 /* SQL_POS_OPERATIONS masks */
02578 
02579 
02580 
02581 #define SQL_POS_POSITION                    0x00000001L
02582 
02583 #define SQL_POS_REFRESH                     0x00000002L
02584 
02585 #define SQL_POS_UPDATE                      0x00000004L
02586 
02587 #define SQL_POS_DELETE                      0x00000008L
02588 
02589 #define SQL_POS_ADD                         0x00000010L
02590 
02591 
02592 
02593 /* SQL_QUALIFIER_LOCATION values */
02594 
02595 
02596 
02597 #define SQL_QL_START                        0x0001
02598 
02599 #define SQL_QL_END                          0x0002
02600 
02601 
02602 
02603 /* Here start return values for ODBC 3.0 SQLGetInfo */
02604 
02605 
02606 
02607 #if (ODBCVER >= 0x0300)
02608 
02609 /* SQL_AGGREGATE_FUNCTIONS bitmasks */
02610 
02611 #define SQL_AF_AVG                                              0x00000001L
02612 
02613 #define SQL_AF_COUNT                                    0x00000002L
02614 
02615 #define SQL_AF_MAX                                              0x00000004L
02616 
02617 #define SQL_AF_MIN                                              0x00000008L
02618 
02619 #define SQL_AF_SUM                                              0x00000010L
02620 
02621 #define SQL_AF_DISTINCT                                 0x00000020L
02622 
02623 #define SQL_AF_ALL                                              0x00000040L     
02624 
02625 
02626 
02627 /* SQL_SQL_CONFORMANCE bit masks */
02628 
02629 #define SQL_SC_SQL92_ENTRY                              0x00000001L
02630 
02631 #define SQL_SC_FIPS127_2_TRANSITIONAL   0x00000002L
02632 
02633 #define SQL_SC_SQL92_INTERMEDIATE               0x00000004L
02634 
02635 #define SQL_SC_SQL92_FULL                               0x00000008L
02636 
02637 
02638 
02639 /* SQL_DATETIME_LITERALS masks */
02640 
02641 #define SQL_DL_SQL92_DATE                                               0x00000001L
02642 
02643 #define SQL_DL_SQL92_TIME                                               0x00000002L
02644 
02645 #define SQL_DL_SQL92_TIMESTAMP                                  0x00000004L
02646 
02647 #define SQL_DL_SQL92_INTERVAL_YEAR                              0x00000008L
02648 
02649 #define SQL_DL_SQL92_INTERVAL_MONTH                             0x00000010L
02650 
02651 #define SQL_DL_SQL92_INTERVAL_DAY                               0x00000020L
02652 
02653 #define SQL_DL_SQL92_INTERVAL_HOUR                              0x00000040L
02654 
02655 #define SQL_DL_SQL92_INTERVAL_MINUTE                    0x00000080L
02656 
02657 #define SQL_DL_SQL92_INTERVAL_SECOND                    0x00000100L
02658 
02659 #define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH             0x00000200L
02660 
02661 #define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR               0x00000400L
02662 
02663 #define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE             0x00000800L
02664 
02665 #define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND             0x00001000L
02666 
02667 #define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE    0x00002000L
02668 
02669 #define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND    0x00004000L
02670 
02671 #define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND  0x00008000L
02672 
02673 
02674 
02675 /* SQL_CATALOG_LOCATION values */
02676 
02677 #define SQL_CL_START                                            SQL_QL_START
02678 
02679 #define SQL_CL_END                                                      SQL_QL_END
02680 
02681 
02682 
02683 /* values for SQL_BATCH_ROW_COUNT */
02684 
02685 #define SQL_BRC_PROCEDURES                      0x0000001
02686 
02687 #define SQL_BRC_EXPLICIT                        0x0000002
02688 
02689 #define SQL_BRC_ROLLED_UP                       0x0000004
02690 
02691 
02692 
02693 /* bitmasks for SQL_BATCH_SUPPORT */
02694 
02695 #define SQL_BS_SELECT_EXPLICIT                          0x00000001L
02696 
02697 #define SQL_BS_ROW_COUNT_EXPLICIT                       0x00000002L
02698 
02699 #define SQL_BS_SELECT_PROC                                      0x00000004L
02700 
02701 #define SQL_BS_ROW_COUNT_PROC                           0x00000008L
02702 
02703 
02704 
02705 /* Values for SQL_PARAM_ARRAY_ROW_COUNTS getinfo */
02706 
02707 #define SQL_PARC_BATCH          1
02708 
02709 #define SQL_PARC_NO_BATCH       2
02710 
02711 
02712 
02713 /* values for SQL_PARAM_ARRAY_SELECTS */
02714 
02715 #define SQL_PAS_BATCH                           1
02716 
02717 #define SQL_PAS_NO_BATCH                        2               
02718 
02719 #define SQL_PAS_NO_SELECT                       3
02720 
02721 
02722 
02723 /* Bitmasks for SQL_INDEX_KEYWORDS */
02724 
02725 #define SQL_IK_NONE                                                     0x00000000L
02726 
02727 #define SQL_IK_ASC                                                      0x00000001L
02728 
02729 #define SQL_IK_DESC                                                     0x00000002L
02730 
02731 #define SQL_IK_ALL                                                      (SQL_IK_ASC | SQL_IK_DESC)
02732 
02733 
02734 
02735 /* Bitmasks for SQL_INFO_SCHEMA_VIEWS */
02736 
02737 
02738 
02739 #define SQL_ISV_ASSERTIONS                                      0x00000001L
02740 
02741 #define SQL_ISV_CHARACTER_SETS                          0x00000002L
02742 
02743 #define SQL_ISV_CHECK_CONSTRAINTS                       0x00000004L
02744 
02745 #define SQL_ISV_COLLATIONS                                      0x00000008L
02746 
02747 #define SQL_ISV_COLUMN_DOMAIN_USAGE                     0x00000010L
02748 
02749 #define SQL_ISV_COLUMN_PRIVILEGES                       0x00000020L
02750 
02751 #define SQL_ISV_COLUMNS                                         0x00000040L
02752 
02753 #define SQL_ISV_CONSTRAINT_COLUMN_USAGE         0x00000080L
02754 
02755 #define SQL_ISV_CONSTRAINT_TABLE_USAGE          0x00000100L
02756 
02757 #define SQL_ISV_DOMAIN_CONSTRAINTS                      0x00000200L
02758 
02759 #define SQL_ISV_DOMAINS                                         0x00000400L
02760 
02761 #define SQL_ISV_KEY_COLUMN_USAGE                        0x00000800L
02762 
02763 #define SQL_ISV_REFERENTIAL_CONSTRAINTS         0x00001000L
02764 
02765 #define SQL_ISV_SCHEMATA                                        0x00002000L
02766 
02767 #define SQL_ISV_SQL_LANGUAGES                           0x00004000L
02768 
02769 #define SQL_ISV_TABLE_CONSTRAINTS                       0x00008000L
02770 
02771 #define SQL_ISV_TABLE_PRIVILEGES                        0x00010000L
02772 
02773 #define SQL_ISV_TABLES                                          0x00020000L
02774 
02775 #define SQL_ISV_TRANSLATIONS                            0x00040000L
02776 
02777 #define SQL_ISV_USAGE_PRIVILEGES                        0x00080000L
02778 
02779 #define SQL_ISV_VIEW_COLUMN_USAGE                       0x00100000L
02780 
02781 #define SQL_ISV_VIEW_TABLE_USAGE                        0x00200000L
02782 
02783 #define SQL_ISV_VIEWS                                           0x00400000L
02784 
02785 
02786 
02787 /* Bitmasks for SQL_ASYNC_MODE */
02788 
02789 
02790 
02791 #define SQL_AM_NONE                     0
02792 
02793 #define SQL_AM_CONNECTION       1
02794 
02795 #define SQL_AM_STATEMENT        2
02796 
02797 
02798 
02799 /* Bitmasks for SQL_ALTER_DOMAIN */
02800 
02801 #define SQL_AD_CONSTRAINT_NAME_DEFINITION                       0x00000001L     
02802 
02803 #define SQL_AD_ADD_DOMAIN_CONSTRAINT                            0x00000002L
02804 
02805 #define SQL_AD_DROP_DOMAIN_CONSTRAINT                           0x00000004L
02806 
02807 #define SQL_AD_ADD_DOMAIN_DEFAULT                               0x00000008L
02808 
02809 #define SQL_AD_DROP_DOMAIN_DEFAULT                              0x00000010L
02810 
02811 #define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED        0x00000020L
02812 
02813 #define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE       0x00000040L
02814 
02815 #define SQL_AD_ADD_CONSTRAINT_DEFERRABLE                        0x00000080L
02816 
02817 #define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE            0x00000100L
02818 
02819 
02820 
02821 
02822 
02823 /* SQL_CREATE_SCHEMA bitmasks */
02824 
02825 #define SQL_CS_CREATE_SCHEMA                            0x00000001L
02826 
02827 #define SQL_CS_AUTHORIZATION                            0x00000002L
02828 
02829 #define SQL_CS_DEFAULT_CHARACTER_SET            0x00000004L
02830 
02831 
02832 
02833 /* SQL_CREATE_TRANSLATION bitmasks */
02834 
02835 #define SQL_CTR_CREATE_TRANSLATION                      0x00000001L
02836 
02837 
02838 
02839 /* SQL_CREATE_ASSERTION bitmasks */
02840 
02841 #define SQL_CA_CREATE_ASSERTION                                 0x00000001L
02842 
02843 #define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED    0x00000010L
02844 
02845 #define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE   0x00000020L
02846 
02847 #define SQL_CA_CONSTRAINT_DEFERRABLE                    0x00000040L
02848 
02849 #define SQL_CA_CONSTRAINT_NON_DEFERRABLE                0x00000080L
02850 
02851 
02852 
02853 /* SQL_CREATE_CHARACTER_SET bitmasks */
02854 
02855 #define SQL_CCS_CREATE_CHARACTER_SET            0x00000001L
02856 
02857 #define SQL_CCS_COLLATE_CLAUSE                          0x00000002L
02858 
02859 #define SQL_CCS_LIMITED_COLLATION                       0x00000004L
02860 
02861 
02862 
02863 /* SQL_CREATE_COLLATION bitmasks */
02864 
02865 #define SQL_CCOL_CREATE_COLLATION                       0x00000001L
02866 
02867 
02868 
02869 /* SQL_CREATE_DOMAIN bitmasks */
02870 
02871 #define SQL_CDO_CREATE_DOMAIN                                   0x00000001L
02872 
02873 #define SQL_CDO_DEFAULT                                                 0x00000002L
02874 
02875 #define SQL_CDO_CONSTRAINT                                              0x00000004L
02876 
02877 #define SQL_CDO_COLLATION                                               0x00000008L
02878 
02879 #define SQL_CDO_CONSTRAINT_NAME_DEFINITION              0x00000010L
02880 
02881 #define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED   0x00000020L
02882 
02883 #define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE  0x00000040L
02884 
02885 #define SQL_CDO_CONSTRAINT_DEFERRABLE                   0x00000080L
02886 
02887 #define SQL_CDO_CONSTRAINT_NON_DEFERRABLE               0x00000100L
02888 
02889 
02890 
02891 /* SQL_CREATE_TABLE bitmasks */
02892 
02893 #define SQL_CT_CREATE_TABLE                                             0x00000001L
02894 
02895 #define SQL_CT_COMMIT_PRESERVE                                  0x00000002L
02896 
02897 #define SQL_CT_COMMIT_DELETE                                    0x00000004L
02898 
02899 #define SQL_CT_GLOBAL_TEMPORARY                                 0x00000008L
02900 
02901 #define SQL_CT_LOCAL_TEMPORARY                                  0x00000010L
02902 
02903 #define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED    0x00000020L
02904 
02905 #define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE   0x00000040L
02906 
02907 #define SQL_CT_CONSTRAINT_DEFERRABLE                    0x00000080L
02908 
02909 #define SQL_CT_CONSTRAINT_NON_DEFERRABLE                0x00000100L
02910 
02911 #define SQL_CT_COLUMN_CONSTRAINT                                0x00000200L
02912 
02913 #define SQL_CT_COLUMN_DEFAULT                                   0x00000400L
02914 
02915 #define SQL_CT_COLUMN_COLLATION                                 0x00000800L
02916 
02917 #define SQL_CT_TABLE_CONSTRAINT                                 0x00001000L
02918 
02919 #define SQL_CT_CONSTRAINT_NAME_DEFINITION               0x00002000L
02920 
02921 
02922 
02923 /* SQL_DDL_INDEX bitmasks */
02924 
02925 #define SQL_DI_CREATE_INDEX                                             0x00000001L
02926 
02927 #define SQL_DI_DROP_INDEX                                               0x00000002L
02928 
02929 
02930 
02931 /* SQL_DROP_COLLATION bitmasks */
02932 
02933 #define SQL_DC_DROP_COLLATION                                   0x00000001L
02934 
02935 
02936 
02937 /* SQL_DROP_DOMAIN bitmasks */
02938 
02939 #define SQL_DD_DROP_DOMAIN                                              0x00000001L
02940 
02941 #define SQL_DD_RESTRICT                                                 0x00000002L
02942 
02943 #define SQL_DD_CASCADE                                                  0x00000004L
02944 
02945 
02946 
02947 /* SQL_DROP_SCHEMA bitmasks */
02948 
02949 #define SQL_DS_DROP_SCHEMA                                              0x00000001L
02950 
02951 #define SQL_DS_RESTRICT                                                 0x00000002L
02952 
02953 #define SQL_DS_CASCADE                                                  0x00000004L
02954 
02955 
02956 
02957 /* SQL_DROP_CHARACTER_SET bitmasks */
02958 
02959 #define SQL_DCS_DROP_CHARACTER_SET                              0x00000001L
02960 
02961 
02962 
02963 /* SQL_DROP_ASSERTION bitmasks */
02964 
02965 #define SQL_DA_DROP_ASSERTION                                   0x00000001L
02966 
02967 
02968 
02969 /* SQL_DROP_TABLE bitmasks */
02970 
02971 #define SQL_DT_DROP_TABLE                                               0x00000001L
02972 
02973 #define SQL_DT_RESTRICT                                                 0x00000002L
02974 
02975 #define SQL_DT_CASCADE                                                  0x00000004L
02976 
02977 
02978 
02979 /* SQL_DROP_TRANSLATION bitmasks */
02980 
02981 #define SQL_DTR_DROP_TRANSLATION                                0x00000001L
02982 
02983 
02984 
02985 /* SQL_DROP_VIEW bitmasks */
02986 
02987 #define SQL_DV_DROP_VIEW                                                0x00000001L
02988 
02989 #define SQL_DV_RESTRICT                                                 0x00000002L
02990 
02991 #define SQL_DV_CASCADE                                                  0x00000004L
02992 
02993 
02994 
02995 /* SQL_INSERT_STATEMENT bitmasks */
02996 
02997 #define SQL_IS_INSERT_LITERALS                                  0x00000001L
02998 
02999 #define SQL_IS_INSERT_SEARCHED                                  0x00000002L
03000 
03001 #define SQL_IS_SELECT_INTO                                              0x00000004L
03002 
03003 
03004 
03005 /* SQL_ODBC_INTERFACE_CONFORMANCE values */
03006 
03007 #define SQL_OIC_CORE                                                    1UL
03008 
03009 #define SQL_OIC_LEVEL1                                                  2UL
03010 
03011 #define SQL_OIC_LEVEL2                                                  3UL
03012 
03013 
03014 
03015 /* SQL_SQL92_FOREIGN_KEY_DELETE_RULE bitmasks */
03016 
03017 #define SQL_SFKD_CASCADE                                                0x00000001L
03018 
03019 #define SQL_SFKD_NO_ACTION                                              0x00000002L
03020 
03021 #define SQL_SFKD_SET_DEFAULT                                    0x00000004L
03022 
03023 #define SQL_SFKD_SET_NULL                                               0x00000008L
03024 
03025 
03026 
03027 /* SQL_SQL92_FOREIGN_KEY_UPDATE_RULE bitmasks */
03028 
03029 #define SQL_SFKU_CASCADE                                                0x00000001L
03030 
03031 #define SQL_SFKU_NO_ACTION                                              0x00000002L
03032 
03033 #define SQL_SFKU_SET_DEFAULT                                    0x00000004L
03034 
03035 #define SQL_SFKU_SET_NULL                                               0x00000008L
03036 
03037 
03038 
03039 /* SQL_SQL92_GRANT      bitmasks */
03040 
03041 #define SQL_SG_USAGE_ON_DOMAIN                                  0x00000001L
03042 
03043 #define SQL_SG_USAGE_ON_CHARACTER_SET                   0x00000002L
03044 
03045 #define SQL_SG_USAGE_ON_COLLATION                               0x00000004L
03046 
03047 #define SQL_SG_USAGE_ON_TRANSLATION                             0x00000008L
03048 
03049 #define SQL_SG_WITH_GRANT_OPTION                                0x00000010L
03050 
03051 #define SQL_SG_DELETE_TABLE                                             0x00000020L
03052 
03053 #define SQL_SG_INSERT_TABLE                                             0x00000040L
03054 
03055 #define SQL_SG_INSERT_COLUMN                                    0x00000080L
03056 
03057 #define SQL_SG_REFERENCES_TABLE                                 0x00000100L
03058 
03059 #define SQL_SG_REFERENCES_COLUMN                                0x00000200L
03060 
03061 #define SQL_SG_SELECT_TABLE                                             0x00000400L
03062 
03063 #define SQL_SG_UPDATE_TABLE                                             0x00000800L
03064 
03065 #define SQL_SG_UPDATE_COLUMN                                    0x00001000L     
03066 
03067 
03068 
03069 /* SQL_SQL92_PREDICATES bitmasks */
03070 
03071 #define SQL_SP_EXISTS                                                   0x00000001L
03072 
03073 #define SQL_SP_ISNOTNULL                                                0x00000002L
03074 
03075 #define SQL_SP_ISNULL                                                   0x00000004L
03076 
03077 #define SQL_SP_MATCH_FULL                                               0x00000008L
03078 
03079 #define SQL_SP_MATCH_PARTIAL                                    0x00000010L
03080 
03081 #define SQL_SP_MATCH_UNIQUE_FULL                                0x00000020L
03082 
03083 #define SQL_SP_MATCH_UNIQUE_PARTIAL                             0x00000040L
03084 
03085 #define SQL_SP_OVERLAPS                                                 0x00000080L
03086 
03087 #define SQL_SP_UNIQUE                                                   0x00000100L
03088 
03089 #define SQL_SP_LIKE                                                             0x00000200L
03090 
03091 #define SQL_SP_IN                                                               0x00000400L
03092 
03093 #define SQL_SP_BETWEEN                                                  0x00000800L
03094 
03095 #define SQL_SP_COMPARISON                                               0x00001000L
03096 
03097 #define SQL_SP_QUANTIFIED_COMPARISON                    0x00002000L
03098 
03099 
03100 
03101 /* SQL_SQL92_RELATIONAL_JOIN_OPERATORS bitmasks */
03102 
03103 #define SQL_SRJO_CORRESPONDING_CLAUSE                   0x00000001L
03104 
03105 #define SQL_SRJO_CROSS_JOIN                                             0x00000002L
03106 
03107 #define SQL_SRJO_EXCEPT_JOIN                                    0x00000004L
03108 
03109 #define SQL_SRJO_FULL_OUTER_JOIN                                0x00000008L
03110 
03111 #define SQL_SRJO_INNER_JOIN                                             0x00000010L
03112 
03113 #define SQL_SRJO_INTERSECT_JOIN                                 0x00000020L
03114 
03115 #define SQL_SRJO_LEFT_OUTER_JOIN                                0x00000040L
03116 
03117 #define SQL_SRJO_NATURAL_JOIN                                   0x00000080L
03118 
03119 #define SQL_SRJO_RIGHT_OUTER_JOIN                               0x00000100L
03120 
03121 #define SQL_SRJO_UNION_JOIN                                             0x00000200L
03122 
03123 
03124 
03125 /* SQL_SQL92_REVOKE bitmasks */
03126 
03127 #define SQL_SR_USAGE_ON_DOMAIN                                  0x00000001L
03128 
03129 #define SQL_SR_USAGE_ON_CHARACTER_SET                   0x00000002L
03130 
03131 #define SQL_SR_USAGE_ON_COLLATION                               0x00000004L
03132 
03133 #define SQL_SR_USAGE_ON_TRANSLATION                             0x00000008L
03134 
03135 #define SQL_SR_GRANT_OPTION_FOR                                 0x00000010L
03136 
03137 #define SQL_SR_CASCADE                                                  0x00000020L
03138 
03139 #define SQL_SR_RESTRICT                                                 0x00000040L
03140 
03141 #define SQL_SR_DELETE_TABLE                                             0x00000080L
03142 
03143 #define SQL_SR_INSERT_TABLE                                             0x00000100L
03144 
03145 #define SQL_SR_INSERT_COLUMN                                    0x00000200L
03146 
03147 #define SQL_SR_REFERENCES_TABLE                                 0x00000400L
03148 
03149 #define SQL_SR_REFERENCES_COLUMN                                0x00000800L
03150 
03151 #define SQL_SR_SELECT_TABLE                                             0x00001000L
03152 
03153 #define SQL_SR_UPDATE_TABLE                                             0x00002000L
03154 
03155 #define SQL_SR_UPDATE_COLUMN                                    0x00004000L
03156 
03157 
03158 
03159 /* SQL_SQL92_ROW_VALUE_CONSTRUCTOR bitmasks */
03160 
03161 #define SQL_SRVC_VALUE_EXPRESSION                               0x00000001L
03162 
03163 #define SQL_SRVC_NULL                                                   0x00000002L
03164 
03165 #define SQL_SRVC_DEFAULT                                                0x00000004L
03166 
03167 #define SQL_SRVC_ROW_SUBQUERY                                   0x00000008L
03168 
03169 
03170 
03171 /* SQL_SQL92_VALUE_EXPRESSIONS bitmasks */
03172 
03173 #define SQL_SVE_CASE                                                    0x00000001L
03174 
03175 #define SQL_SVE_CAST                                                    0x00000002L
03176 
03177 #define SQL_SVE_COALESCE                                                0x00000004L
03178 
03179 #define SQL_SVE_NULLIF                                                  0x00000008L
03180 
03181 
03182 
03183 /* SQL_STANDARD_CLI_CONFORMANCE bitmasks */
03184 
03185 #define SQL_SCC_XOPEN_CLI_VERSION1                              0x00000001L
03186 
03187 #define SQL_SCC_ISO92_CLI                                               0x00000002L
03188 
03189 
03190 
03191 /* SQL_UNION_STATEMENT bitmasks */
03192 
03193 #define SQL_US_UNION                                                    SQL_U_UNION
03194 
03195 #define SQL_US_UNION_ALL                                                SQL_U_UNION_ALL
03196 
03197 
03198 
03199 #endif  /* ODBCVER >= 0x0300 */
03200 
03201 
03202 
03203 /* SQL_DTC_TRANSITION_COST bitmasks */
03204 
03205 #define SQL_DTC_ENLIST_EXPENSIVE                                0x00000001L
03206 
03207 #define SQL_DTC_UNENLIST_EXPENSIVE                              0x00000002L
03208 
03209 
03210 
03211 /* additional SQLDataSources fetch directions */
03212 
03213 #if (ODBCVER >= 0x0300)
03214 
03215 #define SQL_FETCH_FIRST_USER                            31
03216 
03217 #define SQL_FETCH_FIRST_SYSTEM                          32
03218 
03219 #endif  /* ODBCVER >= 0x0300 */
03220 
03221 
03222 
03223 
03224 
03225 /* Defines for SQLSetPos */
03226 
03227 #define SQL_ENTIRE_ROWSET            0
03228 
03229 
03230 
03231 /* Operations in SQLSetPos */
03232 
03233 #define SQL_POSITION                 0               /*      1.0 FALSE */
03234 
03235 #define SQL_REFRESH                  1               /*      1.0 TRUE */
03236 
03237 #define SQL_UPDATE                   2
03238 
03239 #define SQL_DELETE                   3
03240 
03241 
03242 
03243 /* Operations in SQLBulkOperations */
03244 
03245 #define SQL_ADD                      4
03246 
03247 #define SQL_SETPOS_MAX_OPTION_VALUE                     SQL_ADD
03248 
03249 #if (ODBCVER >= 0x0300)
03250 
03251 #define SQL_UPDATE_BY_BOOKMARK           5
03252 
03253 #define SQL_DELETE_BY_BOOKMARK           6
03254 
03255 #define SQL_FETCH_BY_BOOKMARK            7
03256 
03257 
03258 
03259 #endif /*  ODBCVER >= 0x0300 */
03260 
03261 
03262 
03263 /* Lock options in SQLSetPos */
03264 
03265 #define SQL_LOCK_NO_CHANGE           0               /*      1.0 FALSE */
03266 
03267 #define SQL_LOCK_EXCLUSIVE           1               /*      1.0 TRUE */
03268 
03269 #define SQL_LOCK_UNLOCK              2
03270 
03271 
03272 
03273 #define SQL_SETPOS_MAX_LOCK_VALUE               SQL_LOCK_UNLOCK
03274 
03275 
03276 
03277 /* Macros for SQLSetPos */
03278 
03279 #define SQL_POSITION_TO(hstmt,irow) SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
03280 
03281 #define SQL_LOCK_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
03282 
03283 #define SQL_REFRESH_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
03284 
03285 #define SQL_UPDATE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
03286 
03287 #define SQL_DELETE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
03288 
03289 #define SQL_ADD_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
03290 
03291 
03292 
03293 /* Column types and scopes in SQLSpecialColumns.  */
03294 
03295 #define SQL_BEST_ROWID                  1
03296 
03297 #define SQL_ROWVER                      2
03298 
03299 
03300 
03301 /* Defines for SQLSpecialColumns (returned in the result set) 
03302 
03303    SQL_PC_UNKNOWN and SQL_PC_PSEUDO are defined in sql.h */
03304 
03305 #define SQL_PC_NOT_PSEUDO               1
03306 
03307 
03308 
03309 /* Defines for SQLStatistics */
03310 
03311 #define SQL_QUICK                       0
03312 
03313 #define SQL_ENSURE                      1
03314 
03315 
03316 
03317 /* Defines for SQLStatistics (returned in the result set) 
03318 
03319    SQL_INDEX_CLUSTERED, SQL_INDEX_HASHED, and SQL_INDEX_OTHER are
03320 
03321    defined in sql.h */
03322 
03323 #define SQL_TABLE_STAT                  0
03324 
03325 
03326 
03327 
03328 
03329 /* Defines for SQLTables */
03330 
03331 #if (ODBCVER >= 0x0300)
03332 
03333 #define SQL_ALL_CATALOGS                                "%"
03334 
03335 #define SQL_ALL_SCHEMAS                                 "%"
03336 
03337 #define SQL_ALL_TABLE_TYPES                             "%"
03338 
03339 #endif  /* ODBCVER >= 0x0300 */
03340 
03341 
03342 
03343 /* Options for SQLDriverConnect */
03344 
03345 #define SQL_DRIVER_NOPROMPT             0
03346 
03347 #define SQL_DRIVER_COMPLETE             1
03348 
03349 #define SQL_DRIVER_PROMPT               2
03350 
03351 #define SQL_DRIVER_COMPLETE_REQUIRED    3
03352 
03353 
03354 
03355 #ifndef RC_INVOKED
03356 
03357 
03358 
03359 SQLRETURN SQL_API SQLDriverConnect(
03360 
03361     SQLHDBC            hdbc,
03362 
03363     SQLHWND            hwnd,
03364 
03365     SQLCHAR               *szConnStrIn,
03366 
03367     SQLSMALLINT        cbConnStrIn,
03368 
03369     SQLCHAR           *szConnStrOut,
03370 
03371     SQLSMALLINT        cbConnStrOutMax,
03372 
03373     SQLSMALLINT           *pcbConnStrOut,
03374 
03375     SQLUSMALLINT       fDriverCompletion);
03376 
03377 
03378 
03379 #endif /* RC_INVOKED */
03380 
03381 
03382 
03383 /* Level 2 Functions                             */
03384 
03385 
03386 
03387 /* SQLExtendedFetch "fFetchType" values */
03388 
03389 #define SQL_FETCH_BOOKMARK               8
03390 
03391 
03392 
03393 /* SQLExtendedFetch "rgfRowStatus" element values */
03394 
03395 #define SQL_ROW_SUCCESS                  0
03396 
03397 #define SQL_ROW_DELETED                  1
03398 
03399 #define SQL_ROW_UPDATED                  2
03400 
03401 #define SQL_ROW_NOROW                    3
03402 
03403 #define SQL_ROW_ADDED                    4
03404 
03405 #define SQL_ROW_ERROR                    5
03406 
03407 #if (ODBCVER >= 0x0300)
03408 
03409 #define SQL_ROW_SUCCESS_WITH_INFO                6
03410 
03411 #define SQL_ROW_PROCEED                                  0
03412 
03413 #define SQL_ROW_IGNORE                                   1
03414 
03415 #endif
03416 
03417 
03418 
03419 /* value for SQL_DESC_ARRAY_STATUS_PTR */
03420 
03421 #if (ODBCVER >= 0x0300)
03422 
03423 #define SQL_PARAM_SUCCESS                               0
03424 
03425 #define SQL_PARAM_SUCCESS_WITH_INFO             6
03426 
03427 #define SQL_PARAM_ERROR                                 5
03428 
03429 #define SQL_PARAM_UNUSED                                7
03430 
03431 #define SQL_PARAM_DIAG_UNAVAILABLE              1
03432 
03433 
03434 
03435 #define SQL_PARAM_PROCEED                               0
03436 
03437 #define SQL_PARAM_IGNORE                                1
03438 
03439 #endif  /* ODBCVER >= 0x0300 */
03440 
03441 
03442 
03443 /* Defines for SQLForeignKeys (UPDATE_RULE and DELETE_RULE) */
03444 
03445 #define SQL_CASCADE                      0
03446 
03447 #define SQL_RESTRICT                     1
03448 
03449 #define SQL_SET_NULL                     2
03450 
03451 #if (ODBCVER >= 0x0250)
03452 
03453 #define SQL_NO_ACTION                    3
03454 
03455 #define SQL_SET_DEFAULT                  4
03456 
03457 #endif  /* ODBCVER >= 0x0250 */
03458 
03459 
03460 
03461 #if (ODBCVER >= 0x0300)
03462 
03463 /* Note that the following are in a different column of SQLForeignKeys than */
03464 
03465 /* the previous #defines.   These are for DEFERRABILITY.                    */
03466 
03467 
03468 
03469 #define SQL_INITIALLY_DEFERRED                  5
03470 
03471 #define SQL_INITIALLY_IMMEDIATE                 6
03472 
03473 #define SQL_NOT_DEFERRABLE                      7
03474 
03475 
03476 
03477 #endif  /* ODBCVER >= 0x0300 */
03478 
03479 
03480 
03481 /* Defines for SQLBindParameter and
03482 
03483                            SQLProcedureColumns (returned in the result set) */
03484 
03485 #define SQL_PARAM_TYPE_UNKNOWN           0
03486 
03487 #define SQL_PARAM_INPUT                  1
03488 
03489 #define SQL_PARAM_INPUT_OUTPUT           2
03490 
03491 #define SQL_RESULT_COL                   3
03492 
03493 #define SQL_PARAM_OUTPUT                 4
03494 
03495 #define SQL_RETURN_VALUE                 5
03496 
03497 
03498 
03499 /* Defines for SQLProcedures (returned in the result set) */
03500 
03501 #define SQL_PT_UNKNOWN                   0
03502 
03503 #define SQL_PT_PROCEDURE                 1
03504 
03505 #define SQL_PT_FUNCTION                  2
03506 
03507 
03508 
03509 #ifndef RC_INVOKED
03510 
03511 
03512 
03513 /*      This define is too large for RC */
03514 
03515 #define SQL_ODBC_KEYWORDS \
03516 
03517 "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
03518 
03519 "ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
03520 
03521 "BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
03522 
03523 "CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
03524 
03525 "COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
03526 
03527 "CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
03528 
03529 "CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
03530 
03531 "DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
03532 
03533 "DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
03534 
03535 "DISTINCT,DOMAIN,DOUBLE,DROP,"\
03536 
03537 "ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
03538 
03539 "EXISTS,EXTERNAL,EXTRACT,"\
03540 
03541 "FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
03542 
03543 "GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
03544 
03545 "IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
03546 
03547 "INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
03548 
03549 "JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
03550 
03551 "MATCH,MAX,MIN,MINUTE,MODULE,MONTH,"\
03552 
03553 "NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
03554 
03555 "OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
03556 
03557 "PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
03558 
03559 "PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
03560 
03561 "READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS"\
03562 
03563 "SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE,"\
03564 
03565 "SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
03566 
03567 "SUBSTRING,SUM,SYSTEM_USER,"\
03568 
03569 "TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
03570 
03571 "TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
03572 
03573 "UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
03574 
03575 "VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\
03576 
03577 "YEAR,ZONE"
03578 
03579 
03580 
03581 SQLRETURN SQL_API SQLBrowseConnect(
03582 
03583     SQLHDBC            hdbc,
03584 
03585     SQLCHAR               *szConnStrIn,
03586 
03587     SQLSMALLINT        cbConnStrIn,
03588 
03589     SQLCHAR               *szConnStrOut,
03590 
03591     SQLSMALLINT        cbConnStrOutMax,
03592 
03593     SQLSMALLINT       *pcbConnStrOut);
03594 
03595 
03596 
03597 #if (ODBCVER >= 0x0300)
03598 
03599 SQLRETURN       SQL_API SQLBulkOperations(
03600 
03601         SQLHSTMT                        StatementHandle,
03602 
03603         SQLSMALLINT                     Operation);
03604 
03605 #endif  /* ODBCVER >= 0x0300 */
03606 
03607 
03608 
03609 SQLRETURN SQL_API SQLColAttributes(
03610 
03611     SQLHSTMT           hstmt,
03612 
03613     SQLUSMALLINT       icol,
03614 
03615     SQLUSMALLINT       fDescType,
03616 
03617     SQLPOINTER         rgbDesc,
03618 
03619     SQLSMALLINT        cbDescMax,
03620 
03621     SQLSMALLINT           *pcbDesc,
03622 
03623     SQLLEN                    * pfDesc);
03624 
03625 
03626 
03627 SQLRETURN SQL_API SQLColumnPrivileges(
03628 
03629     SQLHSTMT           hstmt,
03630 
03631     SQLCHAR               *szCatalogName,
03632 
03633     SQLSMALLINT        cbCatalogName,
03634 
03635     SQLCHAR               *szSchemaName,
03636 
03637     SQLSMALLINT        cbSchemaName,
03638 
03639     SQLCHAR               *szTableName,
03640 
03641     SQLSMALLINT        cbTableName,
03642 
03643     SQLCHAR               *szColumnName,
03644 
03645     SQLSMALLINT        cbColumnName);
03646 
03647 
03648 
03649 SQLRETURN SQL_API SQLDescribeParam(
03650 
03651     SQLHSTMT           hstmt,
03652 
03653     SQLUSMALLINT       ipar,
03654 
03655     SQLSMALLINT           *pfSqlType,
03656 
03657     SQLULEN               *pcbParamDef,
03658 
03659     SQLSMALLINT           *pibScale,
03660 
03661     SQLSMALLINT           *pfNullable);
03662 
03663 
03664 
03665 SQLRETURN SQL_API SQLExtendedFetch(
03666 
03667     SQLHSTMT           hstmt,
03668 
03669     SQLUSMALLINT       fFetchType,
03670 
03671     SQLLEN             irow,
03672 
03673     SQLULEN                       *pcrow,
03674 
03675     SQLUSMALLINT          *rgfRowStatus);
03676 
03677 
03678 
03679 SQLRETURN SQL_API SQLForeignKeys(
03680 
03681     SQLHSTMT           hstmt,
03682 
03683     SQLCHAR               *szPkCatalogName,
03684 
03685     SQLSMALLINT        cbPkCatalogName,
03686 
03687     SQLCHAR               *szPkSchemaName,
03688 
03689     SQLSMALLINT        cbPkSchemaName,
03690 
03691     SQLCHAR               *szPkTableName,
03692 
03693     SQLSMALLINT        cbPkTableName,
03694 
03695     SQLCHAR               *szFkCatalogName,
03696 
03697     SQLSMALLINT        cbFkCatalogName,
03698 
03699     SQLCHAR               *szFkSchemaName,
03700 
03701     SQLSMALLINT        cbFkSchemaName,
03702 
03703     SQLCHAR               *szFkTableName,
03704 
03705     SQLSMALLINT        cbFkTableName);
03706 
03707 
03708 
03709 SQLRETURN SQL_API SQLMoreResults(
03710 
03711     SQLHSTMT           hstmt);
03712 
03713 
03714 
03715 SQLRETURN SQL_API SQLNativeSql(
03716 
03717     SQLHDBC            hdbc,
03718 
03719     SQLCHAR               *szSqlStrIn,
03720 
03721     SQLINTEGER         cbSqlStrIn,
03722 
03723     SQLCHAR               *szSqlStr,
03724 
03725     SQLINTEGER         cbSqlStrMax,
03726 
03727     SQLINTEGER            *pcbSqlStr);
03728 
03729 
03730 
03731 SQLRETURN SQL_API SQLNumParams(
03732 
03733     SQLHSTMT           hstmt,
03734 
03735     SQLSMALLINT           *pcpar);
03736 
03737 
03738 
03739 SQLRETURN SQL_API SQLParamOptions(
03740 
03741     SQLHSTMT           hstmt,
03742 
03743     SQLULEN            crow,
03744 
03745     SQLULEN                        *pirow);
03746 
03747 
03748 
03749 SQLRETURN SQL_API SQLPrimaryKeys(
03750 
03751     SQLHSTMT           hstmt,
03752 
03753     SQLCHAR               *szCatalogName,
03754 
03755     SQLSMALLINT        cbCatalogName,
03756 
03757     SQLCHAR               *szSchemaName,
03758 
03759     SQLSMALLINT        cbSchemaName,
03760 
03761     SQLCHAR               *szTableName,
03762 
03763     SQLSMALLINT        cbTableName);
03764 
03765 
03766 
03767 SQLRETURN SQL_API SQLProcedureColumns(
03768 
03769     SQLHSTMT           hstmt,
03770 
03771     SQLCHAR               *szCatalogName,
03772 
03773     SQLSMALLINT        cbCatalogName,
03774 
03775     SQLCHAR               *szSchemaName,
03776 
03777     SQLSMALLINT        cbSchemaName,
03778 
03779     SQLCHAR               *szProcName,
03780 
03781     SQLSMALLINT        cbProcName,
03782 
03783     SQLCHAR               *szColumnName,
03784 
03785     SQLSMALLINT        cbColumnName);
03786 
03787 
03788 
03789 SQLRETURN SQL_API SQLProcedures(
03790 
03791     SQLHSTMT           hstmt,
03792 
03793     SQLCHAR               *szCatalogName,
03794 
03795     SQLSMALLINT        cbCatalogName,
03796 
03797     SQLCHAR               *szSchemaName,
03798 
03799     SQLSMALLINT        cbSchemaName,
03800 
03801     SQLCHAR               *szProcName,
03802 
03803     SQLSMALLINT        cbProcName);
03804 
03805 
03806 
03807 
03808 
03809 
03810 
03811 SQLRETURN SQL_API SQLSetPos(
03812 
03813     SQLHSTMT           hstmt,
03814 
03815     SQLSETPOSIROW      irow,
03816 
03817     SQLUSMALLINT       fOption,
03818 
03819     SQLUSMALLINT       fLock);
03820 
03821 
03822 
03823 SQLRETURN SQL_API SQLTablePrivileges(
03824 
03825     SQLHSTMT           hstmt,
03826 
03827     SQLCHAR               *szCatalogName,
03828 
03829     SQLSMALLINT        cbCatalogName,
03830 
03831     SQLCHAR               *szSchemaName,
03832 
03833     SQLSMALLINT        cbSchemaName,
03834 
03835     SQLCHAR               *szTableName,
03836 
03837     SQLSMALLINT        cbTableName);
03838 
03839 
03840 
03841 SQLRETURN SQL_API SQLDrivers(
03842 
03843     SQLHENV            henv,
03844 
03845     SQLUSMALLINT       fDirection,
03846 
03847     SQLCHAR               *szDriverDesc,
03848 
03849     SQLSMALLINT        cbDriverDescMax,
03850 
03851     SQLSMALLINT           *pcbDriverDesc,
03852 
03853     SQLCHAR               *szDriverAttributes,
03854 
03855     SQLSMALLINT        cbDrvrAttrMax,
03856 
03857     SQLSMALLINT           *pcbDrvrAttr);
03858 
03859 
03860 
03861 SQLRETURN SQL_API SQLBindParameter(
03862 
03863     SQLHSTMT           hstmt,
03864 
03865     SQLUSMALLINT       ipar,
03866 
03867     SQLSMALLINT        fParamType,
03868 
03869     SQLSMALLINT        fCType,
03870 
03871     SQLSMALLINT        fSqlType,
03872 
03873     SQLULEN            cbColDef,
03874 
03875     SQLSMALLINT        ibScale,
03876 
03877     SQLPOINTER         rgbValue,
03878 
03879     SQLLEN             cbValueMax,
03880 
03881     SQLLEN                 *pcbValue);
03882 
03883 
03884 
03885 
03886 
03887 #endif /* RC_INVOKED */
03888 
03889 
03890 
03891 /*---------------------------------------------------------*/
03892 
03893 /* SQLAllocHandleStd is implemented to make SQLAllocHandle */
03894 
03895 /* compatible with X/Open standard.      an application should */
03896 
03897 /* not call SQLAllocHandleStd directly                                     */ 
03898 
03899 /*---------------------------------------------------------*/
03900 
03901 #ifdef ODBC_STD
03902 
03903 #define SQLAllocHandle  SQLAllocHandleStd
03904 
03905 #define SQLAllocEnv(phenv)  SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, phenv)
03906 
03907 
03908 
03909 /* Internal type subcodes */
03910 
03911 #define SQL_YEAR                                                SQL_CODE_YEAR
03912 
03913 #define SQL_MONTH                                               SQL_CODE_MONTH
03914 
03915 #define SQL_DAY                                                 SQL_CODE_DAY
03916 
03917 #define SQL_HOUR                                                SQL_CODE_HOUR
03918 
03919 #define SQL_MINUTE                                              SQL_CODE_MINUTE
03920 
03921 #define SQL_SECOND                                              SQL_CODE_SECOND 
03922 
03923 #define SQL_YEAR_TO_MONTH                               SQL_CODE_YEAR_TO_MONTH
03924 
03925 #define SQL_DAY_TO_HOUR                                 SQL_CODE_DAY_TO_HOUR
03926 
03927 #define SQL_DAY_TO_MINUTE                               SQL_CODE_DAY_TO_MINUTE
03928 
03929 #define SQL_DAY_TO_SECOND                               SQL_CODE_DAY_TO_SECOND
03930 
03931 #define SQL_HOUR_TO_MINUTE                              SQL_CODE_HOUR_TO_MINUTE 
03932 
03933 #define SQL_HOUR_TO_SECOND                              SQL_CODE_HOUR_TO_SECOND
03934 
03935 #define SQL_MINUTE_TO_SECOND                    SQL_CODE_MINUTE_TO_SECOND
03936 
03937 #endif /* ODBC_STD */
03938 
03939 
03940 
03941 #if (ODBCVER >= 0x0300)
03942 
03943 #ifndef RC_INVOKED
03944 
03945 SQLRETURN SQL_API SQLAllocHandleStd(
03946 
03947         SQLSMALLINT             fHandleType,
03948 
03949         SQLHANDLE               hInput,
03950 
03951         SQLHANDLE          *phOutput);
03952 
03953 #endif /* RC_INVOKED */
03954 
03955 #endif
03956 
03957 
03958 
03959 /*      Deprecated defines from prior versions of ODBC */
03960 
03961 #define SQL_DATABASE_NAME               16    /* Use SQLGetConnectOption/SQL_CURRENT_QUALIFIER */
03962 
03963 #define SQL_FD_FETCH_PREV               SQL_FD_FETCH_PRIOR
03964 
03965 #define SQL_FETCH_PREV                  SQL_FETCH_PRIOR
03966 
03967 #define SQL_CONCUR_TIMESTAMP            SQL_CONCUR_ROWVER
03968 
03969 #define SQL_SCCO_OPT_TIMESTAMP          SQL_SCCO_OPT_ROWVER
03970 
03971 #define SQL_CC_DELETE                   SQL_CB_DELETE
03972 
03973 #define SQL_CR_DELETE                   SQL_CB_DELETE
03974 
03975 #define SQL_CC_CLOSE                    SQL_CB_CLOSE
03976 
03977 #define SQL_CR_CLOSE                    SQL_CB_CLOSE
03978 
03979 #define SQL_CC_PRESERVE                 SQL_CB_PRESERVE
03980 
03981 #define SQL_CR_PRESERVE                 SQL_CB_PRESERVE
03982 
03983 /* SQL_FETCH_RESUME is not supported by 2.0+ drivers 
03984 
03985 #define SQL_FETCH_RESUME                7    
03986 
03987 */
03988 
03989 #define SQL_SCROLL_FORWARD_ONLY         0L    /*-SQL_CURSOR_FORWARD_ONLY */
03990 
03991 #define SQL_SCROLL_KEYSET_DRIVEN        (-1L) /*-SQL_CURSOR_KEYSET_DRIVEN */
03992 
03993 #define SQL_SCROLL_DYNAMIC              (-2L) /*-SQL_CURSOR_DYNAMIC */
03994 
03995 #define SQL_SCROLL_STATIC               (-3L) /*-SQL_CURSOR_STATIC */
03996 
03997 
03998 
03999 /*      Deprecated functions from prior versions of ODBC */
04000 
04001 #ifndef RC_INVOKED
04002 
04003 
04004 
04005 SQLRETURN SQL_API SQLSetScrollOptions(    /*      Use SQLSetStmtOptions */
04006 
04007     SQLHSTMT           hstmt,
04008 
04009     SQLUSMALLINT       fConcurrency,
04010 
04011     SQLLEN             crowKeyset,
04012 
04013     SQLUSMALLINT       crowRowset);
04014 
04015 
04016 
04017 /* Tracing section */
04018 
04019 
04020 
04021 #define         TRACE_VERSION   1000            /* Version of trace API */
04022 
04023 
04024 
04025 RETCODE SQL_API TraceOpenLogFile(LPWSTR,LPWSTR,DWORD);// open a trace log file
04026 
04027 RETCODE SQL_API TraceCloseLogFile();                    // Request to close a trace log
04028 
04029 VOID    SQL_API TraceReturn(RETCODE,RETCODE);   // Processes trace after FN is called
04030 
04031 DWORD   SQL_API TraceVersion();                                 // Returns trace API version
04032 
04033 
04034 
04035 /* Functions for Visual Studio Analyzer*/
04036 
04037 /* to turn on/off tracing or VS events, call TraceVSControl by setting or clearing the following bits  */
04038 
04039 #define TRACE_ON                        0x00000001L
04040 
04041 #define TRACE_VS_EVENT_ON       0x00000002L     
04042 
04043 
04044 
04045 RETCODE SQL_API TraceVSControl(DWORD);                  
04046 
04047 
04048 
04049 /* Functions for setting the connection pooling failure detection code */
04050 
04051 /* The "TryWait" value is the time (in seconds) that the DM will wait  */
04052 
04053 /* between detecting that a connection is dead (using                  */
04054 
04055 /* SQL_ATTR_CONNECTION_DEAD) and retrying the connection.  During that */
04056 
04057 /* interval, connection requests will get "The server appears to be    */
04058 
04059 /* dead" error returns.                                                */ 
04060 
04061 
04062 
04063 
04064 
04065 BOOL SQL_API    ODBCSetTryWaitValue(DWORD dwValue);     /* In seconds */
04066 
04067 DWORD SQL_API   ODBCGetTryWaitValue();                  /* In Milliseconds(!) */
04068 
04069 
04070 
04071 
04072 
04073 /* the flags in ODBC_VS_ARGS */
04074 
04075 #define ODBC_VS_FLAG_UNICODE_ARG        0x00000001L     /* the argument is unicode */
04076 
04077 #define ODBC_VS_FLAG_UNICODE_COR        0x00000002L     /* the correlation is unicode */
04078 
04079 #define ODBC_VS_FLAG_RETCODE            0x00000004L     /* RetCode field is set */
04080 
04081 #define ODBC_VS_FLAG_STOP               0x00000008L     /* Stop firing visual studio analyzer events */
04082 
04083 
04084 
04085 typedef struct tagODBC_VS_ARGS {
04086 
04087         const GUID      *pguidEvent;    /* the GUID for event */
04088 
04089         DWORD   dwFlags;                /* flags for the call */
04090 
04091         union {
04092 
04093                 WCHAR   *wszArg;        
04094 
04095                 CHAR    *szArg;
04096 
04097         };
04098 
04099         union {
04100 
04101                 WCHAR   *wszCorrelation;
04102 
04103                 CHAR    *szCorrelation;
04104 
04105         };                              
04106 
04107         RETCODE RetCode;
04108 
04109 } ODBC_VS_ARGS, *PODBC_VS_ARGS;
04110 
04111 VOID    SQL_API FireVSDebugEvent(PODBC_VS_ARGS);
04112 
04113 
04114 
04115 #endif /* RC_INVOKED */
04116 
04117 
04118 
04119 
04120 
04121 #ifdef __cplusplus
04122 
04123 }                                     /* End of extern "C" { */
04124 
04125 #endif  /* __cplusplus */
04126 
04127 
04128 
04129 #if defined(WIN32) || defined(_WIN64) 
04130 
04131 #include "sqlucode.h"
04132 
04133 #endif
04134 
04135 
04136 
04137 #endif /* __SQLEXT */
04138 

Generated on Wed Jul 26 13:30:38 2006 for XSB by  doxygen 1.4.5