1/* 2 * sqlext.h 3 * 4 * $Id: sqlext.h,v 1.10 2006/01/20 15:58:34 source Exp $ 5 * 6 * ODBC defines (ext) 7 * 8 * The iODBC driver manager. 9 * 10 * Copyright (C) 1995 by Ke Jin <kejin@empress.com> 11 * Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com> 12 * All Rights Reserved. 13 * 14 * This software is released under the terms of either of the following 15 * licenses: 16 * 17 * - GNU Library General Public License (see LICENSE.LGPL) 18 * - The BSD License (see LICENSE.BSD). 19 * 20 * Note that the only valid version of the LGPL license as far as this 21 * project is concerned is the original GNU Library General Public License 22 * Version 2, dated June 1991. 23 * 24 * While not mandated by the BSD license, any patches you make to the 25 * iODBC source code may be contributed back into the iODBC project 26 * at your discretion. Contributions will benefit the Open Source and 27 * Data Access community as a whole. Submissions may be made at: 28 * 29 * http://www.iodbc.org 30 * 31 * 32 * GNU Library Generic Public License Version 2 33 * ============================================ 34 * This library is free software; you can redistribute it and/or 35 * modify it under the terms of the GNU Library General Public 36 * License as published by the Free Software Foundation; only 37 * Version 2 of the License dated June 1991. 38 * 39 * This library is distributed in the hope that it will be useful, 40 * but WITHOUT ANY WARRANTY; without even the implied warranty of 41 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 42 * Library General Public License for more details. 43 * 44 * You should have received a copy of the GNU Library General Public 45 * License along with this library; if not, write to the Free 46 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 47 * 48 * 49 * The BSD License 50 * =============== 51 * Redistribution and use in source and binary forms, with or without 52 * modification, are permitted provided that the following conditions 53 * are met: 54 * 55 * 1. Redistributions of source code must retain the above copyright 56 * notice, this list of conditions and the following disclaimer. 57 * 2. Redistributions in binary form must reproduce the above copyright 58 * notice, this list of conditions and the following disclaimer in 59 * the documentation and/or other materials provided with the 60 * distribution. 61 * 3. Neither the name of OpenLink Software Inc. nor the names of its 62 * contributors may be used to endorse or promote products derived 63 * from this software without specific prior written permission. 64 * 65 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 66 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 67 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 68 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR 69 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 70 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 71 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 72 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 73 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 74 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 75 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 76 */ 77 78#ifndef _SQLEXT_H 79#define _SQLEXT_H 80 81#ifndef _SQL_H 82#include <sql.h> 83#endif 84 85#ifdef __cplusplus 86extern "C" { 87#endif 88 89 90/* 91 * Useful Constants 92 */ 93#define SQL_SPEC_MAJOR 3 94#define SQL_SPEC_MINOR 52 95#define SQL_SPEC_STRING "03.52" 96 97#define SQL_SQLSTATE_SIZE 5 98#define SQL_MAX_DSN_LENGTH 32 99#define SQL_MAX_OPTION_STRING_LENGTH 256 100 101 102/* 103 * Handle types 104 */ 105#if (ODBCVER >= 0x0300) 106#define SQL_HANDLE_SENV 5 107#endif /* ODBCVER >= 0x0300 */ 108 109 110/* 111 * Function return codes 112 */ 113#if (ODBCVER < 0x0300) 114#define SQL_NO_DATA_FOUND 100 115#else 116#define SQL_NO_DATA_FOUND SQL_NO_DATA 117#endif /* ODBCVER < 0x0300 */ 118 119 120/* 121 * Special length values for attributes 122 */ 123#if (ODBCVER >= 0x0300) 124#define SQL_IS_POINTER (-4) 125#define SQL_IS_UINTEGER (-5) 126#define SQL_IS_INTEGER (-6) 127#define SQL_IS_USMALLINT (-7) 128#define SQL_IS_SMALLINT (-8) 129#endif /* ODBCVER >= 0x0300 */ 130 131 132/* 133 * SQL extended datatypes 134 */ 135#define SQL_DATE 9 136#if (ODBCVER >= 0x0300) 137#define SQL_INTERVAL 10 138#endif /* ODBCVER >= 0x0300 */ 139#define SQL_TIME 10 140#define SQL_TIMESTAMP 11 141#define SQL_LONGVARCHAR (-1) 142#define SQL_BINARY (-2) 143#define SQL_VARBINARY (-3) 144#define SQL_LONGVARBINARY (-4) 145#define SQL_BIGINT (-5) 146#define SQL_TINYINT (-6) 147#define SQL_BIT (-7) 148#if (ODBCVER >= 0x0350) 149#define SQL_GUID (-11) 150#endif /* ODBCVER >= 0x0350 */ 151 152 153/* 154 * SQL Interval datatypes 155 */ 156#if (ODBCVER >= 0x0300) 157#define SQL_CODE_YEAR 1 158#define SQL_CODE_MONTH 2 159#define SQL_CODE_DAY 3 160#define SQL_CODE_HOUR 4 161#define SQL_CODE_MINUTE 5 162#define SQL_CODE_SECOND 6 163#define SQL_CODE_YEAR_TO_MONTH 7 164#define SQL_CODE_DAY_TO_HOUR 8 165#define SQL_CODE_DAY_TO_MINUTE 9 166#define SQL_CODE_DAY_TO_SECOND 10 167#define SQL_CODE_HOUR_TO_MINUTE 11 168#define SQL_CODE_HOUR_TO_SECOND 12 169#define SQL_CODE_MINUTE_TO_SECOND 13 170 171#define SQL_INTERVAL_YEAR (100 + SQL_CODE_YEAR) 172#define SQL_INTERVAL_MONTH (100 + SQL_CODE_MONTH) 173#define SQL_INTERVAL_DAY (100 + SQL_CODE_DAY) 174#define SQL_INTERVAL_HOUR (100 + SQL_CODE_HOUR) 175#define SQL_INTERVAL_MINUTE (100 + SQL_CODE_MINUTE) 176#define SQL_INTERVAL_SECOND (100 + SQL_CODE_SECOND) 177#define SQL_INTERVAL_YEAR_TO_MONTH (100 + SQL_CODE_YEAR_TO_MONTH) 178#define SQL_INTERVAL_DAY_TO_HOUR (100 + SQL_CODE_DAY_TO_HOUR) 179#define SQL_INTERVAL_DAY_TO_MINUTE (100 + SQL_CODE_DAY_TO_MINUTE) 180#define SQL_INTERVAL_DAY_TO_SECOND (100 + SQL_CODE_DAY_TO_SECOND) 181#define SQL_INTERVAL_HOUR_TO_MINUTE (100 + SQL_CODE_HOUR_TO_MINUTE) 182#define SQL_INTERVAL_HOUR_TO_SECOND (100 + SQL_CODE_HOUR_TO_SECOND) 183#define SQL_INTERVAL_MINUTE_TO_SECOND (100 + SQL_CODE_MINUTE_TO_SECOND) 184#else 185#define SQL_INTERVAL_YEAR (-80) 186#define SQL_INTERVAL_MONTH (-81) 187#define SQL_INTERVAL_YEAR_TO_MONTH (-82) 188#define SQL_INTERVAL_DAY (-83) 189#define SQL_INTERVAL_HOUR (-84) 190#define SQL_INTERVAL_MINUTE (-85) 191#define SQL_INTERVAL_SECOND (-86) 192#define SQL_INTERVAL_DAY_TO_HOUR (-87) 193#define SQL_INTERVAL_DAY_TO_MINUTE (-88) 194#define SQL_INTERVAL_DAY_TO_SECOND (-89) 195#define SQL_INTERVAL_HOUR_TO_MINUTE (-90) 196#define SQL_INTERVAL_HOUR_TO_SECOND (-91) 197#define SQL_INTERVAL_MINUTE_TO_SECOND (-92) 198#endif /* ODBCVER >= 0x0300 */ 199 200 201/* 202 * SQL unicode data types 203 */ 204#if (ODBCVER <= 0x0300) 205/* These definitions are historical and obsolete */ 206#define SQL_UNICODE (-95) 207#define SQL_UNICODE_VARCHAR (-96) 208#define SQL_UNICODE_LONGVARCHAR (-97) 209#define SQL_UNICODE_CHAR SQL_UNICODE 210#else 211#define SQL_UNICODE SQL_WCHAR 212#define SQL_UNICODE_VARCHAR SQL_WVARCHAR 213#define SQL_UNICODE_LONGVARCHAR SQL_WLONGVARCHAR 214#define SQL_UNICODE_CHAR SQL_WCHAR 215#endif /* ODBCVER >= 0x0300 */ 216 217 218#if (ODBCVER < 0x0300) 219#define SQL_TYPE_DRIVER_START SQL_INTERVAL_YEAR 220#define SQL_TYPE_DRIVER_END SQL_UNICODE_LONGVARCHAR 221#endif /* ODBCVER < 0x0300 */ 222 223 224#define SQL_SIGNED_OFFSET (-20) 225#define SQL_UNSIGNED_OFFSET (-22) 226 227 228/* 229 * C datatype to SQL datatype mapping 230 */ 231#define SQL_C_CHAR SQL_CHAR 232#define SQL_C_LONG SQL_INTEGER 233#define SQL_C_SHORT SQL_SMALLINT 234#define SQL_C_FLOAT SQL_REAL 235#define SQL_C_DOUBLE SQL_DOUBLE 236#if (ODBCVER >= 0x0300) 237#define SQL_C_NUMERIC SQL_NUMERIC 238#endif /* ODBCVER >= 0x0300 */ 239#define SQL_C_DEFAULT 99 240 241 242#define SQL_C_DATE SQL_DATE 243#define SQL_C_TIME SQL_TIME 244#define SQL_C_TIMESTAMP SQL_TIMESTAMP 245#define SQL_C_BINARY SQL_BINARY 246#define SQL_C_BIT SQL_BIT 247#define SQL_C_TINYINT SQL_TINYINT 248#define SQL_C_SLONG (SQL_C_LONG+SQL_SIGNED_OFFSET) 249#define SQL_C_SSHORT (SQL_C_SHORT+SQL_SIGNED_OFFSET) 250#define SQL_C_STINYINT (SQL_TINYINT+SQL_SIGNED_OFFSET) 251#define SQL_C_ULONG (SQL_C_LONG+SQL_UNSIGNED_OFFSET) 252#define SQL_C_USHORT (SQL_C_SHORT+SQL_UNSIGNED_OFFSET) 253#define SQL_C_UTINYINT (SQL_TINYINT+SQL_UNSIGNED_OFFSET) 254 255#if defined(_WIN64) 256#define SQL_C_BOOKMARK SQL_C_UBIGINT 257#else 258#define SQL_C_BOOKMARK SQL_C_ULONG 259#endif 260 261#if (ODBCVER >= 0x0300) 262#define SQL_C_TYPE_DATE SQL_TYPE_DATE 263#define SQL_C_TYPE_TIME SQL_TYPE_TIME 264#define SQL_C_TYPE_TIMESTAMP SQL_TYPE_TIMESTAMP 265#define SQL_C_INTERVAL_YEAR SQL_INTERVAL_YEAR 266#define SQL_C_INTERVAL_MONTH SQL_INTERVAL_MONTH 267#define SQL_C_INTERVAL_DAY SQL_INTERVAL_DAY 268#define SQL_C_INTERVAL_HOUR SQL_INTERVAL_HOUR 269#define SQL_C_INTERVAL_MINUTE SQL_INTERVAL_MINUTE 270#define SQL_C_INTERVAL_SECOND SQL_INTERVAL_SECOND 271#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH 272#define SQL_C_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_HOUR 273#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE 274#define SQL_C_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_DAY_TO_SECOND 275#define SQL_C_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE 276#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND 277#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND 278#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET) 279#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET) 280#define SQL_C_VARBOOKMARK SQL_C_BINARY 281#endif /* ODBCVER >= 0x0300 */ 282 283#if (ODBCVER >= 0x0350) 284#define SQL_C_GUID SQL_GUID 285#endif 286 287#define SQL_TYPE_NULL 0 288 289#if (ODBCVER < 0x0300) 290#define SQL_TYPE_MIN SQL_BIT 291#define SQL_TYPE_MAX SQL_VARCHAR 292#endif /* ODBCVER < 0x0300 */ 293 294 295/* 296 * ---------------------------------------------------------------------- 297 * Level 1 Functions 298 * ---------------------------------------------------------------------- 299 */ 300 301/* 302 * SQLBindParameter 303 */ 304#define SQL_DEFAULT_PARAM (-5) 305#define SQL_IGNORE (-6) 306#if (ODBCVER >= 0x0300) 307#define SQL_COLUMN_IGNORE SQL_IGNORE 308#endif /* ODBCVER >= 0x0300 */ 309#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100) 310#define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET) 311 312 313/* 314 * binary length for driver specific attributes 315 */ 316#define SQL_LEN_BINARY_ATTR_OFFSET (-100) 317#define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET) 318 319 320/* 321 * SQLColAttributes - ODBC 2.x defines 322 */ 323#define SQL_COLUMN_COUNT 0 324#define SQL_COLUMN_NAME 1 325#define SQL_COLUMN_TYPE 2 326#define SQL_COLUMN_LENGTH 3 327#define SQL_COLUMN_PRECISION 4 328#define SQL_COLUMN_SCALE 5 329#define SQL_COLUMN_DISPLAY_SIZE 6 330#define SQL_COLUMN_NULLABLE 7 331#define SQL_COLUMN_UNSIGNED 8 332#define SQL_COLUMN_MONEY 9 333#define SQL_COLUMN_UPDATABLE 10 334#define SQL_COLUMN_AUTO_INCREMENT 11 335#define SQL_COLUMN_CASE_SENSITIVE 12 336#define SQL_COLUMN_SEARCHABLE 13 337#define SQL_COLUMN_TYPE_NAME 14 338#define SQL_COLUMN_TABLE_NAME 15 339#define SQL_COLUMN_OWNER_NAME 16 340#define SQL_COLUMN_QUALIFIER_NAME 17 341#define SQL_COLUMN_LABEL 18 342#define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL 343#if (ODBCVER < 0x0300) 344#define SQL_COLUMN_DRIVER_START 1000 345#endif /* ODBCVER < 0x0300 */ 346 347#define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT 348 349 350/* 351 * SQLColAttributes - SQL_COLUMN_UPDATABLE 352 */ 353#define SQL_ATTR_READONLY 0 354#define SQL_ATTR_WRITE 1 355#define SQL_ATTR_READWRITE_UNKNOWN 2 356 357 358/* 359 * SQLColAttributes - SQL_COLUMN_SEARCHABLE 360 */ 361#define SQL_UNSEARCHABLE 0 362#define SQL_LIKE_ONLY 1 363#define SQL_ALL_EXCEPT_LIKE 2 364#define SQL_SEARCHABLE 3 365#define SQL_PRED_SEARCHABLE SQL_SEARCHABLE 366 367 368/* 369 * SQLDataSources - additional fetch directions 370 */ 371#if (ODBCVER >= 0x0300) 372#define SQL_FETCH_FIRST_USER 31 373#define SQL_FETCH_FIRST_SYSTEM 32 374#endif /* ODBCVER >= 0x0300 */ 375 376 377/* 378 * SQLDriverConnect 379 */ 380#define SQL_DRIVER_NOPROMPT 0 381#define SQL_DRIVER_COMPLETE 1 382#define SQL_DRIVER_PROMPT 2 383#define SQL_DRIVER_COMPLETE_REQUIRED 3 384 385 386/* 387 * SQLGetConnectAttr - ODBC 2.x attributes 388 */ 389#define SQL_ACCESS_MODE 101 390#define SQL_AUTOCOMMIT 102 391#define SQL_LOGIN_TIMEOUT 103 392#define SQL_OPT_TRACE 104 393#define SQL_OPT_TRACEFILE 105 394#define SQL_TRANSLATE_DLL 106 395#define SQL_TRANSLATE_OPTION 107 396#define SQL_TXN_ISOLATION 108 397#define SQL_CURRENT_QUALIFIER 109 398#define SQL_ODBC_CURSORS 110 399#define SQL_QUIET_MODE 111 400#define SQL_PACKET_SIZE 112 401 402 403/* 404 * SQLGetConnectAttr - ODBC 3.0 attributes 405 */ 406#if (ODBCVER >= 0x0300) 407#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE 408#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT 409#define SQL_ATTR_CONNECTION_TIMEOUT 113 410#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER 411#define SQL_ATTR_DISCONNECT_BEHAVIOR 114 412#define SQL_ATTR_ENLIST_IN_DTC 1207 413#define SQL_ATTR_ENLIST_IN_XA 1208 414#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT 415#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS 416#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE 417#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE 418#define SQL_ATTR_TRACE SQL_OPT_TRACE 419#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE 420#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL 421#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION 422#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION 423#endif /* ODBCVER >= 0x0300 */ 424 425#define SQL_ATTR_CONNECTION_DEAD 1209 /* GetConnectAttr only */ 426 427 428/* 429 * These options have no meaning for a 3.0 driver 430 */ 431#if (ODBCVER < 0x0300) 432#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE 433#define SQL_CONN_OPT_MAX SQL_PACKET_SIZE 434#define SQL_CONNECT_OPT_DRVR_START 1000 435#endif /* ODBCVER < 0x0300 */ 436 437 438/* 439 * SQLGetConnectAttr - SQL_ACCESS_MODE 440 */ 441#define SQL_MODE_READ_WRITE 0UL 442#define SQL_MODE_READ_ONLY 1UL 443#define SQL_MODE_DEFAULT SQL_MODE_READ_WRITE 444 445 446/* 447 * SQLGetConnectAttr - SQL_AUTOCOMMIT 448 */ 449#define SQL_AUTOCOMMIT_OFF 0UL 450#define SQL_AUTOCOMMIT_ON 1UL 451#define SQL_AUTOCOMMIT_DEFAULT SQL_AUTOCOMMIT_ON 452 453 454/* 455 * SQLGetConnectAttr - SQL_LOGIN_TIMEOUT 456 */ 457#define SQL_LOGIN_TIMEOUT_DEFAULT 15UL 458 459 460/* 461 * SQLGetConnectAttr - SQL_ODBC_CURSORS 462 */ 463#define SQL_CUR_USE_IF_NEEDED 0UL 464#define SQL_CUR_USE_ODBC 1UL 465#define SQL_CUR_USE_DRIVER 2UL 466#define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER 467 468 469/* 470 * SQLGetConnectAttr - SQL_OPT_TRACE 471 */ 472#define SQL_OPT_TRACE_OFF 0UL 473#define SQL_OPT_TRACE_ON 1UL 474#define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF 475#if defined (WIN32) 476#define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG" 477#define SQL_OPT_TRACE_FILE_DEFAULTW L"\\SQL.LOG" 478#else 479#define SQL_OPT_TRACE_FILE_DEFAULT "/tmp/odbc.log" 480#define SQL_OPT_TRACE_FILE_DEFAULTW L"/tmp/odbc.log" 481#endif 482 483 484/* 485 * SQLGetConnectAttr - SQL_ATTR_ANSI_APP 486 */ 487#if (ODBCVER >= 0x0351) 488#define SQL_AA_TRUE 1L /* ANSI app */ 489#define SQL_AA_FALSE 0L /* Unicode app */ 490#endif 491 492 493/* 494 * SQLGetConnectAttr - SQL_ATTR_CONNECTION_DEAD 495 */ 496#define SQL_CD_TRUE 1L /* closed/dead */ 497#define SQL_CD_FALSE 0L /* open/available */ 498 499 500/* 501 * SQLGetConnectAttr - SQL_ATTR_DISCONNECT_BEHAVIOR 502 */ 503#if (ODBCVER >= 0x0300) 504#define SQL_DB_RETURN_TO_POOL 0UL 505#define SQL_DB_DISCONNECT 1UL 506#define SQL_DB_DEFAULT SQL_DB_RETURN_TO_POOL 507#endif /* ODBCVER >= 0x0300 */ 508 509 510/* 511 * SQLGetConnectAttr - SQL_ATTR_ENLIST_IN_DTC 512 */ 513#if (ODBCVER >= 0x0300) 514#define SQL_DTC_DONE 0L 515#endif /* ODBCVER >= 0x0300 */ 516 517 518/* 519 * SQLGetConnectAttr - Unicode drivers 520 */ 521#if (ODBCVER >= 0x0351) 522#define SQL_ATTR_ANSI_APP 115 523#endif 524 525 526/* 527 * SQLGetData 528 */ 529#define SQL_NO_TOTAL (-4) 530 531 532/* 533 * SQLGetDescField - extended descriptor field 534 */ 535#if (ODBCVER >= 0x0300) 536#define SQL_DESC_ARRAY_SIZE 20 537#define SQL_DESC_ARRAY_STATUS_PTR 21 538#define SQL_DESC_AUTO_UNIQUE_VALUE SQL_COLUMN_AUTO_INCREMENT 539#define SQL_DESC_BASE_COLUMN_NAME 22 540#define SQL_DESC_BASE_TABLE_NAME 23 541#define SQL_DESC_BIND_OFFSET_PTR 24 542#define SQL_DESC_BIND_TYPE 25 543#define SQL_DESC_CASE_SENSITIVE SQL_COLUMN_CASE_SENSITIVE 544#define SQL_DESC_CATALOG_NAME SQL_COLUMN_QUALIFIER_NAME 545#define SQL_DESC_CONCISE_TYPE SQL_COLUMN_TYPE 546#define SQL_DESC_DATETIME_INTERVAL_PRECISION 26 547#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE 548#define SQL_DESC_FIXED_PREC_SCALE SQL_COLUMN_MONEY 549#define SQL_DESC_LABEL SQL_COLUMN_LABEL 550#define SQL_DESC_LITERAL_PREFIX 27 551#define SQL_DESC_LITERAL_SUFFIX 28 552#define SQL_DESC_LOCAL_TYPE_NAME 29 553#define SQL_DESC_MAXIMUM_SCALE 30 554#define SQL_DESC_MINIMUM_SCALE 31 555#define SQL_DESC_NUM_PREC_RADIX 32 556#define SQL_DESC_PARAMETER_TYPE 33 557#define SQL_DESC_ROWS_PROCESSED_PTR 34 558#if (ODBCVER >= 0x0350) 559#define SQL_DESC_ROWVER 35 560#endif /* ODBCVER >= 0x0350 */ 561#define SQL_DESC_SCHEMA_NAME SQL_COLUMN_OWNER_NAME 562#define SQL_DESC_SEARCHABLE SQL_COLUMN_SEARCHABLE 563#define SQL_DESC_TYPE_NAME SQL_COLUMN_TYPE_NAME 564#define SQL_DESC_TABLE_NAME SQL_COLUMN_TABLE_NAME 565#define SQL_DESC_UNSIGNED SQL_COLUMN_UNSIGNED 566#define SQL_DESC_UPDATABLE SQL_COLUMN_UPDATABLE 567#endif /* ODBCVER >= 0x0300 */ 568 569 570/* 571 * SQLGetDiagField - defines for diagnostics fields 572 */ 573#if (ODBCVER >= 0x0300) 574#define SQL_DIAG_CURSOR_ROW_COUNT (-1249) 575#define SQL_DIAG_ROW_NUMBER (-1248) 576#define SQL_DIAG_COLUMN_NUMBER (-1247) 577#endif /* ODBCVER >= 0x0300 */ 578 579 580/* 581 * SQLGetDiagField - SQL_DIAG_ROW_NUMBER and SQL_DIAG_COLUMN_NUMBER 582 */ 583#if (ODBCVER >= 0x0300) 584#define SQL_NO_ROW_NUMBER (-1) 585#define SQL_NO_COLUMN_NUMBER (-1) 586#define SQL_ROW_NUMBER_UNKNOWN (-2) 587#define SQL_COLUMN_NUMBER_UNKNOWN (-2) 588#endif 589 590 591#if (ODBCVER >= 0x0300) 592/* 593 * SQLGetEnvAttr - Attributes 594 */ 595#define SQL_ATTR_ODBC_VERSION 200 596#define SQL_ATTR_CONNECTION_POOLING 201 597#define SQL_ATTR_CP_MATCH 202 598 599 600/* 601 * SQLGetEnvAttr - SQL_ATTR_ODBC_VERSION 602 */ 603#define SQL_OV_ODBC2 2UL 604#define SQL_OV_ODBC3 3UL 605 606 607/* 608 * SQLGetEnvAttr - SQL_ATTR_CONNECTION_POOLING 609 */ 610#define SQL_CP_OFF 0UL 611#define SQL_CP_ONE_PER_DRIVER 1UL 612#define SQL_CP_ONE_PER_HENV 2UL 613#define SQL_CP_DEFAULT SQL_CP_OFF 614 615 616/* 617 * SQLGetEnvAttr - SQL_ATTR_CP_MATCH 618 */ 619#define SQL_CP_STRICT_MATCH 0UL 620#define SQL_CP_RELAXED_MATCH 1UL 621#define SQL_CP_MATCH_DEFAULT SQL_CP_STRICT_MATCH 622#endif /* ODBCVER >= 0x0300 */ 623 624 625/* 626 * SQLGetFunctions - extensions to the X/Open specification 627 */ 628#if (ODBCVER >= 0x0300) 629#define SQL_API_SQLALLOCHANDLESTD 73 630#define SQL_API_SQLBULKOPERATIONS 24 631#endif /* ODBCVER >= 0x0300 */ 632#define SQL_API_SQLBINDPARAMETER 72 633#define SQL_API_SQLBROWSECONNECT 55 634#define SQL_API_SQLCOLATTRIBUTES 6 635#define SQL_API_SQLCOLUMNPRIVILEGES 56 636#define SQL_API_SQLDESCRIBEPARAM 58 637#define SQL_API_SQLDRIVERCONNECT 41 638#define SQL_API_SQLDRIVERS 71 639#define SQL_API_SQLEXTENDEDFETCH 59 640#define SQL_API_SQLFOREIGNKEYS 60 641#define SQL_API_SQLMORERESULTS 61 642#define SQL_API_SQLNATIVESQL 62 643#define SQL_API_SQLNUMPARAMS 63 644#define SQL_API_SQLPARAMOPTIONS 64 645#define SQL_API_SQLPRIMARYKEYS 65 646#define SQL_API_SQLPROCEDURECOLUMNS 66 647#define SQL_API_SQLPROCEDURES 67 648#define SQL_API_SQLSETPOS 68 649#define SQL_API_SQLSETSCROLLOPTIONS 69 650#define SQL_API_SQLTABLEPRIVILEGES 70 651 652 653/* 654 * These are not useful anymore as the X/Open specification defines 655 * functions in the 10000 range 656 */ 657#if (ODBCVER < 0x0300) 658#define SQL_EXT_API_LAST SQL_API_SQLBINDPARAMETER 659#define SQL_NUM_FUNCTIONS 23 660#define SQL_EXT_API_START 40 661#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1) 662#endif /* ODBCVER < 0x0300 */ 663 664 665/* 666 * SQLGetFunctions - ODBC version 2.x and earlier 667 */ 668#define SQL_API_ALL_FUNCTIONS 0 669 670 671/* 672 * Loading by ordinal is not supported for 3.0 and above drivers 673 */ 674#define SQL_API_LOADBYORDINAL 199 675 676 677/* 678 * SQLGetFunctions - SQL_API_ODBC3_ALL_FUNCTIONS 679 */ 680#if (ODBCVER >= 0x0300) 681#define SQL_API_ODBC3_ALL_FUNCTIONS 999 682#define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE 250 683 684#define SQL_FUNC_EXISTS(pfExists, uwAPI) \ 685 ((*(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F))) \ 686 ? SQL_TRUE : SQL_FALSE) 687#endif /* ODBCVER >= 0x0300 */ 688 689 690/* 691 * SQLGetInfo - ODBC 2.x extensions to the X/Open standard 692 */ 693#define SQL_INFO_FIRST 0 694#define SQL_ACTIVE_CONNECTIONS 0 /* MAX_DRIVER_CONNECTIONS */ 695#define SQL_ACTIVE_STATEMENTS 1 /* MAX_CONCURRENT_ACTIVITIES */ 696#define SQL_DRIVER_HDBC 3 697#define SQL_DRIVER_HENV 4 698#define SQL_DRIVER_HSTMT 5 699#define SQL_DRIVER_NAME 6 700#define SQL_DRIVER_VER 7 701#define SQL_ODBC_API_CONFORMANCE 9 702#define SQL_ODBC_VER 10 703#define SQL_ROW_UPDATES 11 704#define SQL_ODBC_SAG_CLI_CONFORMANCE 12 705#define SQL_ODBC_SQL_CONFORMANCE 15 706#define SQL_PROCEDURES 21 707#define SQL_CONCAT_NULL_BEHAVIOR 22 708#define SQL_CURSOR_ROLLBACK_BEHAVIOR 24 709#define SQL_EXPRESSIONS_IN_ORDERBY 27 710#define SQL_MAX_OWNER_NAME_LEN 32 /* MAX_SCHEMA_NAME_LEN */ 711#define SQL_MAX_PROCEDURE_NAME_LEN 33 712#define SQL_MAX_QUALIFIER_NAME_LEN 34 /* MAX_CATALOG_NAME_LEN */ 713#define SQL_MULT_RESULT_SETS 36 714#define SQL_MULTIPLE_ACTIVE_TXN 37 715#define SQL_OUTER_JOINS 38 716#define SQL_OWNER_TERM 39 717#define SQL_PROCEDURE_TERM 40 718#define SQL_QUALIFIER_NAME_SEPARATOR 41 719#define SQL_QUALIFIER_TERM 42 720#define SQL_SCROLL_OPTIONS 44 721#define SQL_TABLE_TERM 45 722#define SQL_CONVERT_FUNCTIONS 48 723#define SQL_NUMERIC_FUNCTIONS 49 724#define SQL_STRING_FUNCTIONS 50 725#define SQL_SYSTEM_FUNCTIONS 51 726#define SQL_TIMEDATE_FUNCTIONS 52 727#define SQL_CONVERT_BIGINT 53 728#define SQL_CONVERT_BINARY 54 729#define SQL_CONVERT_BIT 55 730#define SQL_CONVERT_CHAR 56 731#define SQL_CONVERT_DATE 57 732#define SQL_CONVERT_DECIMAL 58 733#define SQL_CONVERT_DOUBLE 59 734#define SQL_CONVERT_FLOAT 60 735#define SQL_CONVERT_INTEGER 61 736#define SQL_CONVERT_LONGVARCHAR 62 737#define SQL_CONVERT_NUMERIC 63 738#define SQL_CONVERT_REAL 64 739#define SQL_CONVERT_SMALLINT 65 740#define SQL_CONVERT_TIME 66 741#define SQL_CONVERT_TIMESTAMP 67 742#define SQL_CONVERT_TINYINT 68 743#define SQL_CONVERT_VARBINARY 69 744#define SQL_CONVERT_VARCHAR 70 745#define SQL_CONVERT_LONGVARBINARY 71 746#define SQL_ODBC_SQL_OPT_IEF 73 /* SQL_INTEGRITY */ 747#define SQL_CORRELATION_NAME 74 748#define SQL_NON_NULLABLE_COLUMNS 75 749#define SQL_DRIVER_HLIB 76 750#define SQL_DRIVER_ODBC_VER 77 751#define SQL_LOCK_TYPES 78 752#define SQL_POS_OPERATIONS 79 753#define SQL_POSITIONED_STATEMENTS 80 754#define SQL_BOOKMARK_PERSISTENCE 82 755#define SQL_STATIC_SENSITIVITY 83 756#define SQL_FILE_USAGE 84 757#define SQL_COLUMN_ALIAS 87 758#define SQL_GROUP_BY 88 759#define SQL_KEYWORDS 89 760#define SQL_OWNER_USAGE 91 761#define SQL_QUALIFIER_USAGE 92 762#define SQL_QUOTED_IDENTIFIER_CASE 93 763#define SQL_SUBQUERIES 95 764#define SQL_UNION 96 765#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103 766#define SQL_MAX_CHAR_LITERAL_LEN 108 767#define SQL_TIMEDATE_ADD_INTERVALS 109 768#define SQL_TIMEDATE_DIFF_INTERVALS 110 769#define SQL_NEED_LONG_DATA_LEN 111 770#define SQL_MAX_BINARY_LITERAL_LEN 112 771#define SQL_LIKE_ESCAPE_CLAUSE 113 772#define SQL_QUALIFIER_LOCATION 114 773 774#if (ODBCVER >= 0x0201 && ODBCVER < 0x0300) 775#define SQL_OJ_CAPABILITIES 65003 /* Temp value until ODBC 3.0 */ 776#endif /* ODBCVER >= 0x0201 && ODBCVER < 0x0300 */ 777 778 779/* 780 * These values are not useful anymore as X/Open defines values in the 781 * 10000 range 782 */ 783#if (ODBCVER < 0x0300) 784#define SQL_INFO_LAST SQL_QUALIFIER_LOCATION 785#define SQL_INFO_DRIVER_START 1000 786#endif /* ODBCVER < 0x0300 */ 787 788 789/* 790 * SQLGetInfo - ODBC 3.x extensions to the X/Open standard 791 */ 792#if (ODBCVER >= 0x0300) 793#define SQL_ACTIVE_ENVIRONMENTS 116 794#define SQL_ALTER_DOMAIN 117 795 796#define SQL_SQL_CONFORMANCE 118 797#define SQL_DATETIME_LITERALS 119 798 799#define SQL_ASYNC_MODE 10021 /* new X/Open spec */ 800#define SQL_BATCH_ROW_COUNT 120 801#define SQL_BATCH_SUPPORT 121 802#define SQL_CATALOG_LOCATION SQL_QUALIFIER_LOCATION 803#define SQL_CATALOG_NAME_SEPARATOR SQL_QUALIFIER_NAME_SEPARATOR 804#define SQL_CATALOG_TERM SQL_QUALIFIER_TERM 805#define SQL_CATALOG_USAGE SQL_QUALIFIER_USAGE 806#define SQL_CONVERT_WCHAR 122 807#define SQL_CONVERT_INTERVAL_DAY_TIME 123 808#define SQL_CONVERT_INTERVAL_YEAR_MONTH 124 809#define SQL_CONVERT_WLONGVARCHAR 125 810#define SQL_CONVERT_WVARCHAR 126 811#define SQL_CREATE_ASSERTION 127 812#define SQL_CREATE_CHARACTER_SET 128 813#define SQL_CREATE_COLLATION 129 814#define SQL_CREATE_DOMAIN 130 815#define SQL_CREATE_SCHEMA 131 816#define SQL_CREATE_TABLE 132 817#define SQL_CREATE_TRANSLATION 133 818#define SQL_CREATE_VIEW 134 819#define SQL_DRIVER_HDESC 135 820#define SQL_DROP_ASSERTION 136 821#define SQL_DROP_CHARACTER_SET 137 822#define SQL_DROP_COLLATION 138 823#define SQL_DROP_DOMAIN 139 824#define SQL_DROP_SCHEMA 140 825#define SQL_DROP_TABLE 141 826#define SQL_DROP_TRANSLATION 142 827#define SQL_DROP_VIEW 143 828#define SQL_DYNAMIC_CURSOR_ATTRIBUTES1 144 829#define SQL_DYNAMIC_CURSOR_ATTRIBUTES2 145 830#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 146 831#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 147 832#define SQL_INDEX_KEYWORDS 148 833#define SQL_INFO_SCHEMA_VIEWS 149 834#define SQL_KEYSET_CURSOR_ATTRIBUTES1 150 835#define SQL_KEYSET_CURSOR_ATTRIBUTES2 151 836#define SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 10022 /* new X/Open spec */ 837#define SQL_ODBC_INTERFACE_CONFORMANCE 152 838#define SQL_PARAM_ARRAY_ROW_COUNTS 153 839#define SQL_PARAM_ARRAY_SELECTS 154 840#define SQL_SCHEMA_TERM SQL_OWNER_TERM 841#define SQL_SCHEMA_USAGE SQL_OWNER_USAGE 842#define SQL_SQL92_DATETIME_FUNCTIONS 155 843#define SQL_SQL92_FOREIGN_KEY_DELETE_RULE 156 844#define SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 157 845#define SQL_SQL92_GRANT 158 846#define SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 159 847#define SQL_SQL92_PREDICATES 160 848#define SQL_SQL92_RELATIONAL_JOIN_OPERATORS 161 849#define SQL_SQL92_REVOKE 162 850#define SQL_SQL92_ROW_VALUE_CONSTRUCTOR 163 851#define SQL_SQL92_STRING_FUNCTIONS 164 852#define SQL_SQL92_VALUE_EXPRESSIONS 165 853#define SQL_STANDARD_CLI_CONFORMANCE 166 854#define SQL_STATIC_CURSOR_ATTRIBUTES1 167 855#define SQL_STATIC_CURSOR_ATTRIBUTES2 168 856 857#define SQL_AGGREGATE_FUNCTIONS 169 858#define SQL_DDL_INDEX 170 859#define SQL_DM_VER 171 860#define SQL_INSERT_STATEMENT 172 861#define SQL_UNION_STATEMENT SQL_UNION 862 863#endif /* ODBCVER >= 0x0300 */ 864 865#define SQL_DTC_TRANSITION_COST 1750 866 867 868/* 869 * SQLGetInfo - SQL_AGGREGATE_FUNCTIONS 870 */ 871#if (ODBCVER >= 0x0300) 872#define SQL_AF_AVG 0x00000001L 873#define SQL_AF_COUNT 0x00000002L 874#define SQL_AF_MAX 0x00000004L 875#define SQL_AF_MIN 0x00000008L 876#define SQL_AF_SUM 0x00000010L 877#define SQL_AF_DISTINCT 0x00000020L 878#define SQL_AF_ALL 0x00000040L 879#endif /* ODBCVER >= 0x0300 */ 880 881/* 882 * SQLGetInfo - SQL_ALTER_DOMAIN 883 */ 884#if (ODBCVER >= 0x0300) 885#define SQL_AD_CONSTRAINT_NAME_DEFINITION 0x00000001L 886#define SQL_AD_ADD_DOMAIN_CONSTRAINT 0x00000002L 887#define SQL_AD_DROP_DOMAIN_CONSTRAINT 0x00000004L 888#define SQL_AD_ADD_DOMAIN_DEFAULT 0x00000008L 889#define SQL_AD_DROP_DOMAIN_DEFAULT 0x00000010L 890#define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L 891#define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L 892#define SQL_AD_ADD_CONSTRAINT_DEFERRABLE 0x00000080L 893#define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE 0x00000100L 894#endif /* ODBCVER >= 0x0300 */ 895 896 897/* 898 * SQLGetInfo - SQL_ALTER_TABLE 899 */ 900#if (ODBCVER >= 0x0300) 901/* 902 * The following 5 bitmasks are defined in sql.h 903 * 904 * #define SQL_AT_ADD_COLUMN 0x00000001L 905 * #define SQL_AT_DROP_COLUMN 0x00000002L 906 * #define SQL_AT_ADD_CONSTRAINT 0x00000008L 907 */ 908#define SQL_AT_ADD_COLUMN_SINGLE 0x00000020L 909#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L 910#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L 911#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L 912#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L 913#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L 914#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L 915#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L 916#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L 917#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L 918#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L 919#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L 920#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L 921#define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L 922#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L 923#endif /* ODBCVER >= 0x0300 */ 924 925 926/* 927 * SQLGetInfo - SQL_ASYNC_MODE 928 */ 929#if (ODBCVER >= 0x0300) 930#define SQL_AM_NONE 0 931#define SQL_AM_CONNECTION 1 932#define SQL_AM_STATEMENT 2 933#endif /* ODBCVER >= 0x0300 */ 934 935 936/* 937 * SQLGetInfo - SQL_BATCH_ROW_COUNT 938 */ 939#if (ODBCVER >= 0x0300) 940#define SQL_BRC_PROCEDURES 0x0000001 941#define SQL_BRC_EXPLICIT 0x0000002 942#define SQL_BRC_ROLLED_UP 0x0000004 943#endif /* ODBCVER >= 0x0300 */ 944 945 946/* 947 * SQLGetInfo - SQL_BATCH_SUPPORT 948 */ 949#if (ODBCVER >= 0x0300) 950#define SQL_BS_SELECT_EXPLICIT 0x00000001L 951#define SQL_BS_ROW_COUNT_EXPLICIT 0x00000002L 952#define SQL_BS_SELECT_PROC 0x00000004L 953#define SQL_BS_ROW_COUNT_PROC 0x00000008L 954#endif /* ODBCVER >= 0x0300 */ 955 956 957/* 958 * SQLGetInfo - SQL_BOOKMARK_PERSISTENCE 959 */ 960#define SQL_BP_CLOSE 0x00000001L 961#define SQL_BP_DELETE 0x00000002L 962#define SQL_BP_DROP 0x00000004L 963#define SQL_BP_TRANSACTION 0x00000008L 964#define SQL_BP_UPDATE 0x00000010L 965#define SQL_BP_OTHER_HSTMT 0x00000020L 966#define SQL_BP_SCROLL 0x00000040L 967 968 969/* 970 * SQLGetInfo - SQL_CATALOG_LOCATION 971 */ 972#if (ODBCVER >= 0x0300) 973#define SQL_CL_START SQL_QL_START 974#define SQL_CL_END SQL_QL_END 975#endif /* ODBCVER >= 0x0300 */ 976 977 978/* 979 * SQLGetInfo - SQL_CATALOG_USAGE 980 */ 981#if (ODBCVER >= 0x0300) 982#define SQL_CU_DML_STATEMENTS SQL_QU_DML_STATEMENTS 983#define SQL_CU_PROCEDURE_INVOCATION SQL_QU_PROCEDURE_INVOCATION 984#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION 985#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION 986#define SQL_CU_PRIVILEGE_DEFINITION SQL_QU_PRIVILEGE_DEFINITION 987#endif /* ODBCVER >= 0x0300 */ 988 989 990/* 991 * SQLGetInfo - SQL_CONCAT_NULL_BEHAVIOR 992 */ 993#define SQL_CB_NULL 0x0000 994#define SQL_CB_NON_NULL 0x0001 995 996 997/* 998 * SQLGetInfo - SQL_CONVERT_* bitmask values 999 */ 1000#define SQL_CVT_CHAR 0x00000001L 1001#define SQL_CVT_NUMERIC 0x00000002L 1002#define SQL_CVT_DECIMAL 0x00000004L 1003#define SQL_CVT_INTEGER 0x00000008L 1004#define SQL_CVT_SMALLINT 0x00000010L 1005#define SQL_CVT_FLOAT 0x00000020L 1006#define SQL_CVT_REAL 0x00000040L 1007#define SQL_CVT_DOUBLE 0x00000080L 1008#define SQL_CVT_VARCHAR 0x00000100L 1009#define SQL_CVT_LONGVARCHAR 0x00000200L 1010#define SQL_CVT_BINARY 0x00000400L 1011#define SQL_CVT_VARBINARY 0x00000800L 1012#define SQL_CVT_BIT 0x00001000L 1013#define SQL_CVT_TINYINT 0x00002000L 1014#define SQL_CVT_BIGINT 0x00004000L 1015#define SQL_CVT_DATE 0x00008000L 1016#define SQL_CVT_TIME 0x00010000L 1017#define SQL_CVT_TIMESTAMP 0x00020000L 1018#define SQL_CVT_LONGVARBINARY 0x00040000L 1019#if (ODBCVER >= 0x0300) 1020#define SQL_CVT_INTERVAL_YEAR_MONTH 0x00080000L 1021#define SQL_CVT_INTERVAL_DAY_TIME 0x00100000L 1022#define SQL_CVT_WCHAR 0x00200000L 1023#define SQL_CVT_WLONGVARCHAR 0x00400000L 1024#define SQL_CVT_WVARCHAR 0x00800000L 1025#endif /* ODBCVER >= 0x0300 */ 1026 1027 1028/* 1029 * SQLGetInfo - SQL_CONVERT_FUNCTIONS 1030 */ 1031#define SQL_FN_CVT_CONVERT 0x00000001L 1032#if (ODBCVER >= 0x0300) 1033#define SQL_FN_CVT_CAST 0x00000002L 1034#endif /* ODBCVER >= 0x0300 */ 1035 1036 1037/* 1038 * SQLGetInfo - SQL_CORRELATION_NAME 1039 */ 1040#define SQL_CN_NONE 0x0000 1041#define SQL_CN_DIFFERENT 0x0001 1042#define SQL_CN_ANY 0x0002 1043 1044 1045/* 1046 * SQLGetInfo - SQL_CREATE_ASSERTION 1047 */ 1048#if (ODBCVER >= 0x0300) 1049#define SQL_CA_CREATE_ASSERTION 0x00000001L 1050#define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED 0x00000010L 1051#define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000020L 1052#define SQL_CA_CONSTRAINT_DEFERRABLE 0x00000040L 1053#define SQL_CA_CONSTRAINT_NON_DEFERRABLE 0x00000080L 1054#endif /* ODBCVER >= 0x0300 */ 1055 1056 1057/* 1058 * SQLGetInfo - SQL_CREATE_CHARACTER_SET 1059 */ 1060#if (ODBCVER >= 0x0300) 1061#define SQL_CCS_CREATE_CHARACTER_SET 0x00000001L 1062#define SQL_CCS_COLLATE_CLAUSE 0x00000002L 1063#define SQL_CCS_LIMITED_COLLATION 0x00000004L 1064#endif /* ODBCVER >= 0x0300 */ 1065 1066 1067/* 1068 * SQLGetInfo - SQL_CREATE_COLLATION 1069 */ 1070#if (ODBCVER >= 0x0300) 1071#define SQL_CCOL_CREATE_COLLATION 0x00000001L 1072#endif /* ODBCVER >= 0x0300 */ 1073 1074 1075/* 1076 * SQLGetInfo - SQL_CREATE_DOMAIN 1077 */ 1078#if (ODBCVER >= 0x0300) 1079#define SQL_CDO_CREATE_DOMAIN 0x00000001L 1080#define SQL_CDO_DEFAULT 0x00000002L 1081#define SQL_CDO_CONSTRAINT 0x00000004L 1082#define SQL_CDO_COLLATION 0x00000008L 1083#define SQL_CDO_CONSTRAINT_NAME_DEFINITION 0x00000010L 1084#define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L 1085#define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L 1086#define SQL_CDO_CONSTRAINT_DEFERRABLE 0x00000080L 1087#define SQL_CDO_CONSTRAINT_NON_DEFERRABLE 0x00000100L 1088#endif /* ODBCVER >= 0x0300 */ 1089 1090 1091/* 1092 * SQLGetInfo - SQL_CREATE_SCHEMA 1093 */ 1094#if (ODBCVER >= 0x0300) 1095#define SQL_CS_CREATE_SCHEMA 0x00000001L 1096#define SQL_CS_AUTHORIZATION 0x00000002L 1097#define SQL_CS_DEFAULT_CHARACTER_SET 0x00000004L 1098#endif /* ODBCVER >= 0x0300 */ 1099 1100 1101/* 1102 * SQLGetInfo - SQL_CREATE_TABLE 1103 */ 1104#if (ODBCVER >= 0x0300) 1105#define SQL_CT_CREATE_TABLE 0x00000001L 1106#define SQL_CT_COMMIT_PRESERVE 0x00000002L 1107#define SQL_CT_COMMIT_DELETE 0x00000004L 1108#define SQL_CT_GLOBAL_TEMPORARY 0x00000008L 1109#define SQL_CT_LOCAL_TEMPORARY 0x00000010L 1110#define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L 1111#define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L 1112#define SQL_CT_CONSTRAINT_DEFERRABLE 0x00000080L 1113#define SQL_CT_CONSTRAINT_NON_DEFERRABLE 0x00000100L 1114#define SQL_CT_COLUMN_CONSTRAINT 0x00000200L 1115#define SQL_CT_COLUMN_DEFAULT 0x00000400L 1116#define SQL_CT_COLUMN_COLLATION 0x00000800L 1117#define SQL_CT_TABLE_CONSTRAINT 0x00001000L 1118#define SQL_CT_CONSTRAINT_NAME_DEFINITION 0x00002000L 1119#endif /* ODBCVER >= 0x0300 */ 1120 1121 1122/* 1123 * SQLGetInfo - SQL_CREATE_TRANSLATION 1124 */ 1125#if (ODBCVER >= 0x0300) 1126#define SQL_CTR_CREATE_TRANSLATION 0x00000001L 1127#endif /* ODBCVER >= 0x0300 */ 1128 1129 1130/* 1131 * SQLGetInfo - SQL_CREATE_VIEW 1132 */ 1133#define SQL_CV_CREATE_VIEW 0x00000001L 1134#define SQL_CV_CHECK_OPTION 0x00000002L 1135#define SQL_CV_CASCADED 0x00000004L 1136#define SQL_CV_LOCAL 0x00000008L 1137 1138 1139/* 1140 * SQLGetInfo - SQL_DATETIME_LITERALS 1141 */ 1142#if (ODBCVER >= 0x0300) 1143#define SQL_DL_SQL92_DATE 0x00000001L 1144#define SQL_DL_SQL92_TIME 0x00000002L 1145#define SQL_DL_SQL92_TIMESTAMP 0x00000004L 1146#define SQL_DL_SQL92_INTERVAL_YEAR 0x00000008L 1147#define SQL_DL_SQL92_INTERVAL_MONTH 0x00000010L 1148#define SQL_DL_SQL92_INTERVAL_DAY 0x00000020L 1149#define SQL_DL_SQL92_INTERVAL_HOUR 0x00000040L 1150#define SQL_DL_SQL92_INTERVAL_MINUTE 0x00000080L 1151#define SQL_DL_SQL92_INTERVAL_SECOND 0x00000100L 1152#define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH 0x00000200L 1153#define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR 0x00000400L 1154#define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE 0x00000800L 1155#define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND 0x00001000L 1156#define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE 0x00002000L 1157#define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND 0x00004000L 1158#define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND 0x00008000L 1159#endif /* ODBCVER >= 0x0300 */ 1160 1161 1162/* 1163 * SQLGetInfo - SQL_DDL_INDEX 1164 */ 1165#if (ODBCVER >= 0x0300) 1166#define SQL_DI_CREATE_INDEX 0x00000001L 1167#define SQL_DI_DROP_INDEX 0x00000002L 1168#endif /* ODBCVER >= 0x0300 */ 1169 1170 1171/* 1172 * SQLGetInfo - SQL_DROP_ASSERTION 1173 */ 1174#if (ODBCVER >= 0x0300) 1175#define SQL_DA_DROP_ASSERTION 0x00000001L 1176#endif /* ODBCVER >= 0x0300 */ 1177 1178 1179/* 1180 * SQLGetInfo - SQL_DROP_CHARACTER_SET 1181 */ 1182#if (ODBCVER >= 0x0300) 1183#define SQL_DCS_DROP_CHARACTER_SET 0x00000001L 1184#endif /* ODBCVER >= 0x0300 */ 1185 1186 1187/* 1188 * SQLGetInfo - SQL_DROP_COLLATION 1189 */ 1190#if (ODBCVER >= 0x0300) 1191#define SQL_DC_DROP_COLLATION 0x00000001L 1192#endif /* ODBCVER >= 0x0300 */ 1193 1194 1195/* 1196 * SQLGetInfo - SQL_DROP_DOMAIN 1197 */ 1198#if (ODBCVER >= 0x0300) 1199#define SQL_DD_DROP_DOMAIN 0x00000001L 1200#define SQL_DD_RESTRICT 0x00000002L 1201#define SQL_DD_CASCADE 0x00000004L 1202#endif /* ODBCVER >= 0x0300 */ 1203 1204 1205/* 1206 * SQLGetInfo - SQL_DROP_SCHEMA 1207 */ 1208#if (ODBCVER >= 0x0300) 1209#define SQL_DS_DROP_SCHEMA 0x00000001L 1210#define SQL_DS_RESTRICT 0x00000002L 1211#define SQL_DS_CASCADE 0x00000004L 1212#endif /* ODBCVER >= 0x0300 */ 1213 1214 1215/* 1216 * SQLGetInfo - SQL_DROP_TABLE 1217 */ 1218#if (ODBCVER >= 0x0300) 1219#define SQL_DT_DROP_TABLE 0x00000001L 1220#define SQL_DT_RESTRICT 0x00000002L 1221#define SQL_DT_CASCADE 0x00000004L 1222#endif /* ODBCVER >= 0x0300 */ 1223 1224 1225/* 1226 * SQLGetInfo - SQL_DROP_TRANSLATION 1227 */ 1228#if (ODBCVER >= 0x0300) 1229#define SQL_DTR_DROP_TRANSLATION 0x00000001L 1230#endif /* ODBCVER >= 0x0300 */ 1231 1232 1233/* 1234 * SQLGetInfo - SQL_DROP_VIEW 1235 */ 1236#if (ODBCVER >= 0x0300) 1237#define SQL_DV_DROP_VIEW 0x00000001L 1238#define SQL_DV_RESTRICT 0x00000002L 1239#define SQL_DV_CASCADE 0x00000004L 1240#endif /* ODBCVER >= 0x0300 */ 1241 1242 1243/* 1244 * SQLGetInfo - SQL_DTC_TRANSITION_COST 1245 */ 1246#define SQL_DTC_ENLIST_EXPENSIVE 0x00000001L 1247#define SQL_DTC_UNENLIST_EXPENSIVE 0x00000002L 1248 1249 1250/* 1251 * SQLGetInfo - SQL_DYNAMIC_CURSOR_ATTRIBUTES1 1252 * SQLGetInfo - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 1253 * SQLGetInfo - SQL_KEYSET_CURSOR_ATTRIBUTES1 1254 * SQLGetInfo - SQL_STATIC_CURSOR_ATTRIBUTES1 1255 */ 1256/* 1257 * SQLFetchScroll - FetchOrientation 1258 */ 1259#if (ODBCVER >= 0x0300) 1260#define SQL_CA1_NEXT 0x00000001L 1261#define SQL_CA1_ABSOLUTE 0x00000002L 1262#define SQL_CA1_RELATIVE 0x00000004L 1263#define SQL_CA1_BOOKMARK 0x00000008L 1264#endif /* ODBCVER >= 0x0300 */ 1265 1266 1267/* 1268 * SQLSetPos - LockType 1269 */ 1270#if (ODBCVER >= 0x0300) 1271#define SQL_CA1_LOCK_NO_CHANGE 0x00000040L 1272#define SQL_CA1_LOCK_EXCLUSIVE 0x00000080L 1273#define SQL_CA1_LOCK_UNLOCK 0x00000100L 1274#endif /* ODBCVER >= 0x0300 */ 1275 1276 1277/* 1278 * SQLSetPos Operations 1279 */ 1280#if (ODBCVER >= 0x0300) 1281#define SQL_CA1_POS_POSITION 0x00000200L 1282#define SQL_CA1_POS_UPDATE 0x00000400L 1283#define SQL_CA1_POS_DELETE 0x00000800L 1284#define SQL_CA1_POS_REFRESH 0x00001000L 1285#endif /* ODBCVER >= 0x0300 */ 1286 1287 1288/* 1289 * positioned updates and deletes 1290 */ 1291#if (ODBCVER >= 0x0300) 1292#define SQL_CA1_POSITIONED_UPDATE 0x00002000L 1293#define SQL_CA1_POSITIONED_DELETE 0x00004000L 1294#define SQL_CA1_SELECT_FOR_UPDATE 0x00008000L 1295#endif /* ODBCVER >= 0x0300 */ 1296 1297 1298/* 1299 * SQLBulkOperations operations 1300 */ 1301#if (ODBCVER >= 0x0300) 1302#define SQL_CA1_BULK_ADD 0x00010000L 1303#define SQL_CA1_BULK_UPDATE_BY_BOOKMARK 0x00020000L 1304#define SQL_CA1_BULK_DELETE_BY_BOOKMARK 0x00040000L 1305#define SQL_CA1_BULK_FETCH_BY_BOOKMARK 0x00080000L 1306#endif /* ODBCVER >= 0x0300 */ 1307 1308 1309/* 1310 * SQLGetInfo - SQL_DYNAMIC_CURSOR_ATTRIBUTES2 1311 * SQLGetInfo - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 1312 * SQLGetInfo - SQL_KEYSET_CURSOR_ATTRIBUTES2 1313 * SQLGetInfo - SQL_STATIC_CURSOR_ATTRIBUTES2 1314 */ 1315/* 1316 * SQL_ATTR_SCROLL_CONCURRENCY 1317 */ 1318#if (ODBCVER >= 0x0300) 1319#define SQL_CA2_READ_ONLY_CONCURRENCY 0x00000001L 1320#define SQL_CA2_LOCK_CONCURRENCY 0x00000002L 1321#define SQL_CA2_OPT_ROWVER_CONCURRENCY 0x00000004L 1322#define SQL_CA2_OPT_VALUES_CONCURRENCY 0x00000008L 1323#endif /* ODBCVER >= 0x0300 */ 1324 1325 1326/* 1327 * sensitivity of the cursor to its own inserts, deletes, and updates 1328 */ 1329#if (ODBCVER >= 0x0300) 1330#define SQL_CA2_SENSITIVITY_ADDITIONS 0x00000010L 1331#define SQL_CA2_SENSITIVITY_DELETIONS 0x00000020L 1332#define SQL_CA2_SENSITIVITY_UPDATES 0x00000040L 1333#endif /* ODBCVER >= 0x0300 */ 1334 1335 1336/* 1337 * SQL_ATTR_MAX_ROWS 1338 */ 1339#if (ODBCVER >= 0x0300) 1340#define SQL_CA2_MAX_ROWS_SELECT 0x00000080L 1341#define SQL_CA2_MAX_ROWS_INSERT 0x00000100L 1342#define SQL_CA2_MAX_ROWS_DELETE 0x00000200L 1343#define SQL_CA2_MAX_ROWS_UPDATE 0x00000400L 1344#define SQL_CA2_MAX_ROWS_CATALOG 0x00000800L 1345#define SQL_CA2_MAX_ROWS_AFFECTS_ALL (SQL_CA2_MAX_ROWS_SELECT | \ 1346 SQL_CA2_MAX_ROWS_INSERT | \ 1347 SQL_CA2_MAX_ROWS_DELETE | \ 1348 SQL_CA2_MAX_ROWS_UPDATE | \ 1349 SQL_CA2_MAX_ROWS_CATALOG) 1350#endif /* ODBCVER >= 0x0300 */ 1351 1352 1353/* 1354 * SQL_DIAG_CURSOR_ROW_COUNT 1355 */ 1356#if (ODBCVER >= 0x0300) 1357#define SQL_CA2_CRC_EXACT 0x00001000L 1358#define SQL_CA2_CRC_APPROXIMATE 0x00002000L 1359#endif /* ODBCVER >= 0x0300 */ 1360 1361 1362/* 1363 * the kinds of positioned statements that can be simulated 1364 */ 1365#if (ODBCVER >= 0x0300) 1366#define SQL_CA2_SIMULATE_NON_UNIQUE 0x00004000L 1367#define SQL_CA2_SIMULATE_TRY_UNIQUE 0x00008000L 1368#define SQL_CA2_SIMULATE_UNIQUE 0x00010000L 1369#endif /* ODBCVER >= 0x0300 */ 1370 1371 1372/* 1373 * SQLGetInfo - SQL_FETCH_DIRECTION 1374 */ 1375#if (ODBCVER < 0x0300) 1376#define SQL_FD_FETCH_RESUME 0x00000040L 1377#endif /* ODBCVER < 0x0300 */ 1378#define SQL_FD_FETCH_BOOKMARK 0x00000080L 1379 1380 1381/* 1382 * SQLGetInfo - SQL_FILE_USAGE 1383 */ 1384#define SQL_FILE_NOT_SUPPORTED 0x0000 1385#define SQL_FILE_TABLE 0x0001 1386#define SQL_FILE_QUALIFIER 0x0002 1387#define SQL_FILE_CATALOG SQL_FILE_QUALIFIER 1388 1389 1390/* 1391 * SQLGetInfo - SQL_GETDATA_EXTENSIONS 1392 */ 1393#define SQL_GD_BLOCK 0x00000004L 1394#define SQL_GD_BOUND 0x00000008L 1395 1396 1397/* 1398 * SQLGetInfo - SQL_GROUP_BY 1399 */ 1400#define SQL_GB_NOT_SUPPORTED 0x0000 1401#define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001 1402#define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002 1403#define SQL_GB_NO_RELATION 0x0003 1404#if (ODBCVER >= 0x0300) 1405#define SQL_GB_COLLATE 0x0004 1406#endif /* ODBCVER >= 0x0300 */ 1407 1408 1409/* 1410 * SQLGetInfo - SQL_INDEX_KEYWORDS 1411 */ 1412#if (ODBCVER >= 0x0300) 1413#define SQL_IK_NONE 0x00000000L 1414#define SQL_IK_ASC 0x00000001L 1415#define SQL_IK_DESC 0x00000002L 1416#define SQL_IK_ALL (SQL_IK_ASC | SQL_IK_DESC) 1417#endif /* ODBCVER >= 0x0300 */ 1418 1419 1420/* 1421 * SQLGetInfo - SQL_INFO_SCHEMA_VIEWS 1422 */ 1423#if (ODBCVER >= 0x0300) 1424#define SQL_ISV_ASSERTIONS 0x00000001L 1425#define SQL_ISV_CHARACTER_SETS 0x00000002L 1426#define SQL_ISV_CHECK_CONSTRAINTS 0x00000004L 1427#define SQL_ISV_COLLATIONS 0x00000008L 1428#define SQL_ISV_COLUMN_DOMAIN_USAGE 0x00000010L 1429#define SQL_ISV_COLUMN_PRIVILEGES 0x00000020L 1430#define SQL_ISV_COLUMNS 0x00000040L 1431#define SQL_ISV_CONSTRAINT_COLUMN_USAGE 0x00000080L 1432#define SQL_ISV_CONSTRAINT_TABLE_USAGE 0x00000100L 1433#define SQL_ISV_DOMAIN_CONSTRAINTS 0x00000200L 1434#define SQL_ISV_DOMAINS 0x00000400L 1435#define SQL_ISV_KEY_COLUMN_USAGE 0x00000800L 1436#define SQL_ISV_REFERENTIAL_CONSTRAINTS 0x00001000L 1437#define SQL_ISV_SCHEMATA 0x00002000L 1438#define SQL_ISV_SQL_LANGUAGES 0x00004000L 1439#define SQL_ISV_TABLE_CONSTRAINTS 0x00008000L 1440#define SQL_ISV_TABLE_PRIVILEGES 0x00010000L 1441#define SQL_ISV_TABLES 0x00020000L 1442#define SQL_ISV_TRANSLATIONS 0x00040000L 1443#define SQL_ISV_USAGE_PRIVILEGES 0x00080000L 1444#define SQL_ISV_VIEW_COLUMN_USAGE 0x00100000L 1445#define SQL_ISV_VIEW_TABLE_USAGE 0x00200000L 1446#define SQL_ISV_VIEWS 0x00400000L 1447#endif /* ODBCVER >= 0x0300 */ 1448 1449 1450/* 1451 * SQLGetInfo - SQL_INSERT_STATEMENT 1452 */ 1453#if (ODBCVER >= 0x0300) 1454#define SQL_IS_INSERT_LITERALS 0x00000001L 1455#define SQL_IS_INSERT_SEARCHED 0x00000002L 1456#define SQL_IS_SELECT_INTO 0x00000004L 1457#endif /* ODBCVER >= 0x0300 */ 1458 1459 1460/* 1461 * SQLGetInfo - SQL_LOCK_TYPES 1462 */ 1463#define SQL_LCK_NO_CHANGE 0x00000001L 1464#define SQL_LCK_EXCLUSIVE 0x00000002L 1465#define SQL_LCK_UNLOCK 0x00000004L 1466 1467 1468/* 1469 * SQLGetInfo - SQL_POS_OPERATIONS 1470 */ 1471#define SQL_POS_POSITION 0x00000001L 1472#define SQL_POS_REFRESH 0x00000002L 1473#define SQL_POS_UPDATE 0x00000004L 1474#define SQL_POS_DELETE 0x00000008L 1475#define SQL_POS_ADD 0x00000010L 1476 1477 1478/* 1479 * SQLGetInfo - SQL_NON_NULLABLE_COLUMNS 1480 */ 1481#define SQL_NNC_NULL 0x0000 1482#define SQL_NNC_NON_NULL 0x0001 1483 1484 1485/* 1486 * SQLGetInfo - SQL_NULL_COLLATION 1487 */ 1488#define SQL_NC_START 0x0002 1489#define SQL_NC_END 0x0004 1490 1491 1492/* 1493 * SQLGetInfo - SQL_NUMERIC_FUNCTIONS 1494 */ 1495#define SQL_FN_NUM_ABS 0x00000001L 1496#define SQL_FN_NUM_ACOS 0x00000002L 1497#define SQL_FN_NUM_ASIN 0x00000004L 1498#define SQL_FN_NUM_ATAN 0x00000008L 1499#define SQL_FN_NUM_ATAN2 0x00000010L 1500#define SQL_FN_NUM_CEILING 0x00000020L 1501#define SQL_FN_NUM_COS 0x00000040L 1502#define SQL_FN_NUM_COT 0x00000080L 1503#define SQL_FN_NUM_EXP 0x00000100L 1504#define SQL_FN_NUM_FLOOR 0x00000200L 1505#define SQL_FN_NUM_LOG 0x00000400L 1506#define SQL_FN_NUM_MOD 0x00000800L 1507#define SQL_FN_NUM_SIGN 0x00001000L 1508#define SQL_FN_NUM_SIN 0x00002000L 1509#define SQL_FN_NUM_SQRT 0x00004000L 1510#define SQL_FN_NUM_TAN 0x00008000L 1511#define SQL_FN_NUM_PI 0x00010000L 1512#define SQL_FN_NUM_RAND 0x00020000L 1513#define SQL_FN_NUM_DEGREES 0x00040000L 1514#define SQL_FN_NUM_LOG10 0x00080000L 1515#define SQL_FN_NUM_POWER 0x00100000L 1516#define SQL_FN_NUM_RADIANS 0x00200000L 1517#define SQL_FN_NUM_ROUND 0x00400000L 1518#define SQL_FN_NUM_TRUNCATE 0x00800000L 1519 1520 1521/* 1522 * SQLGetInfo - SQL_ODBC_API_CONFORMANCE 1523 */ 1524#define SQL_OAC_NONE 0x0000 1525#define SQL_OAC_LEVEL1 0x0001 1526#define SQL_OAC_LEVEL2 0x0002 1527 1528 1529/* 1530 * SQLGetInfo - SQL_ODBC_INTERFACE_CONFORMANCE 1531 */ 1532#if (ODBCVER >= 0x0300) 1533#define SQL_OIC_CORE 1UL 1534#define SQL_OIC_LEVEL1 2UL 1535#define SQL_OIC_LEVEL2 3UL 1536#endif /* ODBCVER >= 0x0300 */ 1537 1538 1539/* 1540 * SQLGetInfo - SQL_ODBC_SAG_CLI_CONFORMANCE 1541 */ 1542#define SQL_OSCC_NOT_COMPLIANT 0x0000 1543#define SQL_OSCC_COMPLIANT 0x0001 1544 1545 1546/* 1547 * SQLGetInfo - SQL_ODBC_SQL_CONFORMANCE 1548 */ 1549#define SQL_OSC_MINIMUM 0x0000 1550#define SQL_OSC_CORE 0x0001 1551#define SQL_OSC_EXTENDED 0x0002 1552 1553 1554/* 1555 * SQLGetInfo - SQL_OWNER_USAGE 1556 */ 1557#define SQL_OU_DML_STATEMENTS 0x00000001L 1558#define SQL_OU_PROCEDURE_INVOCATION 0x00000002L 1559#define SQL_OU_TABLE_DEFINITION 0x00000004L 1560#define SQL_OU_INDEX_DEFINITION 0x00000008L 1561#define SQL_OU_PRIVILEGE_DEFINITION 0x00000010L 1562 1563 1564/* 1565 * SQLGetInfo - SQL_PARAM_ARRAY_ROW_COUNTS 1566 */ 1567#if (ODBCVER >= 0x0300) 1568#define SQL_PARC_BATCH 1 1569#define SQL_PARC_NO_BATCH 2 1570#endif /* ODBCVER >= 0x0300 */ 1571 1572 1573/* 1574 * SQLGetInfo - SQL_PARAM_ARRAY_SELECTS 1575 */ 1576#if (ODBCVER >= 0x0300) 1577#define SQL_PAS_BATCH 1 1578#define SQL_PAS_NO_BATCH 2 1579#define SQL_PAS_NO_SELECT 3 1580#endif /* ODBCVER >= 0x0300 */ 1581 1582 1583/* 1584 * SQLGetInfo - SQL_POSITIONED_STATEMENTS 1585 */ 1586#define SQL_PS_POSITIONED_DELETE 0x00000001L 1587#define SQL_PS_POSITIONED_UPDATE 0x00000002L 1588#define SQL_PS_SELECT_FOR_UPDATE 0x00000004L 1589 1590 1591/* 1592 * SQLGetInfo - SQL_QUALIFIER_LOCATION 1593 */ 1594#define SQL_QL_START 0x0001 1595#define SQL_QL_END 0x0002 1596 1597 1598/* 1599 * SQLGetInfo - SQL_QUALIFIER_USAGE 1600 */ 1601#define SQL_QU_DML_STATEMENTS 0x00000001L 1602#define SQL_QU_PROCEDURE_INVOCATION 0x00000002L 1603#define SQL_QU_TABLE_DEFINITION 0x00000004L 1604#define SQL_QU_INDEX_DEFINITION 0x00000008L 1605#define SQL_QU_PRIVILEGE_DEFINITION 0x00000010L 1606 1607 1608/* 1609 * SQLGetInfo - SQL_SCHEMA_USAGE 1610 */ 1611#if (ODBCVER >= 0x0300) 1612#define SQL_SU_DML_STATEMENTS SQL_OU_DML_STATEMENTS 1613#define SQL_SU_PROCEDURE_INVOCATION SQL_OU_PROCEDURE_INVOCATION 1614#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION 1615#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION 1616#define SQL_SU_PRIVILEGE_DEFINITION SQL_OU_PRIVILEGE_DEFINITION 1617#endif /* ODBCVER >= 0x0300 */ 1618 1619 1620/* 1621 * SQLGetInfo - SQL_SCROLL_OPTIONS 1622 */ 1623#define SQL_SO_FORWARD_ONLY 0x00000001L 1624#define SQL_SO_KEYSET_DRIVEN 0x00000002L 1625#define SQL_SO_DYNAMIC 0x00000004L 1626#define SQL_SO_MIXED 0x00000008L 1627#define SQL_SO_STATIC 0x00000010L 1628 1629 1630/* 1631 * SQLGetInfo - SQL_SQL_CONFORMANCE 1632 */ 1633#if (ODBCVER >= 0x0300) 1634#define SQL_SC_SQL92_ENTRY 0x00000001L 1635#define SQL_SC_FIPS127_2_TRANSITIONAL 0x00000002L 1636#define SQL_SC_SQL92_INTERMEDIATE 0x00000004L 1637#define SQL_SC_SQL92_FULL 0x00000008L 1638#endif /* ODBCVER >= 0x0300 */ 1639 1640 1641/* 1642 * SQLGetInfo - SQL_SQL92_DATETIME_FUNCTIONS 1643 */ 1644#if (ODBCVER >= 0x0300) 1645#define SQL_SDF_CURRENT_DATE 0x00000001L 1646#define SQL_SDF_CURRENT_TIME 0x00000002L 1647#define SQL_SDF_CURRENT_TIMESTAMP 0x00000004L 1648#endif /* ODBCVER >= 0x0300 */ 1649 1650 1651/* 1652 * SQLGetInfo - SQL_SQL92_FOREIGN_KEY_DELETE_RULE 1653 */ 1654#if (ODBCVER >= 0x0300) 1655#define SQL_SFKD_CASCADE 0x00000001L 1656#define SQL_SFKD_NO_ACTION 0x00000002L 1657#define SQL_SFKD_SET_DEFAULT 0x00000004L 1658#define SQL_SFKD_SET_NULL 0x00000008L 1659#endif /* ODBCVER >= 0x0300 */ 1660 1661 1662/* 1663 * SQLGetInfo - SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 1664 */ 1665#if (ODBCVER >= 0x0300) 1666#define SQL_SFKU_CASCADE 0x00000001L 1667#define SQL_SFKU_NO_ACTION 0x00000002L 1668#define SQL_SFKU_SET_DEFAULT 0x00000004L 1669#define SQL_SFKU_SET_NULL 0x00000008L 1670#endif /* ODBCVER >= 0x0300 */ 1671 1672 1673/* 1674 * SQLGetInfo - SQL_SQL92_GRANT 1675 */ 1676#if (ODBCVER >= 0x0300) 1677#define SQL_SG_USAGE_ON_DOMAIN 0x00000001L 1678#define SQL_SG_USAGE_ON_CHARACTER_SET 0x00000002L 1679#define SQL_SG_USAGE_ON_COLLATION 0x00000004L 1680#define SQL_SG_USAGE_ON_TRANSLATION 0x00000008L 1681#define SQL_SG_WITH_GRANT_OPTION 0x00000010L 1682#define SQL_SG_DELETE_TABLE 0x00000020L 1683#define SQL_SG_INSERT_TABLE 0x00000040L 1684#define SQL_SG_INSERT_COLUMN 0x00000080L 1685#define SQL_SG_REFERENCES_TABLE 0x00000100L 1686#define SQL_SG_REFERENCES_COLUMN 0x00000200L 1687#define SQL_SG_SELECT_TABLE 0x00000400L 1688#define SQL_SG_UPDATE_TABLE 0x00000800L 1689#define SQL_SG_UPDATE_COLUMN 0x00001000L 1690#endif /* ODBCVER >= 0x0300 */ 1691 1692 1693/* 1694 * SQLGetInfo - SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 1695 */ 1696#if (ODBCVER >= 0x0300) 1697#define SQL_SNVF_BIT_LENGTH 0x00000001L 1698#define SQL_SNVF_CHAR_LENGTH 0x00000002L 1699#define SQL_SNVF_CHARACTER_LENGTH 0x00000004L 1700#define SQL_SNVF_EXTRACT 0x00000008L 1701#define SQL_SNVF_OCTET_LENGTH 0x00000010L 1702#define SQL_SNVF_POSITION 0x00000020L 1703#endif /* ODBCVER >= 0x0300 */ 1704 1705 1706/* 1707 * SQLGetInfo - SQL_SQL92_PREDICATES 1708 */ 1709#if (ODBCVER >= 0x0300) 1710#define SQL_SP_EXISTS 0x00000001L 1711#define SQL_SP_ISNOTNULL 0x00000002L 1712#define SQL_SP_ISNULL 0x00000004L 1713#define SQL_SP_MATCH_FULL 0x00000008L 1714#define SQL_SP_MATCH_PARTIAL 0x00000010L 1715#define SQL_SP_MATCH_UNIQUE_FULL 0x00000020L 1716#define SQL_SP_MATCH_UNIQUE_PARTIAL 0x00000040L 1717#define SQL_SP_OVERLAPS 0x00000080L 1718#define SQL_SP_UNIQUE 0x00000100L 1719#define SQL_SP_LIKE 0x00000200L 1720#define SQL_SP_IN 0x00000400L 1721#define SQL_SP_BETWEEN 0x00000800L 1722#define SQL_SP_COMPARISON 0x00001000L 1723#define SQL_SP_QUANTIFIED_COMPARISON 0x00002000L 1724#endif /* ODBCVER >= 0x0300 */ 1725 1726 1727/* 1728 * SQLGetInfo - SQL_SQL92_RELATIONAL_JOIN_OPERATORS 1729 */ 1730#if (ODBCVER >= 0x0300) 1731#define SQL_SRJO_CORRESPONDING_CLAUSE 0x00000001L 1732#define SQL_SRJO_CROSS_JOIN 0x00000002L 1733#define SQL_SRJO_EXCEPT_JOIN 0x00000004L 1734#define SQL_SRJO_FULL_OUTER_JOIN 0x00000008L 1735#define SQL_SRJO_INNER_JOIN 0x00000010L 1736#define SQL_SRJO_INTERSECT_JOIN 0x00000020L 1737#define SQL_SRJO_LEFT_OUTER_JOIN 0x00000040L 1738#define SQL_SRJO_NATURAL_JOIN 0x00000080L 1739#define SQL_SRJO_RIGHT_OUTER_JOIN 0x00000100L 1740#define SQL_SRJO_UNION_JOIN 0x00000200L 1741#endif /* ODBCVER >= 0x0300 */ 1742 1743 1744/* 1745 * SQLGetInfo - SQL_SQL92_REVOKE 1746 */ 1747#if (ODBCVER >= 0x0300) 1748#define SQL_SR_USAGE_ON_DOMAIN 0x00000001L 1749#define SQL_SR_USAGE_ON_CHARACTER_SET 0x00000002L 1750#define SQL_SR_USAGE_ON_COLLATION 0x00000004L 1751#define SQL_SR_USAGE_ON_TRANSLATION 0x00000008L 1752#define SQL_SR_GRANT_OPTION_FOR 0x00000010L 1753#define SQL_SR_CASCADE 0x00000020L 1754#define SQL_SR_RESTRICT 0x00000040L 1755#define SQL_SR_DELETE_TABLE 0x00000080L 1756#define SQL_SR_INSERT_TABLE 0x00000100L 1757#define SQL_SR_INSERT_COLUMN 0x00000200L 1758#define SQL_SR_REFERENCES_TABLE 0x00000400L 1759#define SQL_SR_REFERENCES_COLUMN 0x00000800L 1760#define SQL_SR_SELECT_TABLE 0x00001000L 1761#define SQL_SR_UPDATE_TABLE 0x00002000L 1762#define SQL_SR_UPDATE_COLUMN 0x00004000L 1763#endif /* ODBCVER >= 0x0300 */ 1764 1765 1766/* 1767 * SQLGetInfo - SQL_SQL92_ROW_VALUE_CONSTRUCTOR 1768 */ 1769#if (ODBCVER >= 0x0300) 1770#define SQL_SRVC_VALUE_EXPRESSION 0x00000001L 1771#define SQL_SRVC_NULL 0x00000002L 1772#define SQL_SRVC_DEFAULT 0x00000004L 1773#define SQL_SRVC_ROW_SUBQUERY 0x00000008L 1774#endif /* ODBCVER >= 0x0300 */ 1775 1776 1777/* 1778 * SQLGetInfo - SQL_SQL92_STRING_FUNCTIONS 1779 */ 1780#if (ODBCVER >= 0x0300) 1781#define SQL_SSF_CONVERT 0x00000001L 1782#define SQL_SSF_LOWER 0x00000002L 1783#define SQL_SSF_UPPER 0x00000004L 1784#define SQL_SSF_SUBSTRING 0x00000008L 1785#define SQL_SSF_TRANSLATE 0x00000010L 1786#define SQL_SSF_TRIM_BOTH 0x00000020L 1787#define SQL_SSF_TRIM_LEADING 0x00000040L 1788#define SQL_SSF_TRIM_TRAILING 0x00000080L 1789#endif /* ODBCVER >= 0x0300 */ 1790 1791 1792/* 1793 * SQLGetInfo - SQL_SQL92_VALUE_EXPRESSIONS 1794 */ 1795#if (ODBCVER >= 0x0300) 1796#define SQL_SVE_CASE 0x00000001L 1797#define SQL_SVE_CAST 0x00000002L 1798#define SQL_SVE_COALESCE 0x00000004L 1799#define SQL_SVE_NULLIF 0x00000008L 1800#endif /* ODBCVER >= 0x0300 */ 1801 1802 1803/* 1804 * SQLGetInfo - SQL_STANDARD_CLI_CONFORMANCE 1805 */ 1806#if (ODBCVER >= 0x0300) 1807#define SQL_SCC_XOPEN_CLI_VERSION1 0x00000001L 1808#define SQL_SCC_ISO92_CLI 0x00000002L 1809#endif /* ODBCVER >= 0x0300 */ 1810 1811 1812/* 1813 * SQLGetInfo - SQL_STATIC_SENSITIVITY 1814 */ 1815#define SQL_SS_ADDITIONS 0x00000001L 1816#define SQL_SS_DELETIONS 0x00000002L 1817#define SQL_SS_UPDATES 0x00000004L 1818 1819 1820/* 1821 * SQLGetInfo - SQL_SUBQUERIES 1822 */ 1823#define SQL_SQ_COMPARISON 0x00000001L 1824#define SQL_SQ_EXISTS 0x00000002L 1825#define SQL_SQ_IN 0x00000004L 1826#define SQL_SQ_QUANTIFIED 0x00000008L 1827#define SQL_SQ_CORRELATED_SUBQUERIES 0x00000010L 1828 1829 1830/* 1831 * SQLGetInfo - SQL_SYSTEM_FUNCTIONS 1832 */ 1833#define SQL_FN_SYS_USERNAME 0x00000001L 1834#define SQL_FN_SYS_DBNAME 0x00000002L 1835#define SQL_FN_SYS_IFNULL 0x00000004L 1836 1837 1838/* 1839 * SQLGetInfo - SQL_STRING_FUNCTIONS 1840 */ 1841#define SQL_FN_STR_CONCAT 0x00000001L 1842#define SQL_FN_STR_INSERT 0x00000002L 1843#define SQL_FN_STR_LEFT 0x00000004L 1844#define SQL_FN_STR_LTRIM 0x00000008L 1845#define SQL_FN_STR_LENGTH 0x00000010L 1846#define SQL_FN_STR_LOCATE 0x00000020L 1847#define SQL_FN_STR_LCASE 0x00000040L 1848#define SQL_FN_STR_REPEAT 0x00000080L 1849#define SQL_FN_STR_REPLACE 0x00000100L 1850#define SQL_FN_STR_RIGHT 0x00000200L 1851#define SQL_FN_STR_RTRIM 0x00000400L 1852#define SQL_FN_STR_SUBSTRING 0x00000800L 1853#define SQL_FN_STR_UCASE 0x00001000L 1854#define SQL_FN_STR_ASCII 0x00002000L 1855#define SQL_FN_STR_CHAR 0x00004000L 1856#define SQL_FN_STR_DIFFERENCE 0x00008000L 1857#define SQL_FN_STR_LOCATE_2 0x00010000L 1858#define SQL_FN_STR_SOUNDEX 0x00020000L 1859#define SQL_FN_STR_SPACE 0x00040000L 1860#if (ODBCVER >= 0x0300) 1861#define SQL_FN_STR_BIT_LENGTH 0x00080000L 1862#define SQL_FN_STR_CHAR_LENGTH 0x00100000L 1863#define SQL_FN_STR_CHARACTER_LENGTH 0x00200000L 1864#define SQL_FN_STR_OCTET_LENGTH 0x00400000L 1865#define SQL_FN_STR_POSITION 0x00800000L 1866#endif /* ODBCVER >= 0x0300 */ 1867 1868 1869/* 1870 * SQLGetInfo - SQL_TIMEDATE_ADD_INTERVALS 1871 * SQLGetInfo - SQL_TIMEDATE_DIFF_INTERVALS 1872 */ 1873#define SQL_FN_TSI_FRAC_SECOND 0x00000001L 1874#define SQL_FN_TSI_SECOND 0x00000002L 1875#define SQL_FN_TSI_MINUTE 0x00000004L 1876#define SQL_FN_TSI_HOUR 0x00000008L 1877#define SQL_FN_TSI_DAY 0x00000010L 1878#define SQL_FN_TSI_WEEK 0x00000020L 1879#define SQL_FN_TSI_MONTH 0x00000040L 1880#define SQL_FN_TSI_QUARTER 0x00000080L 1881#define SQL_FN_TSI_YEAR 0x00000100L 1882 1883 1884/* 1885 * SQLGetInfo - SQL_TIMEDATE_FUNCTIONS 1886 */ 1887#define SQL_FN_TD_NOW 0x00000001L 1888#define SQL_FN_TD_CURDATE 0x00000002L 1889#define SQL_FN_TD_DAYOFMONTH 0x00000004L 1890#define SQL_FN_TD_DAYOFWEEK 0x00000008L 1891#define SQL_FN_TD_DAYOFYEAR 0x00000010L 1892#define SQL_FN_TD_MONTH 0x00000020L 1893#define SQL_FN_TD_QUARTER 0x00000040L 1894#define SQL_FN_TD_WEEK 0x00000080L 1895#define SQL_FN_TD_YEAR 0x00000100L 1896#define SQL_FN_TD_CURTIME 0x00000200L 1897#define SQL_FN_TD_HOUR 0x00000400L 1898#define SQL_FN_TD_MINUTE 0x00000800L 1899#define SQL_FN_TD_SECOND 0x00001000L 1900#define SQL_FN_TD_TIMESTAMPADD 0x00002000L 1901#define SQL_FN_TD_TIMESTAMPDIFF 0x00004000L 1902#define SQL_FN_TD_DAYNAME 0x00008000L 1903#define SQL_FN_TD_MONTHNAME 0x00010000L 1904#if (ODBCVER >= 0x0300) 1905#define SQL_FN_TD_CURRENT_DATE 0x00020000L 1906#define SQL_FN_TD_CURRENT_TIME 0x00040000L 1907#define SQL_FN_TD_CURRENT_TIMESTAMP 0x00080000L 1908#define SQL_FN_TD_EXTRACT 0x00100000L 1909#endif /* ODBCVER >= 0x0300 */ 1910 1911 1912/* 1913 * SQLGetInfo - SQL_TXN_ISOLATION_OPTION 1914 */ 1915#if (ODBCVER < 0x0300) 1916#define SQL_TXN_VERSIONING 0x00000010L 1917#endif /* ODBCVER < 0x0300 */ 1918 1919 1920/* 1921 * SQLGetInfo - SQL_UNION 1922 */ 1923#define SQL_U_UNION 0x00000001L 1924#define SQL_U_UNION_ALL 0x00000002L 1925 1926 1927/* 1928 * SQLGetInfo - SQL_UNION_STATEMENT 1929 */ 1930#if (ODBCVER >= 0x0300) 1931#define SQL_US_UNION SQL_U_UNION 1932#define SQL_US_UNION_ALL SQL_U_UNION_ALL 1933#endif /* ODBCVER >= 0x0300 */ 1934 1935 1936/* 1937 * SQLGetStmtAttr - ODBC 2.x attributes 1938 */ 1939#define SQL_QUERY_TIMEOUT 0 1940#define SQL_MAX_ROWS 1 1941#define SQL_NOSCAN 2 1942#define SQL_MAX_LENGTH 3 1943#define SQL_ASYNC_ENABLE 4 1944#define SQL_BIND_TYPE 5 1945#define SQL_CURSOR_TYPE 6 1946#define SQL_CONCURRENCY 7 1947#define SQL_KEYSET_SIZE 8 1948#define SQL_ROWSET_SIZE 9 1949#define SQL_SIMULATE_CURSOR 10 1950#define SQL_RETRIEVE_DATA 11 1951#define SQL_USE_BOOKMARKS 12 1952#define SQL_GET_BOOKMARK 13 1953#define SQL_ROW_NUMBER 14 1954 1955 1956/* 1957 * SQLGetStmtAttr - ODBC 3.x attributes 1958 */ 1959#if (ODBCVER >= 0x0300) 1960#define SQL_ATTR_ASYNC_ENABLE 4 1961#define SQL_ATTR_CONCURRENCY SQL_CONCURRENCY 1962#define SQL_ATTR_CURSOR_TYPE SQL_CURSOR_TYPE 1963#define SQL_ATTR_ENABLE_AUTO_IPD 15 1964#define SQL_ATTR_FETCH_BOOKMARK_PTR 16 1965#define SQL_ATTR_KEYSET_SIZE SQL_KEYSET_SIZE 1966#define SQL_ATTR_MAX_LENGTH SQL_MAX_LENGTH 1967#define SQL_ATTR_MAX_ROWS SQL_MAX_ROWS 1968#define SQL_ATTR_NOSCAN SQL_NOSCAN 1969#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 17 1970#define SQL_ATTR_PARAM_BIND_TYPE 18 1971#define SQL_ATTR_PARAM_OPERATION_PTR 19 1972#define SQL_ATTR_PARAM_STATUS_PTR 20 1973#define SQL_ATTR_PARAMS_PROCESSED_PTR 21 1974#define SQL_ATTR_PARAMSET_SIZE 22 1975#define SQL_ATTR_QUERY_TIMEOUT SQL_QUERY_TIMEOUT 1976#define SQL_ATTR_RETRIEVE_DATA SQL_RETRIEVE_DATA 1977#define SQL_ATTR_ROW_BIND_OFFSET_PTR 23 1978#define SQL_ATTR_ROW_BIND_TYPE SQL_BIND_TYPE 1979#define SQL_ATTR_ROW_NUMBER SQL_ROW_NUMBER /*GetStmtAttr*/ 1980#define SQL_ATTR_ROW_OPERATION_PTR 24 1981#define SQL_ATTR_ROW_STATUS_PTR 25 1982#define SQL_ATTR_ROWS_FETCHED_PTR 26 1983#define SQL_ATTR_ROW_ARRAY_SIZE 27 1984#define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR 1985#define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS 1986#endif /* ODBCVER >= 0x0300 */ 1987 1988#if (ODBCVER < 0x0300) 1989#define SQL_STMT_OPT_MAX SQL_ROW_NUMBER 1990#define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT 1991#endif /* ODBCVER < 0x0300 */ 1992 1993 1994/* 1995 * SQLGetStmtAttr - SQL_ATTR_ASYNC_ENABLE 1996 */ 1997#define SQL_ASYNC_ENABLE_OFF 0UL 1998#define SQL_ASYNC_ENABLE_ON 1UL 1999#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF 2000 2001 2002/* 2003 * SQLGetStmtAttr - SQL_ATTR_PARAM_BIND_TYPE 2004 */ 2005#if (ODBCVER >= 0x0300) 2006#define SQL_PARAM_BIND_BY_COLUMN 0UL 2007#define SQL_PARAM_BIND_TYPE_DEFAULT SQL_PARAM_BIND_BY_COLUMN 2008#endif /* ODBCVER >= 0x0300 */ 2009 2010 2011/* 2012 * SQLGetStmtAttr - SQL_BIND_TYPE 2013 */ 2014#define SQL_BIND_BY_COLUMN 0UL 2015#define SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN 2016 2017 2018/* 2019 * SQLGetStmtAttr - SQL_CONCURRENCY 2020 */ 2021#define SQL_CONCUR_READ_ONLY 1 2022#define SQL_CONCUR_LOCK 2 2023#define SQL_CONCUR_ROWVER 3 2024#define SQL_CONCUR_VALUES 4 2025#define SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY 2026 2027 2028/* 2029 * SQLGetStmtAttr - SQL_CURSOR_TYPE 2030 */ 2031#define SQL_CURSOR_FORWARD_ONLY 0UL 2032#define SQL_CURSOR_KEYSET_DRIVEN 1UL 2033#define SQL_CURSOR_DYNAMIC 2UL 2034#define SQL_CURSOR_STATIC 3UL 2035#define SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY 2036 2037 2038/* 2039 * SQLGetStmtAttr - SQL_KEYSET_SIZE 2040 */ 2041#define SQL_KEYSET_SIZE_DEFAULT 0UL 2042 2043 2044/* 2045 * SQLGetStmtAttr - SQL_MAX_LENGTH 2046 */ 2047#define SQL_MAX_LENGTH_DEFAULT 0UL 2048 2049 2050/* 2051 * SQLGetStmtAttr - SQL_MAX_ROWS 2052 */ 2053#define SQL_MAX_ROWS_DEFAULT 0UL 2054 2055 2056/* 2057 * SQLGetStmtAttr - SQL_NOSCAN 2058 */ 2059#define SQL_NOSCAN_OFF 0UL /* 1.0 FALSE */ 2060#define SQL_NOSCAN_ON 1UL /* 1.0 TRUE */ 2061#define SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF 2062 2063 2064/* 2065 * SQLGetStmtAttr - SQL_QUERY_TIMEOUT 2066 */ 2067#define SQL_QUERY_TIMEOUT_DEFAULT 0UL 2068 2069 2070/* 2071 * SQLGetStmtAttr - SQL_RETRIEVE_DATA 2072 */ 2073#define SQL_RD_OFF 0UL 2074#define SQL_RD_ON 1UL 2075#define SQL_RD_DEFAULT SQL_RD_ON 2076 2077 2078/* 2079 * SQLGetStmtAttr - SQL_ROWSET_SIZE 2080 */ 2081#define SQL_ROWSET_SIZE_DEFAULT 1UL 2082 2083 2084/* 2085 * SQLGetStmtAttr - SQL_SIMULATE_CURSOR 2086 */ 2087#define SQL_SC_NON_UNIQUE 0UL 2088#define SQL_SC_TRY_UNIQUE 1UL 2089#define SQL_SC_UNIQUE 2UL 2090 2091 2092/* 2093 * SQLGetStmtAttr - SQL_USE_BOOKMARKS 2094 */ 2095#define SQL_UB_OFF 0UL 2096#define SQL_UB_ON 1UL 2097#define SQL_UB_DEFAULT SQL_UB_OFF 2098#if (ODBCVER >= 0x0300) 2099#define SQL_UB_FIXED SQL_UB_ON 2100#define SQL_UB_VARIABLE 2UL 2101#endif /* ODBCVER >= 0x0300 */ 2102 2103 2104/* 2105 * SQLGetTypeInfo - SEARCHABLE 2106 */ 2107#if (ODBCVER >= 0x0300) 2108#define SQL_COL_PRED_CHAR SQL_LIKE_ONLY 2109#define SQL_COL_PRED_BASIC SQL_ALL_EXCEPT_LIKE 2110#endif /* ODBCVER >= 0x0300 */ 2111 2112 2113/* 2114 * SQLSetPos 2115 */ 2116#define SQL_ENTIRE_ROWSET 0 2117 2118 2119/* 2120 * SQLSetPos - Operation 2121 */ 2122#define SQL_POSITION 0 2123#define SQL_REFRESH 1 2124#define SQL_UPDATE 2 2125#define SQL_DELETE 3 2126 2127 2128/* 2129 * SQLBulkOperations - Operation 2130 */ 2131#define SQL_ADD 4 2132#define SQL_SETPOS_MAX_OPTION_VALUE SQL_ADD 2133#if (ODBCVER >= 0x0300) 2134#define SQL_UPDATE_BY_BOOKMARK 5 2135#define SQL_DELETE_BY_BOOKMARK 6 2136#define SQL_FETCH_BY_BOOKMARK 7 2137#endif /* ODBCVER >= 0x0300 */ 2138 2139 2140/* 2141 * SQLSetPos - LockType 2142 */ 2143#define SQL_LOCK_NO_CHANGE 0 2144#define SQL_LOCK_EXCLUSIVE 1 2145#define SQL_LOCK_UNLOCK 2 2146#define SQL_SETPOS_MAX_LOCK_VALUE SQL_LOCK_UNLOCK 2147 2148 2149/* 2150 * SQLSetPos macros 2151 */ 2152#define SQL_POSITION_TO(hstmt,irow) \ 2153 SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE) 2154#define SQL_LOCK_RECORD(hstmt,irow,fLock) \ 2155 SQLSetPos(hstmt,irow,SQL_POSITION,fLock) 2156#define SQL_REFRESH_RECORD(hstmt,irow,fLock) \ 2157 SQLSetPos(hstmt,irow,SQL_REFRESH,fLock) 2158#define SQL_UPDATE_RECORD(hstmt,irow) \ 2159 SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE) 2160#define SQL_DELETE_RECORD(hstmt,irow) \ 2161 SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE) 2162#define SQL_ADD_RECORD(hstmt,irow) \ 2163 SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE) 2164 2165 2166/* 2167 * SQLSpecialColumns - Column types and scopes 2168 */ 2169#define SQL_BEST_ROWID 1 2170#define SQL_ROWVER 2 2171 2172 2173/* 2174 * All the ODBC keywords 2175 */ 2176#define SQL_ODBC_KEYWORDS \ 2177"ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\ 2178"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\ 2179"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\ 2180"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\ 2181"COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\ 2182"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\ 2183"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\ 2184"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\ 2185"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\ 2186"DISTINCT,DOMAIN,DOUBLE,DROP,"\ 2187"ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\ 2188"EXISTS,EXTERNAL,EXTRACT,"\ 2189"FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\ 2190"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\ 2191"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\ 2192"INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\ 2193"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\ 2194"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,"\ 2195"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\ 2196"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\ 2197"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\ 2198"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\ 2199"READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS"\ 2200"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE,"\ 2201"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\ 2202"SUBSTRING,SUM,SYSTEM_USER,"\ 2203"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\ 2204"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\ 2205"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\ 2206"VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\ 2207"YEAR,ZONE" 2208 2209 2210/* 2211 * ---------------------------------------------------------------------- 2212 * Level 2 Functions 2213 * ---------------------------------------------------------------------- 2214 */ 2215 2216/* 2217 * SQLExtendedFetch - fFetchType 2218 */ 2219#define SQL_FETCH_BOOKMARK 8 2220 2221 2222/* 2223 * SQLExtendedFetch - rgfRowStatus 2224 */ 2225#define SQL_ROW_SUCCESS 0 2226#define SQL_ROW_DELETED 1 2227#define SQL_ROW_UPDATED 2 2228#define SQL_ROW_NOROW 3 2229#define SQL_ROW_ADDED 4 2230#define SQL_ROW_ERROR 5 2231#if (ODBCVER >= 0x0300) 2232#define SQL_ROW_SUCCESS_WITH_INFO 6 2233#define SQL_ROW_PROCEED 0 2234#define SQL_ROW_IGNORE 1 2235#endif 2236 2237 2238/* 2239 * SQL_DESC_ARRAY_STATUS_PTR 2240 */ 2241#if (ODBCVER >= 0x0300) 2242#define SQL_PARAM_SUCCESS 0 2243#define SQL_PARAM_SUCCESS_WITH_INFO 6 2244#define SQL_PARAM_ERROR 5 2245#define SQL_PARAM_UNUSED 7 2246#define SQL_PARAM_DIAG_UNAVAILABLE 1 2247 2248#define SQL_PARAM_PROCEED 0 2249#define SQL_PARAM_IGNORE 1 2250#endif /* ODBCVER >= 0x0300 */ 2251 2252 2253/* 2254 * SQLForeignKeys - UPDATE_RULE/DELETE_RULE 2255 */ 2256#define SQL_CASCADE 0 2257#define SQL_RESTRICT 1 2258#define SQL_SET_NULL 2 2259 2260#if (ODBCVER >= 0x0250) 2261#define SQL_NO_ACTION 3 2262#define SQL_SET_DEFAULT 4 2263#endif /* ODBCVER >= 0x0250 */ 2264 2265 2266/* 2267 * SQLForeignKeys - DEFERABILITY 2268 */ 2269#if (ODBCVER >= 0x0300) 2270#define SQL_INITIALLY_DEFERRED 5 2271#define SQL_INITIALLY_IMMEDIATE 6 2272#define SQL_NOT_DEFERRABLE 7 2273#endif /* ODBCVER >= 0x0300 */ 2274 2275 2276/* 2277 * SQLBindParameter - fParamType 2278 * SQLProcedureColumns - COLUMN_TYPE 2279 */ 2280#define SQL_PARAM_TYPE_UNKNOWN 0 2281#define SQL_PARAM_INPUT 1 2282#define SQL_PARAM_INPUT_OUTPUT 2 2283#define SQL_RESULT_COL 3 2284#define SQL_PARAM_OUTPUT 4 2285#define SQL_RETURN_VALUE 5 2286 2287 2288/* 2289 * SQLProcedures - PROCEDURE_TYPE 2290 */ 2291#define SQL_PT_UNKNOWN 0 2292#define SQL_PT_PROCEDURE 1 2293#define SQL_PT_FUNCTION 2 2294 2295 2296/* 2297 * SQLSetParam to SQLBindParameter conversion 2298 */ 2299#define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT 2300#define SQL_SETPARAM_VALUE_MAX (-1L) 2301 2302 2303/* 2304 * SQLStatistics - fAccuracy 2305 */ 2306#define SQL_QUICK 0 2307#define SQL_ENSURE 1 2308 2309 2310/* 2311 * SQLStatistics - TYPE 2312 */ 2313#define SQL_TABLE_STAT 0 2314 2315 2316/* 2317 * SQLTables 2318 */ 2319#if (ODBCVER >= 0x0300) 2320#define SQL_ALL_CATALOGS "%" 2321#define SQL_ALL_SCHEMAS "%" 2322#define SQL_ALL_TABLE_TYPES "%" 2323#endif /* ODBCVER >= 0x0300 */ 2324 2325/* 2326 * SQLSpecialColumns - PSEUDO_COLUMN 2327 */ 2328#define SQL_PC_NOT_PSEUDO 1 2329 2330 2331/* 2332 * Deprecated defines from prior versions of ODBC 2333 */ 2334#define SQL_DATABASE_NAME 16 2335#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR 2336#define SQL_FETCH_PREV SQL_FETCH_PRIOR 2337#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER 2338#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER 2339#define SQL_CC_DELETE SQL_CB_DELETE 2340#define SQL_CR_DELETE SQL_CB_DELETE 2341#define SQL_CC_CLOSE SQL_CB_CLOSE 2342#define SQL_CR_CLOSE SQL_CB_CLOSE 2343#define SQL_CC_PRESERVE SQL_CB_PRESERVE 2344#define SQL_CR_PRESERVE SQL_CB_PRESERVE 2345#if (ODBCVER < 0x0200) 2346#define SQL_FETCH_RESUME 7 2347#endif 2348#define SQL_SCROLL_FORWARD_ONLY 0L 2349#define SQL_SCROLL_KEYSET_DRIVEN (-1L) 2350#define SQL_SCROLL_DYNAMIC (-2L) 2351#define SQL_SCROLL_STATIC (-3L) 2352 2353 2354/* 2355 * Level 1 function prototypes 2356 */ 2357SQLRETURN SQL_API SQLDriverConnect ( 2358 SQLHDBC hdbc, 2359 SQLHWND hwnd, 2360 SQLCHAR * szConnStrIn, 2361 SQLSMALLINT cbConnStrIn, 2362 SQLCHAR * szConnStrOut, 2363 SQLSMALLINT cbConnStrOutMax, 2364 SQLSMALLINT * pcbConnStrOut, 2365 SQLUSMALLINT fDriverCompletion) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2366 2367/* 2368 * Level 2 function prototypes 2369 */ 2370 2371SQLRETURN SQL_API SQLBrowseConnect ( 2372 SQLHDBC hdbc, 2373 SQLCHAR * szConnStrIn, 2374 SQLSMALLINT cbConnStrIn, 2375 SQLCHAR * szConnStrOut, 2376 SQLSMALLINT cbConnStrOutMax, 2377 SQLSMALLINT * pcbConnStrOut) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2378 2379#if (ODBCVER >= 0x0300) 2380SQLRETURN SQL_API SQLBulkOperations ( 2381 SQLHSTMT StatementHandle, 2382 SQLSMALLINT Operation) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2383#endif /* ODBCVER >= 0x0300 */ 2384 2385SQLRETURN SQL_API SQLColAttributes ( 2386 SQLHSTMT hstmt, 2387 SQLUSMALLINT icol, 2388 SQLUSMALLINT fDescType, 2389 SQLPOINTER rgbDesc, 2390 SQLSMALLINT cbDescMax, 2391 SQLSMALLINT * pcbDesc, 2392 SQLLEN * pfDesc) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2393 2394SQLRETURN SQL_API SQLColumnPrivileges ( 2395 SQLHSTMT hstmt, 2396 SQLCHAR * szCatalogName, 2397 SQLSMALLINT cbCatalogName, 2398 SQLCHAR * szSchemaName, 2399 SQLSMALLINT cbSchemaName, 2400 SQLCHAR * szTableName, 2401 SQLSMALLINT cbTableName, 2402 SQLCHAR * szColumnName, 2403 SQLSMALLINT cbColumnName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2404 2405SQLRETURN SQL_API SQLDescribeParam ( 2406 SQLHSTMT hstmt, 2407 SQLUSMALLINT ipar, 2408 SQLSMALLINT * pfSqlType, 2409 SQLULEN * pcbParamDef, 2410 SQLSMALLINT * pibScale, 2411 SQLSMALLINT * pfNullable) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2412 2413SQLRETURN SQL_API SQLExtendedFetch ( 2414 SQLHSTMT hstmt, 2415 SQLUSMALLINT fFetchType, 2416 SQLLEN irow, 2417 SQLULEN * pcrow, 2418 SQLUSMALLINT * rgfRowStatus) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2419 2420SQLRETURN SQL_API SQLForeignKeys ( 2421 SQLHSTMT hstmt, 2422 SQLCHAR * szPkCatalogName, 2423 SQLSMALLINT cbPkCatalogName, 2424 SQLCHAR * szPkSchemaName, 2425 SQLSMALLINT cbPkSchemaName, 2426 SQLCHAR * szPkTableName, 2427 SQLSMALLINT cbPkTableName, 2428 SQLCHAR * szFkCatalogName, 2429 SQLSMALLINT cbFkCatalogName, 2430 SQLCHAR * szFkSchemaName, 2431 SQLSMALLINT cbFkSchemaName, 2432 SQLCHAR * szFkTableName, 2433 SQLSMALLINT cbFkTableName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2434 2435SQLRETURN SQL_API SQLMoreResults ( 2436 SQLHSTMT hstmt) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2437 2438SQLRETURN SQL_API SQLNativeSql ( 2439 SQLHDBC hdbc, 2440 SQLCHAR * szSqlStrIn, 2441 SQLINTEGER cbSqlStrIn, 2442 SQLCHAR * szSqlStr, 2443 SQLINTEGER cbSqlStrMax, 2444 SQLINTEGER * pcbSqlStr) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2445 2446SQLRETURN SQL_API SQLNumParams ( 2447 SQLHSTMT hstmt, 2448 SQLSMALLINT * pcpar) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2449 2450SQLRETURN SQL_API SQLParamOptions ( 2451 SQLHSTMT hstmt, 2452 SQLULEN crow, 2453 SQLULEN * pirow) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2454 2455SQLRETURN SQL_API SQLPrimaryKeys ( 2456 SQLHSTMT hstmt, 2457 SQLCHAR * szCatalogName, 2458 SQLSMALLINT cbCatalogName, 2459 SQLCHAR * szSchemaName, 2460 SQLSMALLINT cbSchemaName, 2461 SQLCHAR * szTableName, 2462 SQLSMALLINT cbTableName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2463 2464SQLRETURN SQL_API SQLProcedureColumns ( 2465 SQLHSTMT hstmt, 2466 SQLCHAR * szCatalogName, 2467 SQLSMALLINT cbCatalogName, 2468 SQLCHAR * szSchemaName, 2469 SQLSMALLINT cbSchemaName, 2470 SQLCHAR * szProcName, 2471 SQLSMALLINT cbProcName, 2472 SQLCHAR * szColumnName, 2473 SQLSMALLINT cbColumnName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2474 2475SQLRETURN SQL_API SQLProcedures ( 2476 SQLHSTMT hstmt, 2477 SQLCHAR * szCatalogName, 2478 SQLSMALLINT cbCatalogName, 2479 SQLCHAR * szSchemaName, 2480 SQLSMALLINT cbSchemaName, 2481 SQLCHAR * szProcName, 2482 SQLSMALLINT cbProcName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2483 2484SQLRETURN SQL_API SQLSetPos ( 2485 SQLHSTMT hstmt, 2486 SQLSETPOSIROW irow, 2487 SQLUSMALLINT fOption, 2488 SQLUSMALLINT fLock) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2489 2490SQLRETURN SQL_API SQLTablePrivileges ( 2491 SQLHSTMT hstmt, 2492 SQLCHAR * szCatalogName, 2493 SQLSMALLINT cbCatalogName, 2494 SQLCHAR * szSchemaName, 2495 SQLSMALLINT cbSchemaName, 2496 SQLCHAR * szTableName, 2497 SQLSMALLINT cbTableName) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2498 2499SQLRETURN SQL_API SQLDrivers ( 2500 SQLHENV henv, 2501 SQLUSMALLINT fDirection, 2502 SQLCHAR * szDriverDesc, 2503 SQLSMALLINT cbDriverDescMax, 2504 SQLSMALLINT * pcbDriverDesc, 2505 SQLCHAR * szDriverAttributes, 2506 SQLSMALLINT cbDrvrAttrMax, 2507 SQLSMALLINT * pcbDrvrAttr) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2508 2509SQLRETURN SQL_API SQLBindParameter ( 2510 SQLHSTMT hstmt, 2511 SQLUSMALLINT ipar, 2512 SQLSMALLINT fParamType, 2513 SQLSMALLINT fCType, 2514 SQLSMALLINT fSqlType, 2515 SQLULEN cbColDef, 2516 SQLSMALLINT ibScale, 2517 SQLPOINTER rgbValue, 2518 SQLLEN cbValueMax, 2519 SQLLEN * pcbValue) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2520 2521/* 2522 * Depreciated - use SQLSetStmtOptions 2523 */ 2524SQLRETURN SQL_API SQLSetScrollOptions ( /* Use SQLSetStmtOptions */ 2525 SQLHSTMT hstmt, 2526 SQLUSMALLINT fConcurrency, 2527 SQLLEN crowKeyset, 2528 SQLUSMALLINT crowRowset) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2529 2530 2531/* 2532 * SQLAllocHandleStd - make SQLAllocHandle compatible with X/Open standard 2533 * 2534 * NOTE: An application should not call SQLAllocHandleStd directly 2535 */ 2536#ifdef ODBC_STD 2537#define SQLAllocHandle SQLAllocHandleStd 2538#define SQLAllocEnv(phenv) \ 2539 SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, phenv) 2540 2541#if (ODBCVER >= 0x0300) 2542SQLRETURN SQL_API SQLAllocHandleStd ( 2543 SQLSMALLINT fHandleType, 2544 SQLHANDLE hInput, 2545 SQLHANDLE * phOutput) DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER; 2546#endif 2547 2548 2549/* Internal type subcodes */ 2550#define SQL_YEAR SQL_CODE_YEAR 2551#define SQL_MONTH SQL_CODE_MONTH 2552#define SQL_DAY SQL_CODE_DAY 2553#define SQL_HOUR SQL_CODE_HOUR 2554#define SQL_MINUTE SQL_CODE_MINUTE 2555#define SQL_SECOND SQL_CODE_SECOND 2556#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH 2557#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR 2558#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE 2559#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND 2560#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE 2561#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND 2562#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND 2563#endif /* ODBC_STD */ 2564 2565 2566#ifdef __cplusplus 2567} 2568#endif 2569 2570#include <sqlucode.h> 2571 2572#endif /* _SQLEXT_H */ 2573