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