xref: /trunk/main/unixODBC/inc/sqlext.h (revision acaca3423cb54ec1f8b99ebd1a99aa0abb0b33f9)
124201887SPedro Giffuni /*
2cdf0e10cSrcweir  *  sqlext.h
3cdf0e10cSrcweir  *
4*acaca342SPedro Giffuni  *  $Id: sqlext.h,v 1.11 2009/08/30 10:48:32 source Exp $
5cdf0e10cSrcweir  *
624201887SPedro Giffuni  *  ODBC defines (ext)
724201887SPedro Giffuni  *
824201887SPedro Giffuni  *  The iODBC driver manager.
924201887SPedro Giffuni  *
1024201887SPedro Giffuni  *  Copyright (C) 1995 by Ke Jin <kejin@empress.com>
11*acaca342SPedro Giffuni  *  Copyright (C) 1996-2009 by OpenLink Software <iodbc@openlinksw.com>
1224201887SPedro Giffuni  *  All Rights Reserved.
1324201887SPedro Giffuni  *
1424201887SPedro Giffuni  *  This software is released under the terms of either of the following
1524201887SPedro Giffuni  *  licenses:
1624201887SPedro Giffuni  *
1724201887SPedro Giffuni  *      - GNU Library General Public License (see LICENSE.LGPL)
1824201887SPedro Giffuni  *      - The BSD License (see LICENSE.BSD).
1924201887SPedro Giffuni  *
2024201887SPedro Giffuni  *  Note that the only valid version of the LGPL license as far as this
2124201887SPedro Giffuni  *  project is concerned is the original GNU Library General Public License
2224201887SPedro Giffuni  *  Version 2, dated June 1991.
2324201887SPedro Giffuni  *
2424201887SPedro Giffuni  *  While not mandated by the BSD license, any patches you make to the
2524201887SPedro Giffuni  *  iODBC source code may be contributed back into the iODBC project
2624201887SPedro Giffuni  *  at your discretion. Contributions will benefit the Open Source and
2724201887SPedro Giffuni  *  Data Access community as a whole. Submissions may be made at:
2824201887SPedro Giffuni  *
2924201887SPedro Giffuni  *      http://www.iodbc.org
3024201887SPedro Giffuni  *
3124201887SPedro Giffuni  *
3224201887SPedro Giffuni  *  GNU Library Generic Public License Version 2
3324201887SPedro Giffuni  *  ============================================
3424201887SPedro Giffuni  *  This library is free software; you can redistribute it and/or
3524201887SPedro Giffuni  *  modify it under the terms of the GNU Library General Public
3624201887SPedro Giffuni  *  License as published by the Free Software Foundation; only
3724201887SPedro Giffuni  *  Version 2 of the License dated June 1991.
3824201887SPedro Giffuni  *
3924201887SPedro Giffuni  *  This library is distributed in the hope that it will be useful,
4024201887SPedro Giffuni  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
4124201887SPedro Giffuni  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4224201887SPedro Giffuni  *  Library General Public License for more details.
4324201887SPedro Giffuni  *
4424201887SPedro Giffuni  *  You should have received a copy of the GNU Library General Public
4524201887SPedro Giffuni  *  License along with this library; if not, write to the Free
4624201887SPedro Giffuni  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
4724201887SPedro Giffuni  *
4824201887SPedro Giffuni  *
4924201887SPedro Giffuni  *  The BSD License
5024201887SPedro Giffuni  *  ===============
5124201887SPedro Giffuni  *  Redistribution and use in source and binary forms, with or without
5224201887SPedro Giffuni  *  modification, are permitted provided that the following conditions
5324201887SPedro Giffuni  *  are met:
5424201887SPedro Giffuni  *
5524201887SPedro Giffuni  *  1. Redistributions of source code must retain the above copyright
5624201887SPedro Giffuni  *     notice, this list of conditions and the following disclaimer.
5724201887SPedro Giffuni  *  2. Redistributions in binary form must reproduce the above copyright
5824201887SPedro Giffuni  *     notice, this list of conditions and the following disclaimer in
5924201887SPedro Giffuni  *     the documentation and/or other materials provided with the
6024201887SPedro Giffuni  *     distribution.
6124201887SPedro Giffuni  *  3. Neither the name of OpenLink Software Inc. nor the names of its
6224201887SPedro Giffuni  *     contributors may be used to endorse or promote products derived
6324201887SPedro Giffuni  *     from this software without specific prior written permission.
6424201887SPedro Giffuni  *
6524201887SPedro Giffuni  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
6624201887SPedro Giffuni  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
6724201887SPedro Giffuni  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6824201887SPedro Giffuni  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
6924201887SPedro Giffuni  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
7024201887SPedro Giffuni  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
7124201887SPedro Giffuni  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
7224201887SPedro Giffuni  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
7324201887SPedro Giffuni  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
7424201887SPedro Giffuni  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
7524201887SPedro Giffuni  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7624201887SPedro Giffuni  */
77cdf0e10cSrcweir 
7824201887SPedro Giffuni #ifndef _SQLEXT_H
7924201887SPedro Giffuni #define _SQLEXT_H
80cdf0e10cSrcweir 
8124201887SPedro Giffuni #ifndef _SQL_H
8224201887SPedro Giffuni #include <odbc/sql.h>
83cdf0e10cSrcweir #endif
84cdf0e10cSrcweir 
85cdf0e10cSrcweir #ifdef __cplusplus
8624201887SPedro Giffuni extern "C" {
87cdf0e10cSrcweir #endif
88cdf0e10cSrcweir 
89cdf0e10cSrcweir 
9024201887SPedro Giffuni /*
9124201887SPedro Giffuni  *  Useful Constants
9224201887SPedro Giffuni  */
9324201887SPedro Giffuni #define SQL_SPEC_MAJOR              3
9424201887SPedro Giffuni #define SQL_SPEC_MINOR              52
9524201887SPedro Giffuni #define SQL_SPEC_STRING             "03.52"
96cdf0e10cSrcweir 
9724201887SPedro Giffuni #define SQL_SQLSTATE_SIZE           5
9824201887SPedro Giffuni #define SQL_MAX_DSN_LENGTH          32
99cdf0e10cSrcweir #define SQL_MAX_OPTION_STRING_LENGTH        256
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 
10224201887SPedro Giffuni /*
10324201887SPedro Giffuni  *  Handle types
10424201887SPedro Giffuni  */
105cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
106cdf0e10cSrcweir #define SQL_HANDLE_SENV             5
107cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
108cdf0e10cSrcweir 
109cdf0e10cSrcweir 
11024201887SPedro Giffuni /*
11124201887SPedro Giffuni  *  Function return codes
11224201887SPedro Giffuni  */
11324201887SPedro Giffuni #if (ODBCVER < 0x0300)
11424201887SPedro Giffuni #define SQL_NO_DATA_FOUND           100
11524201887SPedro Giffuni #else
11624201887SPedro Giffuni #define SQL_NO_DATA_FOUND           SQL_NO_DATA
11724201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
11824201887SPedro Giffuni 
11924201887SPedro Giffuni 
12024201887SPedro Giffuni /*
12124201887SPedro Giffuni  *  Special length values for attributes
12224201887SPedro Giffuni  */
12324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
12424201887SPedro Giffuni #define SQL_IS_POINTER              (-4)
12524201887SPedro Giffuni #define SQL_IS_UINTEGER             (-5)
12624201887SPedro Giffuni #define SQL_IS_INTEGER              (-6)
12724201887SPedro Giffuni #define SQL_IS_USMALLINT            (-7)
12824201887SPedro Giffuni #define SQL_IS_SMALLINT             (-8)
129cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
130cdf0e10cSrcweir 
13124201887SPedro Giffuni 
13224201887SPedro Giffuni /*
13324201887SPedro Giffuni  *  SQL extended datatypes
13424201887SPedro Giffuni  */
13524201887SPedro Giffuni #define SQL_DATE                9
136cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
13724201887SPedro Giffuni #define SQL_INTERVAL                10
13824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
13924201887SPedro Giffuni #define SQL_TIME                10
14024201887SPedro Giffuni #define SQL_TIMESTAMP               11
14124201887SPedro Giffuni #define SQL_LONGVARCHAR             (-1)
14224201887SPedro Giffuni #define SQL_BINARY              (-2)
14324201887SPedro Giffuni #define SQL_VARBINARY               (-3)
14424201887SPedro Giffuni #define SQL_LONGVARBINARY           (-4)
14524201887SPedro Giffuni #define SQL_BIGINT              (-5)
14624201887SPedro Giffuni #define SQL_TINYINT             (-6)
14724201887SPedro Giffuni #define SQL_BIT                 (-7)
14824201887SPedro Giffuni #if (ODBCVER >= 0x0350)
14924201887SPedro Giffuni #define SQL_GUID                (-11)
15024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0350 */
151cdf0e10cSrcweir 
152cdf0e10cSrcweir 
15324201887SPedro Giffuni /*
15424201887SPedro Giffuni  *  SQL Interval datatypes
15524201887SPedro Giffuni  */
15624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
15724201887SPedro Giffuni #define SQL_CODE_YEAR               1
15824201887SPedro Giffuni #define SQL_CODE_MONTH              2
15924201887SPedro Giffuni #define SQL_CODE_DAY                3
16024201887SPedro Giffuni #define SQL_CODE_HOUR               4
16124201887SPedro Giffuni #define SQL_CODE_MINUTE             5
16224201887SPedro Giffuni #define SQL_CODE_SECOND             6
16324201887SPedro Giffuni #define SQL_CODE_YEAR_TO_MONTH          7
16424201887SPedro Giffuni #define SQL_CODE_DAY_TO_HOUR            8
16524201887SPedro Giffuni #define SQL_CODE_DAY_TO_MINUTE          9
16624201887SPedro Giffuni #define SQL_CODE_DAY_TO_SECOND          10
16724201887SPedro Giffuni #define SQL_CODE_HOUR_TO_MINUTE         11
16824201887SPedro Giffuni #define SQL_CODE_HOUR_TO_SECOND         12
16924201887SPedro Giffuni #define SQL_CODE_MINUTE_TO_SECOND       13
17024201887SPedro Giffuni 
17124201887SPedro Giffuni #define SQL_INTERVAL_YEAR           (100 + SQL_CODE_YEAR)
17224201887SPedro Giffuni #define SQL_INTERVAL_MONTH          (100 + SQL_CODE_MONTH)
17324201887SPedro Giffuni #define SQL_INTERVAL_DAY            (100 + SQL_CODE_DAY)
17424201887SPedro Giffuni #define SQL_INTERVAL_HOUR           (100 + SQL_CODE_HOUR)
17524201887SPedro Giffuni #define SQL_INTERVAL_MINUTE         (100 + SQL_CODE_MINUTE)
17624201887SPedro Giffuni #define SQL_INTERVAL_SECOND                 (100 + SQL_CODE_SECOND)
17724201887SPedro Giffuni #define SQL_INTERVAL_YEAR_TO_MONTH      (100 + SQL_CODE_YEAR_TO_MONTH)
17824201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_HOUR        (100 + SQL_CODE_DAY_TO_HOUR)
17924201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_MINUTE      (100 + SQL_CODE_DAY_TO_MINUTE)
18024201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_SECOND      (100 + SQL_CODE_DAY_TO_SECOND)
18124201887SPedro Giffuni #define SQL_INTERVAL_HOUR_TO_MINUTE     (100 + SQL_CODE_HOUR_TO_MINUTE)
18224201887SPedro Giffuni #define SQL_INTERVAL_HOUR_TO_SECOND     (100 + SQL_CODE_HOUR_TO_SECOND)
18324201887SPedro Giffuni #define SQL_INTERVAL_MINUTE_TO_SECOND       (100 + SQL_CODE_MINUTE_TO_SECOND)
18424201887SPedro Giffuni #else
18524201887SPedro Giffuni #define SQL_INTERVAL_YEAR           (-80)
18624201887SPedro Giffuni #define SQL_INTERVAL_MONTH          (-81)
18724201887SPedro Giffuni #define SQL_INTERVAL_YEAR_TO_MONTH      (-82)
18824201887SPedro Giffuni #define SQL_INTERVAL_DAY            (-83)
18924201887SPedro Giffuni #define SQL_INTERVAL_HOUR           (-84)
19024201887SPedro Giffuni #define SQL_INTERVAL_MINUTE         (-85)
19124201887SPedro Giffuni #define SQL_INTERVAL_SECOND         (-86)
19224201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_HOUR        (-87)
19324201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_MINUTE      (-88)
19424201887SPedro Giffuni #define SQL_INTERVAL_DAY_TO_SECOND      (-89)
19524201887SPedro Giffuni #define SQL_INTERVAL_HOUR_TO_MINUTE     (-90)
19624201887SPedro Giffuni #define SQL_INTERVAL_HOUR_TO_SECOND     (-91)
19724201887SPedro Giffuni #define SQL_INTERVAL_MINUTE_TO_SECOND       (-92)
198cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
199cdf0e10cSrcweir 
20024201887SPedro Giffuni 
20124201887SPedro Giffuni /*
20224201887SPedro Giffuni  *   SQL unicode data types
20324201887SPedro Giffuni  */
20424201887SPedro Giffuni #if (ODBCVER <= 0x0300)
20524201887SPedro Giffuni /* These definitions are historical and obsolete */
20624201887SPedro Giffuni #define SQL_UNICODE             (-95)
20724201887SPedro Giffuni #define SQL_UNICODE_VARCHAR         (-96)
20824201887SPedro Giffuni #define SQL_UNICODE_LONGVARCHAR         (-97)
20924201887SPedro Giffuni #define SQL_UNICODE_CHAR            SQL_UNICODE
21024201887SPedro Giffuni #else
21124201887SPedro Giffuni #define SQL_UNICODE             SQL_WCHAR
21224201887SPedro Giffuni #define SQL_UNICODE_VARCHAR         SQL_WVARCHAR
21324201887SPedro Giffuni #define SQL_UNICODE_LONGVARCHAR         SQL_WLONGVARCHAR
21424201887SPedro Giffuni #define SQL_UNICODE_CHAR            SQL_WCHAR
21524201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
21624201887SPedro Giffuni 
21724201887SPedro Giffuni 
21824201887SPedro Giffuni #if (ODBCVER < 0x0300)
21924201887SPedro Giffuni #define SQL_TYPE_DRIVER_START           SQL_INTERVAL_YEAR
22024201887SPedro Giffuni #define SQL_TYPE_DRIVER_END         SQL_UNICODE_LONGVARCHAR
22124201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
22224201887SPedro Giffuni 
22324201887SPedro Giffuni 
22424201887SPedro Giffuni #define SQL_SIGNED_OFFSET           (-20)
22524201887SPedro Giffuni #define SQL_UNSIGNED_OFFSET         (-22)
22624201887SPedro Giffuni 
22724201887SPedro Giffuni 
22824201887SPedro Giffuni /*
22924201887SPedro Giffuni  *  C datatype to SQL datatype mapping
23024201887SPedro Giffuni  */
23124201887SPedro Giffuni #define SQL_C_CHAR                  SQL_CHAR
23224201887SPedro Giffuni #define SQL_C_LONG                  SQL_INTEGER
23324201887SPedro Giffuni #define SQL_C_SHORT                 SQL_SMALLINT
23424201887SPedro Giffuni #define SQL_C_FLOAT                 SQL_REAL
23524201887SPedro Giffuni #define SQL_C_DOUBLE                SQL_DOUBLE
23624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
23724201887SPedro Giffuni #define SQL_C_NUMERIC               SQL_NUMERIC
23824201887SPedro Giffuni #endif   /* ODBCVER >= 0x0300 */
23924201887SPedro Giffuni #define SQL_C_DEFAULT               99
24024201887SPedro Giffuni 
24124201887SPedro Giffuni 
24224201887SPedro Giffuni #define SQL_C_DATE              SQL_DATE
24324201887SPedro Giffuni #define SQL_C_TIME              SQL_TIME
24424201887SPedro Giffuni #define SQL_C_TIMESTAMP             SQL_TIMESTAMP
24524201887SPedro Giffuni #define SQL_C_BINARY                SQL_BINARY
24624201887SPedro Giffuni #define SQL_C_BIT               SQL_BIT
24724201887SPedro Giffuni #define SQL_C_TINYINT               SQL_TINYINT
24824201887SPedro Giffuni #define SQL_C_SLONG             (SQL_C_LONG+SQL_SIGNED_OFFSET)
24924201887SPedro Giffuni #define SQL_C_SSHORT                (SQL_C_SHORT+SQL_SIGNED_OFFSET)
25024201887SPedro Giffuni #define SQL_C_STINYINT              (SQL_TINYINT+SQL_SIGNED_OFFSET)
25124201887SPedro Giffuni #define SQL_C_ULONG             (SQL_C_LONG+SQL_UNSIGNED_OFFSET)
25224201887SPedro Giffuni #define SQL_C_USHORT                (SQL_C_SHORT+SQL_UNSIGNED_OFFSET)
25324201887SPedro Giffuni #define SQL_C_UTINYINT              (SQL_TINYINT+SQL_UNSIGNED_OFFSET)
25424201887SPedro Giffuni 
25524201887SPedro Giffuni #if defined(_WIN64)
25624201887SPedro Giffuni #define SQL_C_BOOKMARK              SQL_C_UBIGINT
25724201887SPedro Giffuni #else
25824201887SPedro Giffuni #define SQL_C_BOOKMARK              SQL_C_ULONG
25924201887SPedro Giffuni #endif
26024201887SPedro Giffuni 
26124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
26224201887SPedro Giffuni #define SQL_C_TYPE_DATE             SQL_TYPE_DATE
26324201887SPedro Giffuni #define SQL_C_TYPE_TIME             SQL_TYPE_TIME
26424201887SPedro Giffuni #define SQL_C_TYPE_TIMESTAMP            SQL_TYPE_TIMESTAMP
26524201887SPedro Giffuni #define SQL_C_INTERVAL_YEAR         SQL_INTERVAL_YEAR
26624201887SPedro Giffuni #define SQL_C_INTERVAL_MONTH            SQL_INTERVAL_MONTH
26724201887SPedro Giffuni #define SQL_C_INTERVAL_DAY          SQL_INTERVAL_DAY
26824201887SPedro Giffuni #define SQL_C_INTERVAL_HOUR         SQL_INTERVAL_HOUR
26924201887SPedro Giffuni #define SQL_C_INTERVAL_MINUTE           SQL_INTERVAL_MINUTE
27024201887SPedro Giffuni #define SQL_C_INTERVAL_SECOND           SQL_INTERVAL_SECOND
27124201887SPedro Giffuni #define SQL_C_INTERVAL_YEAR_TO_MONTH        SQL_INTERVAL_YEAR_TO_MONTH
27224201887SPedro Giffuni #define SQL_C_INTERVAL_DAY_TO_HOUR      SQL_INTERVAL_DAY_TO_HOUR
27324201887SPedro Giffuni #define SQL_C_INTERVAL_DAY_TO_MINUTE        SQL_INTERVAL_DAY_TO_MINUTE
27424201887SPedro Giffuni #define SQL_C_INTERVAL_DAY_TO_SECOND        SQL_INTERVAL_DAY_TO_SECOND
27524201887SPedro Giffuni #define SQL_C_INTERVAL_HOUR_TO_MINUTE       SQL_INTERVAL_HOUR_TO_MINUTE
27624201887SPedro Giffuni #define SQL_C_INTERVAL_HOUR_TO_SECOND       SQL_INTERVAL_HOUR_TO_SECOND
27724201887SPedro Giffuni #define SQL_C_INTERVAL_MINUTE_TO_SECOND     SQL_INTERVAL_MINUTE_TO_SECOND
27824201887SPedro Giffuni #define SQL_C_SBIGINT               (SQL_BIGINT+SQL_SIGNED_OFFSET)
27924201887SPedro Giffuni #define SQL_C_UBIGINT               (SQL_BIGINT+SQL_UNSIGNED_OFFSET)
28024201887SPedro Giffuni #define SQL_C_VARBOOKMARK           SQL_C_BINARY
28124201887SPedro Giffuni #endif   /* ODBCVER >= 0x0300 */
28224201887SPedro Giffuni 
28324201887SPedro Giffuni #if (ODBCVER >= 0x0350)
28424201887SPedro Giffuni #define SQL_C_GUID              SQL_GUID
28524201887SPedro Giffuni #endif
28624201887SPedro Giffuni 
28724201887SPedro Giffuni #define SQL_TYPE_NULL               0
28824201887SPedro Giffuni 
28924201887SPedro Giffuni #if (ODBCVER < 0x0300)
29024201887SPedro Giffuni #define SQL_TYPE_MIN                SQL_BIT
29124201887SPedro Giffuni #define SQL_TYPE_MAX                SQL_VARCHAR
29224201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
29324201887SPedro Giffuni 
29424201887SPedro Giffuni 
29524201887SPedro Giffuni /*
29624201887SPedro Giffuni  * ----------------------------------------------------------------------
29724201887SPedro Giffuni  *  Level 1 Functions
29824201887SPedro Giffuni  * ----------------------------------------------------------------------
29924201887SPedro Giffuni  */
30024201887SPedro Giffuni 
30124201887SPedro Giffuni /*
30224201887SPedro Giffuni  *  SQLBindParameter
30324201887SPedro Giffuni  */
30424201887SPedro Giffuni #define SQL_DEFAULT_PARAM           (-5)
30524201887SPedro Giffuni #define SQL_IGNORE              (-6)
30624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
30724201887SPedro Giffuni #define SQL_COLUMN_IGNORE           SQL_IGNORE
30824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
30924201887SPedro Giffuni #define SQL_LEN_DATA_AT_EXEC_OFFSET     (-100)
31024201887SPedro Giffuni #define SQL_LEN_DATA_AT_EXEC(length)        (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
31124201887SPedro Giffuni 
31224201887SPedro Giffuni 
31324201887SPedro Giffuni /*
31424201887SPedro Giffuni  *  binary length for driver specific attributes
31524201887SPedro Giffuni  */
31624201887SPedro Giffuni #define SQL_LEN_BINARY_ATTR_OFFSET       (-100)
31724201887SPedro Giffuni #define SQL_LEN_BINARY_ATTR(length)  (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
31824201887SPedro Giffuni 
31924201887SPedro Giffuni 
32024201887SPedro Giffuni /*
32124201887SPedro Giffuni  *  SQLColAttributes - ODBC 2.x defines
32224201887SPedro Giffuni  */
32324201887SPedro Giffuni #define SQL_COLUMN_COUNT            0
32424201887SPedro Giffuni #define SQL_COLUMN_NAME             1
32524201887SPedro Giffuni #define SQL_COLUMN_TYPE             2
32624201887SPedro Giffuni #define SQL_COLUMN_LENGTH           3
32724201887SPedro Giffuni #define SQL_COLUMN_PRECISION            4
32824201887SPedro Giffuni #define SQL_COLUMN_SCALE            5
32924201887SPedro Giffuni #define SQL_COLUMN_DISPLAY_SIZE         6
33024201887SPedro Giffuni #define SQL_COLUMN_NULLABLE         7
33124201887SPedro Giffuni #define SQL_COLUMN_UNSIGNED         8
33224201887SPedro Giffuni #define SQL_COLUMN_MONEY            9
33324201887SPedro Giffuni #define SQL_COLUMN_UPDATABLE            10
33424201887SPedro Giffuni #define SQL_COLUMN_AUTO_INCREMENT       11
33524201887SPedro Giffuni #define SQL_COLUMN_CASE_SENSITIVE       12
33624201887SPedro Giffuni #define SQL_COLUMN_SEARCHABLE           13
33724201887SPedro Giffuni #define SQL_COLUMN_TYPE_NAME            14
33824201887SPedro Giffuni #define SQL_COLUMN_TABLE_NAME           15
33924201887SPedro Giffuni #define SQL_COLUMN_OWNER_NAME           16
34024201887SPedro Giffuni #define SQL_COLUMN_QUALIFIER_NAME       17
34124201887SPedro Giffuni #define SQL_COLUMN_LABEL            18
34224201887SPedro Giffuni #define SQL_COLATT_OPT_MAX          SQL_COLUMN_LABEL
34324201887SPedro Giffuni #if (ODBCVER < 0x0300)
34424201887SPedro Giffuni #define SQL_COLUMN_DRIVER_START         1000
34524201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
34624201887SPedro Giffuni 
34724201887SPedro Giffuni #define SQL_COLATT_OPT_MIN          SQL_COLUMN_COUNT
34824201887SPedro Giffuni 
34924201887SPedro Giffuni 
35024201887SPedro Giffuni /*
35124201887SPedro Giffuni  *  SQLColAttributes - SQL_COLUMN_UPDATABLE
35224201887SPedro Giffuni  */
35324201887SPedro Giffuni #define SQL_ATTR_READONLY           0
35424201887SPedro Giffuni #define SQL_ATTR_WRITE              1
35524201887SPedro Giffuni #define SQL_ATTR_READWRITE_UNKNOWN      2
35624201887SPedro Giffuni 
35724201887SPedro Giffuni 
35824201887SPedro Giffuni /*
35924201887SPedro Giffuni  *  SQLColAttributes - SQL_COLUMN_SEARCHABLE
36024201887SPedro Giffuni  */
36124201887SPedro Giffuni #define SQL_UNSEARCHABLE            0
36224201887SPedro Giffuni #define SQL_LIKE_ONLY               1
36324201887SPedro Giffuni #define SQL_ALL_EXCEPT_LIKE         2
36424201887SPedro Giffuni #define SQL_SEARCHABLE              3
36524201887SPedro Giffuni #define SQL_PRED_SEARCHABLE         SQL_SEARCHABLE
36624201887SPedro Giffuni 
36724201887SPedro Giffuni 
36824201887SPedro Giffuni /*
36924201887SPedro Giffuni  *  SQLDataSources - additional fetch directions
37024201887SPedro Giffuni  */
37124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
37224201887SPedro Giffuni #define SQL_FETCH_FIRST_USER            31
37324201887SPedro Giffuni #define SQL_FETCH_FIRST_SYSTEM          32
37424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
37524201887SPedro Giffuni 
37624201887SPedro Giffuni 
37724201887SPedro Giffuni /*
37824201887SPedro Giffuni  *  SQLDriverConnect
37924201887SPedro Giffuni  */
38024201887SPedro Giffuni #define SQL_DRIVER_NOPROMPT         0
38124201887SPedro Giffuni #define SQL_DRIVER_COMPLETE         1
38224201887SPedro Giffuni #define SQL_DRIVER_PROMPT           2
38324201887SPedro Giffuni #define SQL_DRIVER_COMPLETE_REQUIRED        3
38424201887SPedro Giffuni 
38524201887SPedro Giffuni 
38624201887SPedro Giffuni /*
38724201887SPedro Giffuni  *  SQLGetConnectAttr - ODBC 2.x attributes
38824201887SPedro 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 
40224201887SPedro Giffuni 
40324201887SPedro Giffuni /*
40424201887SPedro Giffuni  *  SQLGetConnectAttr - ODBC 3.0 attributes
40524201887SPedro 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 
42824201887SPedro Giffuni /*
42924201887SPedro Giffuni  *  These options have no meaning for a 3.0 driver
430cdf0e10cSrcweir  */
431cdf0e10cSrcweir #if (ODBCVER < 0x0300)
43224201887SPedro Giffuni #define SQL_CONN_OPT_MIN            SQL_ACCESS_MODE
43324201887SPedro Giffuni #define SQL_CONN_OPT_MAX            SQL_PACKET_SIZE
434cdf0e10cSrcweir #define SQL_CONNECT_OPT_DRVR_START      1000
435cdf0e10cSrcweir #endif  /* ODBCVER < 0x0300 */
436cdf0e10cSrcweir 
437cdf0e10cSrcweir 
43824201887SPedro Giffuni /*
43924201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ACCESS_MODE
44024201887SPedro 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 
44524201887SPedro Giffuni 
44624201887SPedro Giffuni /*
44724201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_AUTOCOMMIT
44824201887SPedro Giffuni  */
449cdf0e10cSrcweir #define SQL_AUTOCOMMIT_OFF          0UL
450cdf0e10cSrcweir #define SQL_AUTOCOMMIT_ON           1UL
451cdf0e10cSrcweir #define SQL_AUTOCOMMIT_DEFAULT          SQL_AUTOCOMMIT_ON
452cdf0e10cSrcweir 
45324201887SPedro Giffuni 
45424201887SPedro Giffuni /*
45524201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_LOGIN_TIMEOUT
45624201887SPedro Giffuni  */
457cdf0e10cSrcweir #define SQL_LOGIN_TIMEOUT_DEFAULT       15UL
458cdf0e10cSrcweir 
459cdf0e10cSrcweir 
46024201887SPedro Giffuni /*
46124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ODBC_CURSORS
46224201887SPedro 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 
46824201887SPedro Giffuni 
46924201887SPedro Giffuni /*
47024201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_OPT_TRACE
47124201887SPedro Giffuni  */
47224201887SPedro Giffuni #define SQL_OPT_TRACE_OFF           0UL
47324201887SPedro Giffuni #define SQL_OPT_TRACE_ON            1UL
47424201887SPedro Giffuni #define SQL_OPT_TRACE_DEFAULT           SQL_OPT_TRACE_OFF
47524201887SPedro Giffuni #if defined (WIN32)
47624201887SPedro Giffuni #define SQL_OPT_TRACE_FILE_DEFAULT      "\\SQL.LOG"
47724201887SPedro Giffuni #define SQL_OPT_TRACE_FILE_DEFAULTW     L"\\SQL.LOG"
47824201887SPedro Giffuni #else
47924201887SPedro Giffuni #define SQL_OPT_TRACE_FILE_DEFAULT      "/tmp/odbc.log"
48024201887SPedro Giffuni #define SQL_OPT_TRACE_FILE_DEFAULTW     L"/tmp/odbc.log"
48124201887SPedro Giffuni #endif
48224201887SPedro Giffuni 
48324201887SPedro Giffuni 
48424201887SPedro Giffuni /*
48524201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_ANSI_APP
48624201887SPedro Giffuni  */
48724201887SPedro Giffuni #if (ODBCVER >= 0x0351)
48824201887SPedro Giffuni #define SQL_AA_TRUE             1L /* ANSI app */
48924201887SPedro Giffuni #define SQL_AA_FALSE                0L /* Unicode app */
49024201887SPedro Giffuni #endif
49124201887SPedro Giffuni 
49224201887SPedro Giffuni 
49324201887SPedro Giffuni /*
49424201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_CONNECTION_DEAD
49524201887SPedro Giffuni  */
49624201887SPedro Giffuni #define SQL_CD_TRUE             1L /* closed/dead */
49724201887SPedro Giffuni #define SQL_CD_FALSE                0L /* open/available */
49824201887SPedro Giffuni 
49924201887SPedro Giffuni 
50024201887SPedro Giffuni /*
50124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_DISCONNECT_BEHAVIOR
50224201887SPedro 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
50724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
508cdf0e10cSrcweir 
50924201887SPedro Giffuni 
51024201887SPedro Giffuni /*
51124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_ENLIST_IN_DTC
51224201887SPedro Giffuni  */
51324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
514cdf0e10cSrcweir #define SQL_DTC_DONE                0L
515cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
516cdf0e10cSrcweir 
517cdf0e10cSrcweir 
51824201887SPedro Giffuni /*
51924201887SPedro Giffuni  *   SQLGetConnectAttr - Unicode drivers
52024201887SPedro Giffuni  */
521cdf0e10cSrcweir #if (ODBCVER >= 0x0351)
52224201887SPedro Giffuni #define SQL_ATTR_ANSI_APP           115
523cdf0e10cSrcweir #endif
524cdf0e10cSrcweir 
525cdf0e10cSrcweir 
52624201887SPedro Giffuni /*
52724201887SPedro Giffuni  *  SQLGetData
52824201887SPedro Giffuni  */
52924201887SPedro Giffuni #define SQL_NO_TOTAL                (-4)
530cdf0e10cSrcweir 
531cdf0e10cSrcweir 
53224201887SPedro Giffuni /*
53324201887SPedro Giffuni  *  SQLGetDescField - extended descriptor field
53424201887SPedro 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 
57024201887SPedro Giffuni /*
57124201887SPedro Giffuni  *  SQLGetDiagField - defines for diagnostics fields
57224201887SPedro 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 
58024201887SPedro Giffuni /*
58124201887SPedro Giffuni  *  SQLGetDiagField  - SQL_DIAG_ROW_NUMBER and SQL_DIAG_COLUMN_NUMBER
58224201887SPedro 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 
59024201887SPedro Giffuni 
591cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
59224201887SPedro Giffuni /*
59324201887SPedro Giffuni  *  SQLGetEnvAttr - Attributes
594cdf0e10cSrcweir  */
59524201887SPedro Giffuni #define SQL_ATTR_ODBC_VERSION           200
59624201887SPedro Giffuni #define SQL_ATTR_CONNECTION_POOLING     201
59724201887SPedro Giffuni #define SQL_ATTR_CP_MATCH           202
598cdf0e10cSrcweir 
599cdf0e10cSrcweir 
60024201887SPedro Giffuni /*
60124201887SPedro Giffuni  * SQLGetEnvAttr - SQL_ATTR_ODBC_VERSION
60224201887SPedro Giffuni  */
60324201887SPedro Giffuni #define SQL_OV_ODBC2                2UL
60424201887SPedro Giffuni #define SQL_OV_ODBC3                3UL
605cdf0e10cSrcweir 
606cdf0e10cSrcweir 
60724201887SPedro Giffuni /*
60824201887SPedro Giffuni  *  SQLGetEnvAttr - SQL_ATTR_CONNECTION_POOLING
60924201887SPedro Giffuni  */
61024201887SPedro Giffuni #define SQL_CP_OFF              0UL
61124201887SPedro Giffuni #define SQL_CP_ONE_PER_DRIVER           1UL
61224201887SPedro Giffuni #define SQL_CP_ONE_PER_HENV         2UL
61324201887SPedro Giffuni #define SQL_CP_DEFAULT              SQL_CP_OFF
61424201887SPedro Giffuni 
61524201887SPedro Giffuni 
61624201887SPedro Giffuni /*
61724201887SPedro Giffuni  * SQLGetEnvAttr - SQL_ATTR_CP_MATCH
61824201887SPedro Giffuni  */
61924201887SPedro Giffuni #define SQL_CP_STRICT_MATCH         0UL
62024201887SPedro Giffuni #define SQL_CP_RELAXED_MATCH            1UL
62124201887SPedro Giffuni #define SQL_CP_MATCH_DEFAULT            SQL_CP_STRICT_MATCH
62224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
62324201887SPedro Giffuni 
62424201887SPedro Giffuni 
62524201887SPedro Giffuni /*
62624201887SPedro Giffuni  *  SQLGetFunctions - extensions to the X/Open specification
62724201887SPedro 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 
65324201887SPedro Giffuni /*
65424201887SPedro Giffuni  *  These are not useful anymore as the X/Open specification defines
65524201887SPedro Giffuni  *  functions in the 10000 range
65624201887SPedro 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)
66224201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
663cdf0e10cSrcweir 
664cdf0e10cSrcweir 
66524201887SPedro Giffuni /*
66624201887SPedro Giffuni  *  SQLGetFunctions - ODBC version 2.x and earlier
66724201887SPedro Giffuni  */
66824201887SPedro Giffuni #define SQL_API_ALL_FUNCTIONS           0
66924201887SPedro Giffuni 
67024201887SPedro Giffuni 
67124201887SPedro Giffuni /*
67224201887SPedro Giffuni  *  Loading by ordinal is not supported for 3.0 and above drivers
67324201887SPedro Giffuni  */
67424201887SPedro Giffuni #define SQL_API_LOADBYORDINAL           199
67524201887SPedro Giffuni 
67624201887SPedro Giffuni 
67724201887SPedro Giffuni /*
67824201887SPedro Giffuni  *  SQLGetFunctions - SQL_API_ODBC3_ALL_FUNCTIONS
67924201887SPedro Giffuni  */
680cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
681cdf0e10cSrcweir #define SQL_API_ODBC3_ALL_FUNCTIONS     999
68224201887SPedro Giffuni #define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE    250
683cdf0e10cSrcweir 
68424201887SPedro Giffuni #define SQL_FUNC_EXISTS(pfExists, uwAPI) \
68524201887SPedro Giffuni     ((*(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F))) \
68624201887SPedro Giffuni     ? SQL_TRUE : SQL_FALSE)
687cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
688cdf0e10cSrcweir 
689cdf0e10cSrcweir 
69024201887SPedro Giffuni /*
69124201887SPedro Giffuni  *  SQLGetInfo - ODBC 2.x extensions to the X/Open standard
69224201887SPedro 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 
77924201887SPedro Giffuni /*
78024201887SPedro Giffuni  *  These values are not useful anymore as X/Open defines values in the
78124201887SPedro Giffuni  *  10000 range
78224201887SPedro 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 
78924201887SPedro Giffuni /*
79024201887SPedro Giffuni  *  SQLGetInfo - ODBC 3.x extensions to the X/Open standard
79124201887SPedro 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
86224201887SPedro Giffuni 
863cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
864cdf0e10cSrcweir 
865cdf0e10cSrcweir #define SQL_DTC_TRANSITION_COST         1750
866cdf0e10cSrcweir 
86724201887SPedro Giffuni 
86824201887SPedro Giffuni /*
86924201887SPedro Giffuni  *  SQLGetInfo - SQL_AGGREGATE_FUNCTIONS
87024201887SPedro Giffuni  */
871cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
87224201887SPedro Giffuni #define SQL_AF_AVG              0x00000001L
87324201887SPedro Giffuni #define SQL_AF_COUNT                0x00000002L
87424201887SPedro Giffuni #define SQL_AF_MAX              0x00000004L
87524201887SPedro Giffuni #define SQL_AF_MIN              0x00000008L
87624201887SPedro Giffuni #define SQL_AF_SUM              0x00000010L
87724201887SPedro Giffuni #define SQL_AF_DISTINCT             0x00000020L
87824201887SPedro Giffuni #define SQL_AF_ALL              0x00000040L
87924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
88024201887SPedro Giffuni 
88124201887SPedro Giffuni /*
88224201887SPedro Giffuni  *  SQLGetInfo - SQL_ALTER_DOMAIN
88324201887SPedro Giffuni  */
88424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
88524201887SPedro Giffuni #define SQL_AD_CONSTRAINT_NAME_DEFINITION   0x00000001L
88624201887SPedro Giffuni #define SQL_AD_ADD_DOMAIN_CONSTRAINT        0x00000002L
88724201887SPedro Giffuni #define SQL_AD_DROP_DOMAIN_CONSTRAINT       0x00000004L
88824201887SPedro Giffuni #define SQL_AD_ADD_DOMAIN_DEFAULT       0x00000008L
88924201887SPedro Giffuni #define SQL_AD_DROP_DOMAIN_DEFAULT      0x00000010L
89024201887SPedro Giffuni #define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED    0x00000020L
89124201887SPedro Giffuni #define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE   0x00000040L
89224201887SPedro Giffuni #define SQL_AD_ADD_CONSTRAINT_DEFERRABLE    0x00000080L
89324201887SPedro Giffuni #define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE    0x00000100L
89424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
89524201887SPedro Giffuni 
89624201887SPedro Giffuni 
89724201887SPedro Giffuni /*
89824201887SPedro Giffuni  *  SQLGetInfo - SQL_ALTER_TABLE
89924201887SPedro Giffuni  */
90024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
90124201887SPedro Giffuni /*
90224201887SPedro Giffuni     * The following 5 bitmasks are defined in sql.h
90324201887SPedro 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 
92624201887SPedro Giffuni /*
92724201887SPedro Giffuni  *  SQLGetInfo - SQL_ASYNC_MODE
92824201887SPedro Giffuni  */
92924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
93024201887SPedro Giffuni #define SQL_AM_NONE             0
93124201887SPedro Giffuni #define SQL_AM_CONNECTION           1
93224201887SPedro Giffuni #define SQL_AM_STATEMENT            2
93324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
93424201887SPedro Giffuni 
93524201887SPedro Giffuni 
93624201887SPedro Giffuni /*
93724201887SPedro Giffuni  *  SQLGetInfo - SQL_BATCH_ROW_COUNT
93824201887SPedro Giffuni  */
93924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
94024201887SPedro Giffuni #define SQL_BRC_PROCEDURES          0x0000001
94124201887SPedro Giffuni #define SQL_BRC_EXPLICIT            0x0000002
94224201887SPedro Giffuni #define SQL_BRC_ROLLED_UP           0x0000004
94324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
94424201887SPedro Giffuni 
94524201887SPedro Giffuni 
94624201887SPedro Giffuni /*
94724201887SPedro Giffuni  *  SQLGetInfo - SQL_BATCH_SUPPORT
94824201887SPedro Giffuni  */
94924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
95024201887SPedro Giffuni #define SQL_BS_SELECT_EXPLICIT          0x00000001L
95124201887SPedro Giffuni #define SQL_BS_ROW_COUNT_EXPLICIT       0x00000002L
95224201887SPedro Giffuni #define SQL_BS_SELECT_PROC          0x00000004L
95324201887SPedro Giffuni #define SQL_BS_ROW_COUNT_PROC           0x00000008L
95424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
95524201887SPedro Giffuni 
95624201887SPedro Giffuni 
95724201887SPedro Giffuni /*
95824201887SPedro Giffuni  *  SQLGetInfo - SQL_BOOKMARK_PERSISTENCE
95924201887SPedro Giffuni  */
96024201887SPedro Giffuni #define SQL_BP_CLOSE                0x00000001L
96124201887SPedro Giffuni #define SQL_BP_DELETE               0x00000002L
96224201887SPedro Giffuni #define SQL_BP_DROP             0x00000004L
96324201887SPedro Giffuni #define SQL_BP_TRANSACTION          0x00000008L
96424201887SPedro Giffuni #define SQL_BP_UPDATE               0x00000010L
96524201887SPedro Giffuni #define SQL_BP_OTHER_HSTMT          0x00000020L
96624201887SPedro Giffuni #define SQL_BP_SCROLL               0x00000040L
96724201887SPedro Giffuni 
96824201887SPedro Giffuni 
96924201887SPedro Giffuni /*
97024201887SPedro Giffuni  *  SQLGetInfo - SQL_CATALOG_LOCATION
97124201887SPedro Giffuni  */
97224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
97324201887SPedro Giffuni #define SQL_CL_START                SQL_QL_START
97424201887SPedro Giffuni #define SQL_CL_END              SQL_QL_END
97524201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
97624201887SPedro Giffuni 
97724201887SPedro Giffuni 
97824201887SPedro Giffuni /*
97924201887SPedro Giffuni  *  SQLGetInfo - SQL_CATALOG_USAGE
98024201887SPedro Giffuni  */
98124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
98224201887SPedro Giffuni #define SQL_CU_DML_STATEMENTS           SQL_QU_DML_STATEMENTS
98324201887SPedro Giffuni #define SQL_CU_PROCEDURE_INVOCATION     SQL_QU_PROCEDURE_INVOCATION
98424201887SPedro Giffuni #define SQL_CU_TABLE_DEFINITION         SQL_QU_TABLE_DEFINITION
98524201887SPedro Giffuni #define SQL_CU_INDEX_DEFINITION         SQL_QU_INDEX_DEFINITION
98624201887SPedro Giffuni #define SQL_CU_PRIVILEGE_DEFINITION     SQL_QU_PRIVILEGE_DEFINITION
98724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
98824201887SPedro Giffuni 
98924201887SPedro Giffuni 
99024201887SPedro Giffuni /*
99124201887SPedro Giffuni  *  SQLGetInfo - SQL_CONCAT_NULL_BEHAVIOR
99224201887SPedro Giffuni  */
99324201887SPedro Giffuni #define SQL_CB_NULL             0x0000
99424201887SPedro Giffuni #define SQL_CB_NON_NULL             0x0001
99524201887SPedro Giffuni 
99624201887SPedro Giffuni 
99724201887SPedro Giffuni /*
99824201887SPedro Giffuni  *  SQLGetInfo - SQL_CONVERT_* bitmask values
99924201887SPedro 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 
102824201887SPedro Giffuni /*
102924201887SPedro Giffuni  *  SQLGetInfo - SQL_CONVERT_FUNCTIONS
103024201887SPedro 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 
103724201887SPedro Giffuni /*
103824201887SPedro Giffuni  *  SQLGetInfo - SQL_CORRELATION_NAME
103924201887SPedro Giffuni  */
104024201887SPedro Giffuni #define SQL_CN_NONE             0x0000
104124201887SPedro Giffuni #define SQL_CN_DIFFERENT            0x0001
104224201887SPedro Giffuni #define SQL_CN_ANY              0x0002
1043cdf0e10cSrcweir 
104424201887SPedro Giffuni 
104524201887SPedro Giffuni /*
104624201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_ASSERTION
104724201887SPedro Giffuni  */
104824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
104924201887SPedro Giffuni #define SQL_CA_CREATE_ASSERTION         0x00000001L
105024201887SPedro Giffuni #define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED    0x00000010L
105124201887SPedro Giffuni #define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE   0x00000020L
105224201887SPedro Giffuni #define SQL_CA_CONSTRAINT_DEFERRABLE        0x00000040L
105324201887SPedro Giffuni #define SQL_CA_CONSTRAINT_NON_DEFERRABLE    0x00000080L
105424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
105524201887SPedro Giffuni 
105624201887SPedro Giffuni 
105724201887SPedro Giffuni /*
105824201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_CHARACTER_SET
105924201887SPedro Giffuni  */
106024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
106124201887SPedro Giffuni #define SQL_CCS_CREATE_CHARACTER_SET        0x00000001L
106224201887SPedro Giffuni #define SQL_CCS_COLLATE_CLAUSE          0x00000002L
106324201887SPedro Giffuni #define SQL_CCS_LIMITED_COLLATION       0x00000004L
106424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
106524201887SPedro Giffuni 
106624201887SPedro Giffuni 
106724201887SPedro Giffuni /*
106824201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_COLLATION
106924201887SPedro Giffuni  */
107024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
107124201887SPedro Giffuni #define SQL_CCOL_CREATE_COLLATION       0x00000001L
107224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
107324201887SPedro Giffuni 
107424201887SPedro Giffuni 
107524201887SPedro Giffuni /*
107624201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_DOMAIN
107724201887SPedro Giffuni  */
107824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
107924201887SPedro Giffuni #define SQL_CDO_CREATE_DOMAIN           0x00000001L
108024201887SPedro Giffuni #define SQL_CDO_DEFAULT             0x00000002L
108124201887SPedro Giffuni #define SQL_CDO_CONSTRAINT          0x00000004L
108224201887SPedro Giffuni #define SQL_CDO_COLLATION           0x00000008L
108324201887SPedro Giffuni #define SQL_CDO_CONSTRAINT_NAME_DEFINITION  0x00000010L
108424201887SPedro Giffuni #define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED   0x00000020L
108524201887SPedro Giffuni #define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE  0x00000040L
108624201887SPedro Giffuni #define SQL_CDO_CONSTRAINT_DEFERRABLE       0x00000080L
108724201887SPedro Giffuni #define SQL_CDO_CONSTRAINT_NON_DEFERRABLE   0x00000100L
108824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
108924201887SPedro Giffuni 
109024201887SPedro Giffuni 
109124201887SPedro Giffuni /*
109224201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_SCHEMA
109324201887SPedro Giffuni  */
109424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
109524201887SPedro Giffuni #define SQL_CS_CREATE_SCHEMA            0x00000001L
109624201887SPedro Giffuni #define SQL_CS_AUTHORIZATION            0x00000002L
109724201887SPedro Giffuni #define SQL_CS_DEFAULT_CHARACTER_SET        0x00000004L
109824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
109924201887SPedro Giffuni 
110024201887SPedro Giffuni 
110124201887SPedro Giffuni /*
110224201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_TABLE
110324201887SPedro Giffuni  */
110424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
110524201887SPedro Giffuni #define SQL_CT_CREATE_TABLE         0x00000001L
110624201887SPedro Giffuni #define SQL_CT_COMMIT_PRESERVE          0x00000002L
110724201887SPedro Giffuni #define SQL_CT_COMMIT_DELETE            0x00000004L
110824201887SPedro Giffuni #define SQL_CT_GLOBAL_TEMPORARY         0x00000008L
110924201887SPedro Giffuni #define SQL_CT_LOCAL_TEMPORARY          0x00000010L
111024201887SPedro Giffuni #define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED    0x00000020L
111124201887SPedro Giffuni #define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE   0x00000040L
111224201887SPedro Giffuni #define SQL_CT_CONSTRAINT_DEFERRABLE        0x00000080L
111324201887SPedro Giffuni #define SQL_CT_CONSTRAINT_NON_DEFERRABLE    0x00000100L
111424201887SPedro Giffuni #define SQL_CT_COLUMN_CONSTRAINT        0x00000200L
111524201887SPedro Giffuni #define SQL_CT_COLUMN_DEFAULT           0x00000400L
111624201887SPedro Giffuni #define SQL_CT_COLUMN_COLLATION         0x00000800L
111724201887SPedro Giffuni #define SQL_CT_TABLE_CONSTRAINT         0x00001000L
111824201887SPedro Giffuni #define SQL_CT_CONSTRAINT_NAME_DEFINITION   0x00002000L
111924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
112024201887SPedro Giffuni 
112124201887SPedro Giffuni 
112224201887SPedro Giffuni /*
112324201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_TRANSLATION
112424201887SPedro Giffuni  */
112524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
112624201887SPedro Giffuni #define SQL_CTR_CREATE_TRANSLATION      0x00000001L
112724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
112824201887SPedro Giffuni 
112924201887SPedro Giffuni 
113024201887SPedro Giffuni /*
113124201887SPedro Giffuni  *  SQLGetInfo - SQL_CREATE_VIEW
113224201887SPedro Giffuni  */
113324201887SPedro Giffuni #define SQL_CV_CREATE_VIEW          0x00000001L
113424201887SPedro Giffuni #define SQL_CV_CHECK_OPTION         0x00000002L
113524201887SPedro Giffuni #define SQL_CV_CASCADED             0x00000004L
113624201887SPedro Giffuni #define SQL_CV_LOCAL                0x00000008L
113724201887SPedro Giffuni 
113824201887SPedro Giffuni 
113924201887SPedro Giffuni /*
114024201887SPedro Giffuni  *  SQLGetInfo - SQL_DATETIME_LITERALS
114124201887SPedro Giffuni  */
114224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
114324201887SPedro Giffuni #define SQL_DL_SQL92_DATE           0x00000001L
114424201887SPedro Giffuni #define SQL_DL_SQL92_TIME           0x00000002L
114524201887SPedro Giffuni #define SQL_DL_SQL92_TIMESTAMP          0x00000004L
114624201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_YEAR      0x00000008L
114724201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_MONTH     0x00000010L
114824201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_DAY       0x00000020L
114924201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_HOUR      0x00000040L
115024201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_MINUTE        0x00000080L
115124201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_SECOND        0x00000100L
115224201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH 0x00000200L
115324201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR   0x00000400L
115424201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE 0x00000800L
115524201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND 0x00001000L
115624201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE    0x00002000L
115724201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND    0x00004000L
115824201887SPedro Giffuni #define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND  0x00008000L
115924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
116024201887SPedro Giffuni 
116124201887SPedro Giffuni 
116224201887SPedro Giffuni /*
116324201887SPedro Giffuni  *  SQLGetInfo - SQL_DDL_INDEX
116424201887SPedro Giffuni  */
116524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
116624201887SPedro Giffuni #define SQL_DI_CREATE_INDEX         0x00000001L
116724201887SPedro Giffuni #define SQL_DI_DROP_INDEX           0x00000002L
116824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
116924201887SPedro Giffuni 
117024201887SPedro Giffuni 
117124201887SPedro Giffuni /*
117224201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_ASSERTION
117324201887SPedro Giffuni  */
117424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
117524201887SPedro Giffuni #define SQL_DA_DROP_ASSERTION           0x00000001L
117624201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
117724201887SPedro Giffuni 
117824201887SPedro Giffuni 
117924201887SPedro Giffuni /*
118024201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_CHARACTER_SET
118124201887SPedro Giffuni  */
118224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
118324201887SPedro Giffuni #define SQL_DCS_DROP_CHARACTER_SET      0x00000001L
118424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
118524201887SPedro Giffuni 
118624201887SPedro Giffuni 
118724201887SPedro Giffuni /*
118824201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_COLLATION
118924201887SPedro Giffuni  */
119024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
119124201887SPedro Giffuni #define SQL_DC_DROP_COLLATION           0x00000001L
119224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
119324201887SPedro Giffuni 
119424201887SPedro Giffuni 
119524201887SPedro Giffuni /*
119624201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_DOMAIN
119724201887SPedro Giffuni  */
119824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
119924201887SPedro Giffuni #define SQL_DD_DROP_DOMAIN          0x00000001L
120024201887SPedro Giffuni #define SQL_DD_RESTRICT             0x00000002L
120124201887SPedro Giffuni #define SQL_DD_CASCADE              0x00000004L
120224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
120324201887SPedro Giffuni 
120424201887SPedro Giffuni 
120524201887SPedro Giffuni /*
120624201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_SCHEMA
120724201887SPedro Giffuni  */
120824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
120924201887SPedro Giffuni #define SQL_DS_DROP_SCHEMA          0x00000001L
121024201887SPedro Giffuni #define SQL_DS_RESTRICT             0x00000002L
121124201887SPedro Giffuni #define SQL_DS_CASCADE              0x00000004L
121224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
121324201887SPedro Giffuni 
121424201887SPedro Giffuni 
121524201887SPedro Giffuni /*
121624201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_TABLE
121724201887SPedro Giffuni  */
121824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
121924201887SPedro Giffuni #define SQL_DT_DROP_TABLE           0x00000001L
122024201887SPedro Giffuni #define SQL_DT_RESTRICT             0x00000002L
122124201887SPedro Giffuni #define SQL_DT_CASCADE              0x00000004L
122224201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
122324201887SPedro Giffuni 
122424201887SPedro Giffuni 
122524201887SPedro Giffuni /*
122624201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_TRANSLATION
122724201887SPedro Giffuni  */
122824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
122924201887SPedro Giffuni #define SQL_DTR_DROP_TRANSLATION        0x00000001L
123024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
123124201887SPedro Giffuni 
123224201887SPedro Giffuni 
123324201887SPedro Giffuni /*
123424201887SPedro Giffuni  *  SQLGetInfo - SQL_DROP_VIEW
123524201887SPedro Giffuni  */
123624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
123724201887SPedro Giffuni #define SQL_DV_DROP_VIEW            0x00000001L
123824201887SPedro Giffuni #define SQL_DV_RESTRICT             0x00000002L
123924201887SPedro Giffuni #define SQL_DV_CASCADE              0x00000004L
124024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
124124201887SPedro Giffuni 
124224201887SPedro Giffuni 
124324201887SPedro Giffuni /*
124424201887SPedro Giffuni  *  SQLGetInfo - SQL_DTC_TRANSITION_COST
124524201887SPedro Giffuni  */
124624201887SPedro Giffuni #define SQL_DTC_ENLIST_EXPENSIVE        0x00000001L
124724201887SPedro Giffuni #define SQL_DTC_UNENLIST_EXPENSIVE      0x00000002L
124824201887SPedro Giffuni 
124924201887SPedro Giffuni 
125024201887SPedro Giffuni /*
125124201887SPedro Giffuni  *  SQLGetInfo - SQL_DYNAMIC_CURSOR_ATTRIBUTES1
125224201887SPedro Giffuni  *  SQLGetInfo - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
125324201887SPedro Giffuni  *  SQLGetInfo - SQL_KEYSET_CURSOR_ATTRIBUTES1
125424201887SPedro Giffuni  *  SQLGetInfo - SQL_STATIC_CURSOR_ATTRIBUTES1
125524201887SPedro Giffuni  */
125624201887SPedro Giffuni /*
125724201887SPedro Giffuni  *  SQLFetchScroll - FetchOrientation
125824201887SPedro Giffuni  */
125924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
126024201887SPedro Giffuni #define SQL_CA1_NEXT                0x00000001L
126124201887SPedro Giffuni #define SQL_CA1_ABSOLUTE            0x00000002L
126224201887SPedro Giffuni #define SQL_CA1_RELATIVE            0x00000004L
126324201887SPedro Giffuni #define SQL_CA1_BOOKMARK            0x00000008L
126424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
126524201887SPedro Giffuni 
126624201887SPedro Giffuni 
126724201887SPedro Giffuni /*
126824201887SPedro Giffuni  *  SQLSetPos - LockType
126924201887SPedro Giffuni  */
127024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
127124201887SPedro Giffuni #define SQL_CA1_LOCK_NO_CHANGE          0x00000040L
127224201887SPedro Giffuni #define SQL_CA1_LOCK_EXCLUSIVE          0x00000080L
127324201887SPedro Giffuni #define SQL_CA1_LOCK_UNLOCK         0x00000100L
127424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
127524201887SPedro Giffuni 
127624201887SPedro Giffuni 
127724201887SPedro Giffuni /*
127824201887SPedro Giffuni  *  SQLSetPos Operations
127924201887SPedro Giffuni  */
128024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
128124201887SPedro Giffuni #define SQL_CA1_POS_POSITION            0x00000200L
128224201887SPedro Giffuni #define SQL_CA1_POS_UPDATE          0x00000400L
128324201887SPedro Giffuni #define SQL_CA1_POS_DELETE          0x00000800L
128424201887SPedro Giffuni #define SQL_CA1_POS_REFRESH         0x00001000L
128524201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
128624201887SPedro Giffuni 
128724201887SPedro Giffuni 
128824201887SPedro Giffuni /*
128924201887SPedro Giffuni  *  positioned updates and deletes
129024201887SPedro Giffuni  */
129124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
129224201887SPedro Giffuni #define SQL_CA1_POSITIONED_UPDATE       0x00002000L
129324201887SPedro Giffuni #define SQL_CA1_POSITIONED_DELETE       0x00004000L
129424201887SPedro Giffuni #define SQL_CA1_SELECT_FOR_UPDATE       0x00008000L
129524201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
129624201887SPedro Giffuni 
129724201887SPedro Giffuni 
129824201887SPedro Giffuni /*
129924201887SPedro Giffuni  *  SQLBulkOperations operations
130024201887SPedro Giffuni  */
130124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
130224201887SPedro Giffuni #define SQL_CA1_BULK_ADD            0x00010000L
130324201887SPedro Giffuni #define SQL_CA1_BULK_UPDATE_BY_BOOKMARK     0x00020000L
130424201887SPedro Giffuni #define SQL_CA1_BULK_DELETE_BY_BOOKMARK     0x00040000L
130524201887SPedro Giffuni #define SQL_CA1_BULK_FETCH_BY_BOOKMARK      0x00080000L
130624201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
130724201887SPedro Giffuni 
130824201887SPedro Giffuni 
130924201887SPedro Giffuni /*
131024201887SPedro Giffuni  *  SQLGetInfo - SQL_DYNAMIC_CURSOR_ATTRIBUTES2
131124201887SPedro Giffuni  *  SQLGetInfo - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
131224201887SPedro Giffuni  *  SQLGetInfo - SQL_KEYSET_CURSOR_ATTRIBUTES2
131324201887SPedro Giffuni  *  SQLGetInfo - SQL_STATIC_CURSOR_ATTRIBUTES2
131424201887SPedro Giffuni  */
131524201887SPedro Giffuni /*
131624201887SPedro Giffuni  *  SQL_ATTR_SCROLL_CONCURRENCY
131724201887SPedro Giffuni  */
131824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
131924201887SPedro Giffuni #define SQL_CA2_READ_ONLY_CONCURRENCY       0x00000001L
132024201887SPedro Giffuni #define SQL_CA2_LOCK_CONCURRENCY        0x00000002L
132124201887SPedro Giffuni #define SQL_CA2_OPT_ROWVER_CONCURRENCY      0x00000004L
132224201887SPedro Giffuni #define SQL_CA2_OPT_VALUES_CONCURRENCY      0x00000008L
132324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
132424201887SPedro Giffuni 
132524201887SPedro Giffuni 
132624201887SPedro Giffuni /*
132724201887SPedro Giffuni  *  sensitivity of the cursor to its own inserts, deletes, and updates
132824201887SPedro Giffuni  */
132924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
133024201887SPedro Giffuni #define SQL_CA2_SENSITIVITY_ADDITIONS       0x00000010L
133124201887SPedro Giffuni #define SQL_CA2_SENSITIVITY_DELETIONS       0x00000020L
133224201887SPedro Giffuni #define SQL_CA2_SENSITIVITY_UPDATES     0x00000040L
133324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
133424201887SPedro Giffuni 
133524201887SPedro Giffuni 
133624201887SPedro Giffuni /*
133724201887SPedro Giffuni  *  SQL_ATTR_MAX_ROWS
133824201887SPedro Giffuni  */
133924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
134024201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_SELECT         0x00000080L
134124201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_INSERT         0x00000100L
134224201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_DELETE         0x00000200L
134324201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_UPDATE         0x00000400L
134424201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_CATALOG        0x00000800L
134524201887SPedro Giffuni #define SQL_CA2_MAX_ROWS_AFFECTS_ALL        (SQL_CA2_MAX_ROWS_SELECT | \
134624201887SPedro Giffuni                          SQL_CA2_MAX_ROWS_INSERT | \
134724201887SPedro Giffuni                          SQL_CA2_MAX_ROWS_DELETE | \
134824201887SPedro Giffuni                          SQL_CA2_MAX_ROWS_UPDATE | \
134924201887SPedro Giffuni                          SQL_CA2_MAX_ROWS_CATALOG)
135024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
135124201887SPedro Giffuni 
135224201887SPedro Giffuni 
135324201887SPedro Giffuni /*
135424201887SPedro Giffuni  *  SQL_DIAG_CURSOR_ROW_COUNT
135524201887SPedro Giffuni  */
135624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
135724201887SPedro Giffuni #define SQL_CA2_CRC_EXACT           0x00001000L
135824201887SPedro Giffuni #define SQL_CA2_CRC_APPROXIMATE         0x00002000L
135924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
136024201887SPedro Giffuni 
136124201887SPedro Giffuni 
136224201887SPedro Giffuni /*
136324201887SPedro Giffuni  *  the kinds of positioned statements that can be simulated
136424201887SPedro Giffuni  */
136524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
136624201887SPedro Giffuni #define SQL_CA2_SIMULATE_NON_UNIQUE     0x00004000L
136724201887SPedro Giffuni #define SQL_CA2_SIMULATE_TRY_UNIQUE     0x00008000L
136824201887SPedro Giffuni #define SQL_CA2_SIMULATE_UNIQUE         0x00010000L
136924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
137024201887SPedro Giffuni 
137124201887SPedro Giffuni 
137224201887SPedro Giffuni /*
137324201887SPedro Giffuni  *  SQLGetInfo - SQL_FETCH_DIRECTION
137424201887SPedro Giffuni  */
137524201887SPedro Giffuni #if (ODBCVER < 0x0300)
137624201887SPedro Giffuni #define SQL_FD_FETCH_RESUME         0x00000040L
137724201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
137824201887SPedro Giffuni #define SQL_FD_FETCH_BOOKMARK           0x00000080L
137924201887SPedro Giffuni 
138024201887SPedro Giffuni 
138124201887SPedro Giffuni /*
138224201887SPedro Giffuni  *  SQLGetInfo - SQL_FILE_USAGE
138324201887SPedro Giffuni  */
138424201887SPedro Giffuni #define SQL_FILE_NOT_SUPPORTED          0x0000
138524201887SPedro Giffuni #define SQL_FILE_TABLE              0x0001
138624201887SPedro Giffuni #define SQL_FILE_QUALIFIER          0x0002
138724201887SPedro Giffuni #define SQL_FILE_CATALOG            SQL_FILE_QUALIFIER
138824201887SPedro Giffuni 
138924201887SPedro Giffuni 
139024201887SPedro Giffuni /*
139124201887SPedro Giffuni  *  SQLGetInfo - SQL_GETDATA_EXTENSIONS
139224201887SPedro Giffuni  */
139324201887SPedro Giffuni #define SQL_GD_BLOCK                0x00000004L
139424201887SPedro Giffuni #define SQL_GD_BOUND                0x00000008L
139524201887SPedro Giffuni 
139624201887SPedro Giffuni 
139724201887SPedro Giffuni /*
139824201887SPedro Giffuni  *  SQLGetInfo - SQL_GROUP_BY
139924201887SPedro Giffuni  */
140024201887SPedro Giffuni #define SQL_GB_NOT_SUPPORTED            0x0000
140124201887SPedro Giffuni #define SQL_GB_GROUP_BY_EQUALS_SELECT       0x0001
140224201887SPedro Giffuni #define SQL_GB_GROUP_BY_CONTAINS_SELECT     0x0002
140324201887SPedro Giffuni #define SQL_GB_NO_RELATION          0x0003
140424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
140524201887SPedro Giffuni #define SQL_GB_COLLATE              0x0004
140624201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
140724201887SPedro Giffuni 
140824201887SPedro Giffuni 
140924201887SPedro Giffuni /*
141024201887SPedro Giffuni  *  SQLGetInfo - SQL_INDEX_KEYWORDS
141124201887SPedro Giffuni  */
141224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
141324201887SPedro Giffuni #define SQL_IK_NONE             0x00000000L
141424201887SPedro Giffuni #define SQL_IK_ASC              0x00000001L
141524201887SPedro Giffuni #define SQL_IK_DESC             0x00000002L
141624201887SPedro Giffuni #define SQL_IK_ALL              (SQL_IK_ASC | SQL_IK_DESC)
141724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
141824201887SPedro Giffuni 
141924201887SPedro Giffuni 
142024201887SPedro Giffuni /*
142124201887SPedro Giffuni  *  SQLGetInfo - SQL_INFO_SCHEMA_VIEWS
142224201887SPedro Giffuni  */
142324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
142424201887SPedro Giffuni #define SQL_ISV_ASSERTIONS          0x00000001L
142524201887SPedro Giffuni #define SQL_ISV_CHARACTER_SETS          0x00000002L
142624201887SPedro Giffuni #define SQL_ISV_CHECK_CONSTRAINTS       0x00000004L
142724201887SPedro Giffuni #define SQL_ISV_COLLATIONS          0x00000008L
142824201887SPedro Giffuni #define SQL_ISV_COLUMN_DOMAIN_USAGE     0x00000010L
142924201887SPedro Giffuni #define SQL_ISV_COLUMN_PRIVILEGES       0x00000020L
143024201887SPedro Giffuni #define SQL_ISV_COLUMNS             0x00000040L
143124201887SPedro Giffuni #define SQL_ISV_CONSTRAINT_COLUMN_USAGE     0x00000080L
143224201887SPedro Giffuni #define SQL_ISV_CONSTRAINT_TABLE_USAGE      0x00000100L
143324201887SPedro Giffuni #define SQL_ISV_DOMAIN_CONSTRAINTS      0x00000200L
143424201887SPedro Giffuni #define SQL_ISV_DOMAINS             0x00000400L
143524201887SPedro Giffuni #define SQL_ISV_KEY_COLUMN_USAGE        0x00000800L
143624201887SPedro Giffuni #define SQL_ISV_REFERENTIAL_CONSTRAINTS     0x00001000L
143724201887SPedro Giffuni #define SQL_ISV_SCHEMATA            0x00002000L
143824201887SPedro Giffuni #define SQL_ISV_SQL_LANGUAGES           0x00004000L
143924201887SPedro Giffuni #define SQL_ISV_TABLE_CONSTRAINTS       0x00008000L
144024201887SPedro Giffuni #define SQL_ISV_TABLE_PRIVILEGES        0x00010000L
144124201887SPedro Giffuni #define SQL_ISV_TABLES              0x00020000L
144224201887SPedro Giffuni #define SQL_ISV_TRANSLATIONS            0x00040000L
144324201887SPedro Giffuni #define SQL_ISV_USAGE_PRIVILEGES        0x00080000L
144424201887SPedro Giffuni #define SQL_ISV_VIEW_COLUMN_USAGE       0x00100000L
144524201887SPedro Giffuni #define SQL_ISV_VIEW_TABLE_USAGE        0x00200000L
144624201887SPedro Giffuni #define SQL_ISV_VIEWS               0x00400000L
144724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
144824201887SPedro Giffuni 
144924201887SPedro Giffuni 
145024201887SPedro Giffuni /*
145124201887SPedro Giffuni  *  SQLGetInfo - SQL_INSERT_STATEMENT
145224201887SPedro Giffuni  */
145324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
145424201887SPedro Giffuni #define SQL_IS_INSERT_LITERALS          0x00000001L
145524201887SPedro Giffuni #define SQL_IS_INSERT_SEARCHED          0x00000002L
145624201887SPedro Giffuni #define SQL_IS_SELECT_INTO          0x00000004L
145724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
145824201887SPedro Giffuni 
145924201887SPedro Giffuni 
146024201887SPedro Giffuni /*
146124201887SPedro Giffuni  *  SQLGetInfo - SQL_LOCK_TYPES
146224201887SPedro Giffuni  */
146324201887SPedro Giffuni #define SQL_LCK_NO_CHANGE           0x00000001L
146424201887SPedro Giffuni #define SQL_LCK_EXCLUSIVE           0x00000002L
146524201887SPedro Giffuni #define SQL_LCK_UNLOCK              0x00000004L
146624201887SPedro Giffuni 
146724201887SPedro Giffuni 
146824201887SPedro Giffuni /*
146924201887SPedro Giffuni  *  SQLGetInfo - SQL_POS_OPERATIONS
147024201887SPedro Giffuni  */
147124201887SPedro Giffuni #define SQL_POS_POSITION            0x00000001L
147224201887SPedro Giffuni #define SQL_POS_REFRESH             0x00000002L
147324201887SPedro Giffuni #define SQL_POS_UPDATE              0x00000004L
147424201887SPedro Giffuni #define SQL_POS_DELETE              0x00000008L
147524201887SPedro Giffuni #define SQL_POS_ADD             0x00000010L
147624201887SPedro Giffuni 
147724201887SPedro Giffuni 
147824201887SPedro Giffuni /*
147924201887SPedro Giffuni  *  SQLGetInfo - SQL_NON_NULLABLE_COLUMNS
148024201887SPedro Giffuni  */
148124201887SPedro Giffuni #define SQL_NNC_NULL                0x0000
148224201887SPedro Giffuni #define SQL_NNC_NON_NULL            0x0001
148324201887SPedro Giffuni 
148424201887SPedro Giffuni 
148524201887SPedro Giffuni /*
148624201887SPedro Giffuni  *  SQLGetInfo - SQL_NULL_COLLATION
148724201887SPedro Giffuni  */
148824201887SPedro Giffuni #define SQL_NC_START                0x0002
148924201887SPedro Giffuni #define SQL_NC_END              0x0004
149024201887SPedro Giffuni 
149124201887SPedro Giffuni 
149224201887SPedro Giffuni /*
149324201887SPedro Giffuni  *  SQLGetInfo - SQL_NUMERIC_FUNCTIONS
149424201887SPedro Giffuni  */
149524201887SPedro Giffuni #define SQL_FN_NUM_ABS              0x00000001L
149624201887SPedro Giffuni #define SQL_FN_NUM_ACOS             0x00000002L
149724201887SPedro Giffuni #define SQL_FN_NUM_ASIN             0x00000004L
149824201887SPedro Giffuni #define SQL_FN_NUM_ATAN             0x00000008L
149924201887SPedro Giffuni #define SQL_FN_NUM_ATAN2            0x00000010L
150024201887SPedro Giffuni #define SQL_FN_NUM_CEILING          0x00000020L
150124201887SPedro Giffuni #define SQL_FN_NUM_COS              0x00000040L
150224201887SPedro Giffuni #define SQL_FN_NUM_COT              0x00000080L
150324201887SPedro Giffuni #define SQL_FN_NUM_EXP              0x00000100L
150424201887SPedro Giffuni #define SQL_FN_NUM_FLOOR            0x00000200L
150524201887SPedro Giffuni #define SQL_FN_NUM_LOG              0x00000400L
150624201887SPedro Giffuni #define SQL_FN_NUM_MOD              0x00000800L
150724201887SPedro Giffuni #define SQL_FN_NUM_SIGN             0x00001000L
150824201887SPedro Giffuni #define SQL_FN_NUM_SIN              0x00002000L
150924201887SPedro Giffuni #define SQL_FN_NUM_SQRT             0x00004000L
151024201887SPedro Giffuni #define SQL_FN_NUM_TAN              0x00008000L
151124201887SPedro Giffuni #define SQL_FN_NUM_PI               0x00010000L
151224201887SPedro Giffuni #define SQL_FN_NUM_RAND             0x00020000L
151324201887SPedro Giffuni #define SQL_FN_NUM_DEGREES          0x00040000L
151424201887SPedro Giffuni #define SQL_FN_NUM_LOG10            0x00080000L
151524201887SPedro Giffuni #define SQL_FN_NUM_POWER            0x00100000L
151624201887SPedro Giffuni #define SQL_FN_NUM_RADIANS          0x00200000L
151724201887SPedro Giffuni #define SQL_FN_NUM_ROUND            0x00400000L
151824201887SPedro Giffuni #define SQL_FN_NUM_TRUNCATE         0x00800000L
151924201887SPedro Giffuni 
152024201887SPedro Giffuni 
152124201887SPedro Giffuni /*
152224201887SPedro Giffuni  *  SQLGetInfo - SQL_ODBC_API_CONFORMANCE
152324201887SPedro Giffuni  */
152424201887SPedro Giffuni #define SQL_OAC_NONE                0x0000
152524201887SPedro Giffuni #define SQL_OAC_LEVEL1              0x0001
152624201887SPedro Giffuni #define SQL_OAC_LEVEL2              0x0002
152724201887SPedro Giffuni 
152824201887SPedro Giffuni 
152924201887SPedro Giffuni /*
153024201887SPedro Giffuni  *  SQLGetInfo - SQL_ODBC_INTERFACE_CONFORMANCE
153124201887SPedro Giffuni  */
153224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
153324201887SPedro Giffuni #define SQL_OIC_CORE                1UL
153424201887SPedro Giffuni #define SQL_OIC_LEVEL1              2UL
153524201887SPedro Giffuni #define SQL_OIC_LEVEL2              3UL
153624201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
153724201887SPedro Giffuni 
153824201887SPedro Giffuni 
153924201887SPedro Giffuni /*
154024201887SPedro Giffuni  *  SQLGetInfo - SQL_ODBC_SAG_CLI_CONFORMANCE
154124201887SPedro Giffuni  */
154224201887SPedro Giffuni #define SQL_OSCC_NOT_COMPLIANT          0x0000
154324201887SPedro Giffuni #define SQL_OSCC_COMPLIANT          0x0001
154424201887SPedro Giffuni 
154524201887SPedro Giffuni 
154624201887SPedro Giffuni /*
154724201887SPedro Giffuni  *  SQLGetInfo - SQL_ODBC_SQL_CONFORMANCE
154824201887SPedro Giffuni  */
154924201887SPedro Giffuni #define SQL_OSC_MINIMUM             0x0000
155024201887SPedro Giffuni #define SQL_OSC_CORE                0x0001
155124201887SPedro Giffuni #define SQL_OSC_EXTENDED            0x0002
155224201887SPedro Giffuni 
155324201887SPedro Giffuni 
155424201887SPedro Giffuni /*
155524201887SPedro Giffuni  *  SQLGetInfo - SQL_OWNER_USAGE
155624201887SPedro Giffuni  */
155724201887SPedro Giffuni #define SQL_OU_DML_STATEMENTS           0x00000001L
155824201887SPedro Giffuni #define SQL_OU_PROCEDURE_INVOCATION     0x00000002L
155924201887SPedro Giffuni #define SQL_OU_TABLE_DEFINITION         0x00000004L
156024201887SPedro Giffuni #define SQL_OU_INDEX_DEFINITION         0x00000008L
156124201887SPedro Giffuni #define SQL_OU_PRIVILEGE_DEFINITION     0x00000010L
156224201887SPedro Giffuni 
156324201887SPedro Giffuni 
156424201887SPedro Giffuni /*
156524201887SPedro Giffuni  *  SQLGetInfo - SQL_PARAM_ARRAY_ROW_COUNTS
156624201887SPedro Giffuni  */
156724201887SPedro Giffuni #if (ODBCVER >= 0x0300)
156824201887SPedro Giffuni #define SQL_PARC_BATCH              1
156924201887SPedro Giffuni #define SQL_PARC_NO_BATCH           2
157024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
157124201887SPedro Giffuni 
157224201887SPedro Giffuni 
157324201887SPedro Giffuni /*
157424201887SPedro Giffuni  *  SQLGetInfo - SQL_PARAM_ARRAY_SELECTS
157524201887SPedro Giffuni  */
157624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
157724201887SPedro Giffuni #define SQL_PAS_BATCH               1
157824201887SPedro Giffuni #define SQL_PAS_NO_BATCH            2
157924201887SPedro Giffuni #define SQL_PAS_NO_SELECT           3
158024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
158124201887SPedro Giffuni 
158224201887SPedro Giffuni 
158324201887SPedro Giffuni /*
158424201887SPedro Giffuni  *  SQLGetInfo - SQL_POSITIONED_STATEMENTS
158524201887SPedro Giffuni  */
158624201887SPedro Giffuni #define SQL_PS_POSITIONED_DELETE        0x00000001L
158724201887SPedro Giffuni #define SQL_PS_POSITIONED_UPDATE        0x00000002L
158824201887SPedro Giffuni #define SQL_PS_SELECT_FOR_UPDATE        0x00000004L
158924201887SPedro Giffuni 
159024201887SPedro Giffuni 
159124201887SPedro Giffuni /*
159224201887SPedro Giffuni  *  SQLGetInfo - SQL_QUALIFIER_LOCATION
159324201887SPedro Giffuni  */
159424201887SPedro Giffuni #define SQL_QL_START                0x0001
159524201887SPedro Giffuni #define SQL_QL_END              0x0002
159624201887SPedro Giffuni 
159724201887SPedro Giffuni 
159824201887SPedro Giffuni /*
159924201887SPedro Giffuni  *  SQLGetInfo - SQL_QUALIFIER_USAGE
160024201887SPedro Giffuni  */
160124201887SPedro Giffuni #define SQL_QU_DML_STATEMENTS           0x00000001L
160224201887SPedro Giffuni #define SQL_QU_PROCEDURE_INVOCATION     0x00000002L
160324201887SPedro Giffuni #define SQL_QU_TABLE_DEFINITION         0x00000004L
160424201887SPedro Giffuni #define SQL_QU_INDEX_DEFINITION         0x00000008L
160524201887SPedro Giffuni #define SQL_QU_PRIVILEGE_DEFINITION     0x00000010L
160624201887SPedro Giffuni 
160724201887SPedro Giffuni 
160824201887SPedro Giffuni /*
160924201887SPedro Giffuni  *  SQLGetInfo - SQL_SCHEMA_USAGE
161024201887SPedro Giffuni  */
161124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
161224201887SPedro Giffuni #define SQL_SU_DML_STATEMENTS           SQL_OU_DML_STATEMENTS
161324201887SPedro Giffuni #define SQL_SU_PROCEDURE_INVOCATION     SQL_OU_PROCEDURE_INVOCATION
161424201887SPedro Giffuni #define SQL_SU_TABLE_DEFINITION         SQL_OU_TABLE_DEFINITION
161524201887SPedro Giffuni #define SQL_SU_INDEX_DEFINITION         SQL_OU_INDEX_DEFINITION
161624201887SPedro Giffuni #define SQL_SU_PRIVILEGE_DEFINITION     SQL_OU_PRIVILEGE_DEFINITION
161724201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
161824201887SPedro Giffuni 
161924201887SPedro Giffuni 
162024201887SPedro Giffuni /*
162124201887SPedro Giffuni  *  SQLGetInfo - SQL_SCROLL_OPTIONS
162224201887SPedro Giffuni  */
162324201887SPedro Giffuni #define SQL_SO_FORWARD_ONLY         0x00000001L
162424201887SPedro Giffuni #define SQL_SO_KEYSET_DRIVEN            0x00000002L
162524201887SPedro Giffuni #define SQL_SO_DYNAMIC              0x00000004L
162624201887SPedro Giffuni #define SQL_SO_MIXED                0x00000008L
162724201887SPedro Giffuni #define SQL_SO_STATIC               0x00000010L
162824201887SPedro Giffuni 
162924201887SPedro Giffuni 
163024201887SPedro Giffuni /*
163124201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL_CONFORMANCE
163224201887SPedro Giffuni  */
163324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
163424201887SPedro Giffuni #define SQL_SC_SQL92_ENTRY          0x00000001L
163524201887SPedro Giffuni #define SQL_SC_FIPS127_2_TRANSITIONAL       0x00000002L
163624201887SPedro Giffuni #define SQL_SC_SQL92_INTERMEDIATE       0x00000004L
163724201887SPedro Giffuni #define SQL_SC_SQL92_FULL           0x00000008L
163824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
163924201887SPedro Giffuni 
164024201887SPedro Giffuni 
164124201887SPedro Giffuni /*
164224201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_DATETIME_FUNCTIONS
164324201887SPedro Giffuni  */
164424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
164524201887SPedro Giffuni #define SQL_SDF_CURRENT_DATE            0x00000001L
164624201887SPedro Giffuni #define SQL_SDF_CURRENT_TIME            0x00000002L
164724201887SPedro Giffuni #define SQL_SDF_CURRENT_TIMESTAMP       0x00000004L
164824201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
164924201887SPedro Giffuni 
165024201887SPedro Giffuni 
165124201887SPedro Giffuni /*
165224201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_FOREIGN_KEY_DELETE_RULE
165324201887SPedro Giffuni  */
165424201887SPedro Giffuni #if (ODBCVER >= 0x0300)
165524201887SPedro Giffuni #define SQL_SFKD_CASCADE            0x00000001L
165624201887SPedro Giffuni #define SQL_SFKD_NO_ACTION          0x00000002L
165724201887SPedro Giffuni #define SQL_SFKD_SET_DEFAULT            0x00000004L
165824201887SPedro Giffuni #define SQL_SFKD_SET_NULL           0x00000008L
165924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
166024201887SPedro Giffuni 
166124201887SPedro Giffuni 
166224201887SPedro Giffuni /*
166324201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_FOREIGN_KEY_UPDATE_RULE
166424201887SPedro Giffuni  */
166524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
166624201887SPedro Giffuni #define SQL_SFKU_CASCADE            0x00000001L
166724201887SPedro Giffuni #define SQL_SFKU_NO_ACTION          0x00000002L
166824201887SPedro Giffuni #define SQL_SFKU_SET_DEFAULT            0x00000004L
166924201887SPedro Giffuni #define SQL_SFKU_SET_NULL           0x00000008L
167024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
167124201887SPedro Giffuni 
167224201887SPedro Giffuni 
167324201887SPedro Giffuni /*
167424201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_GRANT
167524201887SPedro Giffuni  */
167624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
167724201887SPedro Giffuni #define SQL_SG_USAGE_ON_DOMAIN          0x00000001L
167824201887SPedro Giffuni #define SQL_SG_USAGE_ON_CHARACTER_SET       0x00000002L
167924201887SPedro Giffuni #define SQL_SG_USAGE_ON_COLLATION       0x00000004L
168024201887SPedro Giffuni #define SQL_SG_USAGE_ON_TRANSLATION     0x00000008L
168124201887SPedro Giffuni #define SQL_SG_WITH_GRANT_OPTION        0x00000010L
168224201887SPedro Giffuni #define SQL_SG_DELETE_TABLE         0x00000020L
168324201887SPedro Giffuni #define SQL_SG_INSERT_TABLE         0x00000040L
168424201887SPedro Giffuni #define SQL_SG_INSERT_COLUMN            0x00000080L
168524201887SPedro Giffuni #define SQL_SG_REFERENCES_TABLE         0x00000100L
168624201887SPedro Giffuni #define SQL_SG_REFERENCES_COLUMN        0x00000200L
168724201887SPedro Giffuni #define SQL_SG_SELECT_TABLE         0x00000400L
168824201887SPedro Giffuni #define SQL_SG_UPDATE_TABLE         0x00000800L
168924201887SPedro Giffuni #define SQL_SG_UPDATE_COLUMN            0x00001000L
169024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
169124201887SPedro Giffuni 
169224201887SPedro Giffuni 
169324201887SPedro Giffuni /*
169424201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_NUMERIC_VALUE_FUNCTIONS
169524201887SPedro Giffuni  */
169624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
169724201887SPedro Giffuni #define SQL_SNVF_BIT_LENGTH         0x00000001L
169824201887SPedro Giffuni #define SQL_SNVF_CHAR_LENGTH            0x00000002L
169924201887SPedro Giffuni #define SQL_SNVF_CHARACTER_LENGTH       0x00000004L
170024201887SPedro Giffuni #define SQL_SNVF_EXTRACT            0x00000008L
170124201887SPedro Giffuni #define SQL_SNVF_OCTET_LENGTH           0x00000010L
170224201887SPedro Giffuni #define SQL_SNVF_POSITION           0x00000020L
170324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
170424201887SPedro Giffuni 
170524201887SPedro Giffuni 
170624201887SPedro Giffuni /*
170724201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_PREDICATES
170824201887SPedro Giffuni  */
170924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
171024201887SPedro Giffuni #define SQL_SP_EXISTS               0x00000001L
171124201887SPedro Giffuni #define SQL_SP_ISNOTNULL            0x00000002L
171224201887SPedro Giffuni #define SQL_SP_ISNULL               0x00000004L
171324201887SPedro Giffuni #define SQL_SP_MATCH_FULL           0x00000008L
171424201887SPedro Giffuni #define SQL_SP_MATCH_PARTIAL            0x00000010L
171524201887SPedro Giffuni #define SQL_SP_MATCH_UNIQUE_FULL        0x00000020L
171624201887SPedro Giffuni #define SQL_SP_MATCH_UNIQUE_PARTIAL     0x00000040L
171724201887SPedro Giffuni #define SQL_SP_OVERLAPS             0x00000080L
171824201887SPedro Giffuni #define SQL_SP_UNIQUE               0x00000100L
171924201887SPedro Giffuni #define SQL_SP_LIKE             0x00000200L
172024201887SPedro Giffuni #define SQL_SP_IN               0x00000400L
172124201887SPedro Giffuni #define SQL_SP_BETWEEN              0x00000800L
172224201887SPedro Giffuni #define SQL_SP_COMPARISON           0x00001000L
172324201887SPedro Giffuni #define SQL_SP_QUANTIFIED_COMPARISON        0x00002000L
172424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
172524201887SPedro Giffuni 
172624201887SPedro Giffuni 
172724201887SPedro Giffuni /*
172824201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_RELATIONAL_JOIN_OPERATORS
172924201887SPedro Giffuni  */
173024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
173124201887SPedro Giffuni #define SQL_SRJO_CORRESPONDING_CLAUSE       0x00000001L
173224201887SPedro Giffuni #define SQL_SRJO_CROSS_JOIN         0x00000002L
173324201887SPedro Giffuni #define SQL_SRJO_EXCEPT_JOIN            0x00000004L
173424201887SPedro Giffuni #define SQL_SRJO_FULL_OUTER_JOIN        0x00000008L
173524201887SPedro Giffuni #define SQL_SRJO_INNER_JOIN         0x00000010L
173624201887SPedro Giffuni #define SQL_SRJO_INTERSECT_JOIN         0x00000020L
173724201887SPedro Giffuni #define SQL_SRJO_LEFT_OUTER_JOIN        0x00000040L
173824201887SPedro Giffuni #define SQL_SRJO_NATURAL_JOIN           0x00000080L
173924201887SPedro Giffuni #define SQL_SRJO_RIGHT_OUTER_JOIN       0x00000100L
174024201887SPedro Giffuni #define SQL_SRJO_UNION_JOIN         0x00000200L
174124201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
174224201887SPedro Giffuni 
174324201887SPedro Giffuni 
174424201887SPedro Giffuni /*
174524201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_REVOKE
174624201887SPedro Giffuni  */
174724201887SPedro Giffuni #if (ODBCVER >= 0x0300)
174824201887SPedro Giffuni #define SQL_SR_USAGE_ON_DOMAIN          0x00000001L
174924201887SPedro Giffuni #define SQL_SR_USAGE_ON_CHARACTER_SET       0x00000002L
175024201887SPedro Giffuni #define SQL_SR_USAGE_ON_COLLATION       0x00000004L
175124201887SPedro Giffuni #define SQL_SR_USAGE_ON_TRANSLATION     0x00000008L
175224201887SPedro Giffuni #define SQL_SR_GRANT_OPTION_FOR         0x00000010L
175324201887SPedro Giffuni #define SQL_SR_CASCADE              0x00000020L
175424201887SPedro Giffuni #define SQL_SR_RESTRICT             0x00000040L
175524201887SPedro Giffuni #define SQL_SR_DELETE_TABLE         0x00000080L
175624201887SPedro Giffuni #define SQL_SR_INSERT_TABLE         0x00000100L
175724201887SPedro Giffuni #define SQL_SR_INSERT_COLUMN            0x00000200L
175824201887SPedro Giffuni #define SQL_SR_REFERENCES_TABLE         0x00000400L
175924201887SPedro Giffuni #define SQL_SR_REFERENCES_COLUMN        0x00000800L
176024201887SPedro Giffuni #define SQL_SR_SELECT_TABLE         0x00001000L
176124201887SPedro Giffuni #define SQL_SR_UPDATE_TABLE         0x00002000L
176224201887SPedro Giffuni #define SQL_SR_UPDATE_COLUMN            0x00004000L
176324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
176424201887SPedro Giffuni 
176524201887SPedro Giffuni 
176624201887SPedro Giffuni /*
176724201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_ROW_VALUE_CONSTRUCTOR
176824201887SPedro Giffuni  */
176924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
177024201887SPedro Giffuni #define SQL_SRVC_VALUE_EXPRESSION       0x00000001L
177124201887SPedro Giffuni #define SQL_SRVC_NULL               0x00000002L
177224201887SPedro Giffuni #define SQL_SRVC_DEFAULT            0x00000004L
177324201887SPedro Giffuni #define SQL_SRVC_ROW_SUBQUERY           0x00000008L
177424201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
177524201887SPedro Giffuni 
177624201887SPedro Giffuni 
177724201887SPedro Giffuni /*
177824201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_STRING_FUNCTIONS
177924201887SPedro Giffuni  */
178024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
178124201887SPedro Giffuni #define SQL_SSF_CONVERT             0x00000001L
178224201887SPedro Giffuni #define SQL_SSF_LOWER               0x00000002L
178324201887SPedro Giffuni #define SQL_SSF_UPPER               0x00000004L
178424201887SPedro Giffuni #define SQL_SSF_SUBSTRING           0x00000008L
178524201887SPedro Giffuni #define SQL_SSF_TRANSLATE           0x00000010L
178624201887SPedro Giffuni #define SQL_SSF_TRIM_BOTH           0x00000020L
178724201887SPedro Giffuni #define SQL_SSF_TRIM_LEADING            0x00000040L
178824201887SPedro Giffuni #define SQL_SSF_TRIM_TRAILING           0x00000080L
178924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
179024201887SPedro Giffuni 
179124201887SPedro Giffuni 
179224201887SPedro Giffuni /*
179324201887SPedro Giffuni  *  SQLGetInfo - SQL_SQL92_VALUE_EXPRESSIONS
179424201887SPedro Giffuni  */
179524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
179624201887SPedro Giffuni #define SQL_SVE_CASE                0x00000001L
179724201887SPedro Giffuni #define SQL_SVE_CAST                0x00000002L
179824201887SPedro Giffuni #define SQL_SVE_COALESCE            0x00000004L
179924201887SPedro Giffuni #define SQL_SVE_NULLIF              0x00000008L
180024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
180124201887SPedro Giffuni 
180224201887SPedro Giffuni 
180324201887SPedro Giffuni /*
180424201887SPedro Giffuni  *  SQLGetInfo - SQL_STANDARD_CLI_CONFORMANCE
180524201887SPedro Giffuni  */
180624201887SPedro Giffuni #if (ODBCVER >= 0x0300)
180724201887SPedro Giffuni #define SQL_SCC_XOPEN_CLI_VERSION1      0x00000001L
180824201887SPedro Giffuni #define SQL_SCC_ISO92_CLI           0x00000002L
180924201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
181024201887SPedro Giffuni 
181124201887SPedro Giffuni 
181224201887SPedro Giffuni /*
181324201887SPedro Giffuni  *  SQLGetInfo - SQL_STATIC_SENSITIVITY
181424201887SPedro Giffuni  */
181524201887SPedro Giffuni #define SQL_SS_ADDITIONS            0x00000001L
181624201887SPedro Giffuni #define SQL_SS_DELETIONS            0x00000002L
181724201887SPedro Giffuni #define SQL_SS_UPDATES              0x00000004L
181824201887SPedro Giffuni 
181924201887SPedro Giffuni 
182024201887SPedro Giffuni /*
182124201887SPedro Giffuni  *  SQLGetInfo - SQL_SUBQUERIES
182224201887SPedro Giffuni  */
182324201887SPedro Giffuni #define SQL_SQ_COMPARISON           0x00000001L
182424201887SPedro Giffuni #define SQL_SQ_EXISTS               0x00000002L
182524201887SPedro Giffuni #define SQL_SQ_IN               0x00000004L
182624201887SPedro Giffuni #define SQL_SQ_QUANTIFIED           0x00000008L
182724201887SPedro Giffuni #define SQL_SQ_CORRELATED_SUBQUERIES        0x00000010L
182824201887SPedro Giffuni 
182924201887SPedro Giffuni 
183024201887SPedro Giffuni /*
183124201887SPedro Giffuni  *  SQLGetInfo - SQL_SYSTEM_FUNCTIONS
183224201887SPedro Giffuni  */
183324201887SPedro Giffuni #define SQL_FN_SYS_USERNAME         0x00000001L
183424201887SPedro Giffuni #define SQL_FN_SYS_DBNAME           0x00000002L
183524201887SPedro Giffuni #define SQL_FN_SYS_IFNULL           0x00000004L
183624201887SPedro Giffuni 
183724201887SPedro Giffuni 
183824201887SPedro Giffuni /*
183924201887SPedro Giffuni  *  SQLGetInfo - SQL_STRING_FUNCTIONS
184024201887SPedro 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 
186924201887SPedro Giffuni /*
187024201887SPedro Giffuni  *  SQLGetInfo - SQL_TIMEDATE_ADD_INTERVALS
187124201887SPedro Giffuni  *  SQLGetInfo - SQL_TIMEDATE_DIFF_INTERVALS
187224201887SPedro Giffuni  */
187324201887SPedro Giffuni #define SQL_FN_TSI_FRAC_SECOND          0x00000001L
187424201887SPedro Giffuni #define SQL_FN_TSI_SECOND           0x00000002L
187524201887SPedro Giffuni #define SQL_FN_TSI_MINUTE           0x00000004L
187624201887SPedro Giffuni #define SQL_FN_TSI_HOUR             0x00000008L
187724201887SPedro Giffuni #define SQL_FN_TSI_DAY              0x00000010L
187824201887SPedro Giffuni #define SQL_FN_TSI_WEEK             0x00000020L
187924201887SPedro Giffuni #define SQL_FN_TSI_MONTH            0x00000040L
188024201887SPedro Giffuni #define SQL_FN_TSI_QUARTER          0x00000080L
188124201887SPedro Giffuni #define SQL_FN_TSI_YEAR             0x00000100L
1882cdf0e10cSrcweir 
1883cdf0e10cSrcweir 
188424201887SPedro Giffuni /*
188524201887SPedro Giffuni  *  SQLGetInfo - SQL_TIMEDATE_FUNCTIONS
188624201887SPedro 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 
191224201887SPedro Giffuni /*
191324201887SPedro Giffuni  *  SQLGetInfo - SQL_TXN_ISOLATION_OPTION
1914cdf0e10cSrcweir  */
191524201887SPedro Giffuni #if (ODBCVER < 0x0300)
1916cdf0e10cSrcweir #define SQL_TXN_VERSIONING          0x00000010L
191724201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
191824201887SPedro Giffuni 
191924201887SPedro Giffuni 
192024201887SPedro Giffuni /*
192124201887SPedro Giffuni  *  SQLGetInfo - SQL_UNION
1922cdf0e10cSrcweir  */
1923cdf0e10cSrcweir #define SQL_U_UNION             0x00000001L
1924cdf0e10cSrcweir #define SQL_U_UNION_ALL             0x00000002L
1925cdf0e10cSrcweir 
1926cdf0e10cSrcweir 
192724201887SPedro Giffuni /*
192824201887SPedro Giffuni  *  SQLGetInfo - SQL_UNION_STATEMENT
192924201887SPedro 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 
193624201887SPedro Giffuni /*
193724201887SPedro Giffuni  *  SQLGetStmtAttr - ODBC 2.x attributes
193824201887SPedro Giffuni  */
193924201887SPedro Giffuni #define SQL_QUERY_TIMEOUT           0
194024201887SPedro Giffuni #define SQL_MAX_ROWS                1
194124201887SPedro Giffuni #define SQL_NOSCAN              2
194224201887SPedro Giffuni #define SQL_MAX_LENGTH              3
194324201887SPedro Giffuni #define SQL_ASYNC_ENABLE            4
194424201887SPedro Giffuni #define SQL_BIND_TYPE               5
194524201887SPedro Giffuni #define SQL_CURSOR_TYPE             6
194624201887SPedro Giffuni #define SQL_CONCURRENCY             7
194724201887SPedro Giffuni #define SQL_KEYSET_SIZE             8
194824201887SPedro Giffuni #define SQL_ROWSET_SIZE             9
194924201887SPedro Giffuni #define SQL_SIMULATE_CURSOR         10
195024201887SPedro Giffuni #define SQL_RETRIEVE_DATA           11
195124201887SPedro Giffuni #define SQL_USE_BOOKMARKS           12
195224201887SPedro Giffuni #define SQL_GET_BOOKMARK            13
195324201887SPedro Giffuni #define SQL_ROW_NUMBER              14
195424201887SPedro Giffuni 
195524201887SPedro Giffuni 
195624201887SPedro Giffuni /*
195724201887SPedro Giffuni  *  SQLGetStmtAttr - ODBC 3.x attributes
195824201887SPedro Giffuni  */
1959cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
196024201887SPedro Giffuni #define SQL_ATTR_ASYNC_ENABLE           4
196124201887SPedro Giffuni #define SQL_ATTR_CONCURRENCY            SQL_CONCURRENCY
196224201887SPedro Giffuni #define SQL_ATTR_CURSOR_TYPE            SQL_CURSOR_TYPE
196324201887SPedro Giffuni #define SQL_ATTR_ENABLE_AUTO_IPD        15
196424201887SPedro Giffuni #define SQL_ATTR_FETCH_BOOKMARK_PTR     16
196524201887SPedro Giffuni #define SQL_ATTR_KEYSET_SIZE            SQL_KEYSET_SIZE
196624201887SPedro Giffuni #define SQL_ATTR_MAX_LENGTH         SQL_MAX_LENGTH
196724201887SPedro Giffuni #define SQL_ATTR_MAX_ROWS           SQL_MAX_ROWS
196824201887SPedro Giffuni #define SQL_ATTR_NOSCAN             SQL_NOSCAN
196924201887SPedro Giffuni #define SQL_ATTR_PARAM_BIND_OFFSET_PTR      17
197024201887SPedro Giffuni #define SQL_ATTR_PARAM_BIND_TYPE        18
197124201887SPedro Giffuni #define SQL_ATTR_PARAM_OPERATION_PTR        19
197224201887SPedro Giffuni #define SQL_ATTR_PARAM_STATUS_PTR       20
197324201887SPedro Giffuni #define SQL_ATTR_PARAMS_PROCESSED_PTR       21
197424201887SPedro Giffuni #define SQL_ATTR_PARAMSET_SIZE          22
197524201887SPedro Giffuni #define SQL_ATTR_QUERY_TIMEOUT          SQL_QUERY_TIMEOUT
197624201887SPedro Giffuni #define SQL_ATTR_RETRIEVE_DATA          SQL_RETRIEVE_DATA
197724201887SPedro Giffuni #define SQL_ATTR_ROW_BIND_OFFSET_PTR        23
197824201887SPedro Giffuni #define SQL_ATTR_ROW_BIND_TYPE          SQL_BIND_TYPE
197924201887SPedro Giffuni #define SQL_ATTR_ROW_NUMBER         SQL_ROW_NUMBER  /*GetStmtAttr*/
198024201887SPedro Giffuni #define SQL_ATTR_ROW_OPERATION_PTR      24
198124201887SPedro Giffuni #define SQL_ATTR_ROW_STATUS_PTR         25
198224201887SPedro Giffuni #define SQL_ATTR_ROWS_FETCHED_PTR       26
198324201887SPedro Giffuni #define SQL_ATTR_ROW_ARRAY_SIZE         27
198424201887SPedro Giffuni #define SQL_ATTR_SIMULATE_CURSOR        SQL_SIMULATE_CURSOR
198524201887SPedro Giffuni #define SQL_ATTR_USE_BOOKMARKS          SQL_USE_BOOKMARKS
198624201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
198724201887SPedro Giffuni 
198824201887SPedro Giffuni #if (ODBCVER < 0x0300)
198924201887SPedro Giffuni #define SQL_STMT_OPT_MAX            SQL_ROW_NUMBER
199024201887SPedro Giffuni #define SQL_STMT_OPT_MIN            SQL_QUERY_TIMEOUT
199124201887SPedro Giffuni #endif  /* ODBCVER < 0x0300 */
199224201887SPedro Giffuni 
199324201887SPedro Giffuni 
199424201887SPedro Giffuni /*
199524201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_ATTR_ASYNC_ENABLE
199624201887SPedro Giffuni  */
199724201887SPedro Giffuni #define SQL_ASYNC_ENABLE_OFF            0UL
199824201887SPedro Giffuni #define SQL_ASYNC_ENABLE_ON         1UL
199924201887SPedro Giffuni #define SQL_ASYNC_ENABLE_DEFAULT        SQL_ASYNC_ENABLE_OFF
200024201887SPedro Giffuni 
200124201887SPedro Giffuni 
200224201887SPedro Giffuni /*
200324201887SPedro Giffuni  *  SQLGetStmtAttr -  SQL_ATTR_PARAM_BIND_TYPE
200424201887SPedro Giffuni  */
200524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
200624201887SPedro Giffuni #define SQL_PARAM_BIND_BY_COLUMN        0UL
200724201887SPedro Giffuni #define SQL_PARAM_BIND_TYPE_DEFAULT     SQL_PARAM_BIND_BY_COLUMN
2008cdf0e10cSrcweir #endif  /* ODBCVER >= 0x0300 */
2009cdf0e10cSrcweir 
2010cdf0e10cSrcweir 
201124201887SPedro Giffuni /*
201224201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_BIND_TYPE
201324201887SPedro Giffuni  */
201424201887SPedro Giffuni #define SQL_BIND_BY_COLUMN          0UL
201524201887SPedro Giffuni #define SQL_BIND_TYPE_DEFAULT           SQL_BIND_BY_COLUMN
201624201887SPedro Giffuni 
201724201887SPedro Giffuni 
201824201887SPedro Giffuni /*
201924201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_CONCURRENCY
202024201887SPedro Giffuni  */
202124201887SPedro Giffuni #define SQL_CONCUR_READ_ONLY            1
202224201887SPedro Giffuni #define SQL_CONCUR_LOCK             2
202324201887SPedro Giffuni #define SQL_CONCUR_ROWVER           3
202424201887SPedro Giffuni #define SQL_CONCUR_VALUES           4
202524201887SPedro Giffuni #define SQL_CONCUR_DEFAULT          SQL_CONCUR_READ_ONLY
202624201887SPedro Giffuni 
202724201887SPedro Giffuni 
202824201887SPedro Giffuni /*
202924201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_CURSOR_TYPE
203024201887SPedro Giffuni  */
203124201887SPedro Giffuni #define SQL_CURSOR_FORWARD_ONLY         0UL
203224201887SPedro Giffuni #define SQL_CURSOR_KEYSET_DRIVEN        1UL
203324201887SPedro Giffuni #define SQL_CURSOR_DYNAMIC          2UL
203424201887SPedro Giffuni #define SQL_CURSOR_STATIC           3UL
203524201887SPedro Giffuni #define SQL_CURSOR_TYPE_DEFAULT         SQL_CURSOR_FORWARD_ONLY
203624201887SPedro Giffuni 
203724201887SPedro Giffuni 
203824201887SPedro Giffuni /*
203924201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_KEYSET_SIZE
204024201887SPedro Giffuni  */
204124201887SPedro Giffuni #define SQL_KEYSET_SIZE_DEFAULT         0UL
204224201887SPedro Giffuni 
204324201887SPedro Giffuni 
204424201887SPedro Giffuni /*
204524201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_MAX_LENGTH
204624201887SPedro Giffuni  */
204724201887SPedro Giffuni #define SQL_MAX_LENGTH_DEFAULT          0UL
204824201887SPedro Giffuni 
204924201887SPedro Giffuni 
205024201887SPedro Giffuni /*
205124201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_MAX_ROWS
205224201887SPedro Giffuni  */
205324201887SPedro Giffuni #define SQL_MAX_ROWS_DEFAULT            0UL
205424201887SPedro Giffuni 
205524201887SPedro Giffuni 
205624201887SPedro Giffuni /*
205724201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_NOSCAN
205824201887SPedro Giffuni  */
205924201887SPedro Giffuni #define SQL_NOSCAN_OFF              0UL /* 1.0 FALSE */
206024201887SPedro Giffuni #define SQL_NOSCAN_ON               1UL /* 1.0 TRUE */
206124201887SPedro Giffuni #define SQL_NOSCAN_DEFAULT          SQL_NOSCAN_OFF
206224201887SPedro Giffuni 
206324201887SPedro Giffuni 
206424201887SPedro Giffuni /*
206524201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_QUERY_TIMEOUT
206624201887SPedro Giffuni  */
206724201887SPedro Giffuni #define SQL_QUERY_TIMEOUT_DEFAULT       0UL
206824201887SPedro Giffuni 
206924201887SPedro Giffuni 
207024201887SPedro Giffuni /*
207124201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_RETRIEVE_DATA
207224201887SPedro Giffuni  */
207324201887SPedro Giffuni #define SQL_RD_OFF              0UL
207424201887SPedro Giffuni #define SQL_RD_ON               1UL
207524201887SPedro Giffuni #define SQL_RD_DEFAULT              SQL_RD_ON
207624201887SPedro Giffuni 
207724201887SPedro Giffuni 
207824201887SPedro Giffuni /*
207924201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_ROWSET_SIZE
208024201887SPedro Giffuni  */
208124201887SPedro Giffuni #define SQL_ROWSET_SIZE_DEFAULT         1UL
208224201887SPedro Giffuni 
208324201887SPedro Giffuni 
208424201887SPedro Giffuni /*
208524201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_SIMULATE_CURSOR
208624201887SPedro Giffuni  */
208724201887SPedro Giffuni #define SQL_SC_NON_UNIQUE           0UL
208824201887SPedro Giffuni #define SQL_SC_TRY_UNIQUE           1UL
208924201887SPedro Giffuni #define SQL_SC_UNIQUE               2UL
209024201887SPedro Giffuni 
209124201887SPedro Giffuni 
209224201887SPedro Giffuni /*
209324201887SPedro Giffuni  *  SQLGetStmtAttr - SQL_USE_BOOKMARKS
209424201887SPedro Giffuni  */
209524201887SPedro Giffuni #define SQL_UB_OFF              0UL
209624201887SPedro Giffuni #define SQL_UB_ON               1UL
209724201887SPedro Giffuni #define SQL_UB_DEFAULT              SQL_UB_OFF
209824201887SPedro Giffuni #if (ODBCVER >= 0x0300)
209924201887SPedro Giffuni #define SQL_UB_FIXED                SQL_UB_ON
210024201887SPedro Giffuni #define SQL_UB_VARIABLE             2UL
210124201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
210224201887SPedro Giffuni 
210324201887SPedro Giffuni 
210424201887SPedro Giffuni /*
210524201887SPedro Giffuni  *  SQLGetTypeInfo - SEARCHABLE
210624201887SPedro Giffuni  */
210724201887SPedro Giffuni #if (ODBCVER >= 0x0300)
210824201887SPedro Giffuni #define SQL_COL_PRED_CHAR           SQL_LIKE_ONLY
210924201887SPedro Giffuni #define SQL_COL_PRED_BASIC          SQL_ALL_EXCEPT_LIKE
211024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
211124201887SPedro Giffuni 
211224201887SPedro Giffuni 
211324201887SPedro Giffuni /*
211424201887SPedro Giffuni  *  SQLSetPos
211524201887SPedro Giffuni  */
2116cdf0e10cSrcweir #define SQL_ENTIRE_ROWSET           0
2117cdf0e10cSrcweir 
211824201887SPedro Giffuni 
211924201887SPedro Giffuni /*
212024201887SPedro Giffuni  *  SQLSetPos - Operation
212124201887SPedro Giffuni  */
212224201887SPedro Giffuni #define SQL_POSITION                0
212324201887SPedro Giffuni #define SQL_REFRESH             1
2124cdf0e10cSrcweir #define SQL_UPDATE              2
2125cdf0e10cSrcweir #define SQL_DELETE              3
2126cdf0e10cSrcweir 
212724201887SPedro Giffuni 
212824201887SPedro Giffuni /*
212924201887SPedro Giffuni  *  SQLBulkOperations - Operation
213024201887SPedro 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 
214024201887SPedro Giffuni /*
214124201887SPedro Giffuni  *  SQLSetPos - LockType
214224201887SPedro Giffuni  */
214324201887SPedro Giffuni #define SQL_LOCK_NO_CHANGE          0
214424201887SPedro Giffuni #define SQL_LOCK_EXCLUSIVE          1
214524201887SPedro Giffuni #define SQL_LOCK_UNLOCK             2
2146cdf0e10cSrcweir #define SQL_SETPOS_MAX_LOCK_VALUE       SQL_LOCK_UNLOCK
2147cdf0e10cSrcweir 
2148cdf0e10cSrcweir 
214924201887SPedro Giffuni /*
215024201887SPedro Giffuni  *  SQLSetPos macros
215124201887SPedro Giffuni  */
215224201887SPedro Giffuni #define SQL_POSITION_TO(hstmt,irow) \
215324201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
215424201887SPedro Giffuni #define SQL_LOCK_RECORD(hstmt,irow,fLock) \
215524201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
215624201887SPedro Giffuni #define SQL_REFRESH_RECORD(hstmt,irow,fLock) \
215724201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
215824201887SPedro Giffuni #define SQL_UPDATE_RECORD(hstmt,irow) \
215924201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
216024201887SPedro Giffuni #define SQL_DELETE_RECORD(hstmt,irow) \
216124201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
216224201887SPedro Giffuni #define SQL_ADD_RECORD(hstmt,irow) \
216324201887SPedro Giffuni     SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
216424201887SPedro Giffuni 
216524201887SPedro Giffuni 
216624201887SPedro Giffuni /*
216724201887SPedro Giffuni  *  SQLSpecialColumns - Column types and scopes
216824201887SPedro Giffuni  */
2169cdf0e10cSrcweir #define SQL_BEST_ROWID              1
2170cdf0e10cSrcweir #define SQL_ROWVER              2
2171cdf0e10cSrcweir 
2172cdf0e10cSrcweir 
217324201887SPedro Giffuni /*
217424201887SPedro Giffuni  *  All the ODBC keywords
217524201887SPedro Giffuni  */
217624201887SPedro Giffuni #define SQL_ODBC_KEYWORDS \
217724201887SPedro 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 
220924201887SPedro Giffuni 
221024201887SPedro Giffuni /*
221124201887SPedro Giffuni  * ----------------------------------------------------------------------
221224201887SPedro Giffuni  *  Level 2 Functions
221324201887SPedro Giffuni  * ----------------------------------------------------------------------
221424201887SPedro Giffuni  */
221524201887SPedro Giffuni 
221624201887SPedro Giffuni /*
221724201887SPedro Giffuni  *  SQLExtendedFetch - fFetchType
221824201887SPedro Giffuni  */
221924201887SPedro Giffuni #define SQL_FETCH_BOOKMARK          8
222024201887SPedro Giffuni 
222124201887SPedro Giffuni 
222224201887SPedro Giffuni /*
222324201887SPedro Giffuni  *  SQLExtendedFetch - rgfRowStatus
222424201887SPedro Giffuni  */
222524201887SPedro Giffuni #define SQL_ROW_SUCCESS             0
222624201887SPedro Giffuni #define SQL_ROW_DELETED             1
222724201887SPedro Giffuni #define SQL_ROW_UPDATED             2
222824201887SPedro Giffuni #define SQL_ROW_NOROW               3
222924201887SPedro Giffuni #define SQL_ROW_ADDED               4
223024201887SPedro Giffuni #define SQL_ROW_ERROR               5
223124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
223224201887SPedro Giffuni #define SQL_ROW_SUCCESS_WITH_INFO       6
223324201887SPedro Giffuni #define SQL_ROW_PROCEED             0
223424201887SPedro Giffuni #define SQL_ROW_IGNORE              1
223524201887SPedro Giffuni #endif
223624201887SPedro Giffuni 
223724201887SPedro Giffuni 
223824201887SPedro Giffuni /*
223924201887SPedro Giffuni  * SQL_DESC_ARRAY_STATUS_PTR
224024201887SPedro Giffuni  */
224124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
224224201887SPedro Giffuni #define SQL_PARAM_SUCCESS           0
224324201887SPedro Giffuni #define SQL_PARAM_SUCCESS_WITH_INFO     6
224424201887SPedro Giffuni #define SQL_PARAM_ERROR             5
224524201887SPedro Giffuni #define SQL_PARAM_UNUSED            7
224624201887SPedro Giffuni #define SQL_PARAM_DIAG_UNAVAILABLE      1
224724201887SPedro Giffuni 
224824201887SPedro Giffuni #define SQL_PARAM_PROCEED           0
224924201887SPedro Giffuni #define SQL_PARAM_IGNORE            1
225024201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
225124201887SPedro Giffuni 
225224201887SPedro Giffuni 
225324201887SPedro Giffuni /*
225424201887SPedro Giffuni  *  SQLForeignKeys - UPDATE_RULE/DELETE_RULE
225524201887SPedro Giffuni  */
225624201887SPedro Giffuni #define SQL_CASCADE             0
225724201887SPedro Giffuni #define SQL_RESTRICT                1
225824201887SPedro Giffuni #define SQL_SET_NULL                2
225924201887SPedro Giffuni 
226024201887SPedro Giffuni #if (ODBCVER >= 0x0250)
226124201887SPedro Giffuni #define SQL_NO_ACTION               3
226224201887SPedro Giffuni #define SQL_SET_DEFAULT             4
226324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0250 */
226424201887SPedro Giffuni 
226524201887SPedro Giffuni 
226624201887SPedro Giffuni /*
226724201887SPedro Giffuni  *  SQLForeignKeys - DEFERABILITY
226824201887SPedro Giffuni  */
226924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
227024201887SPedro Giffuni #define SQL_INITIALLY_DEFERRED          5
227124201887SPedro Giffuni #define SQL_INITIALLY_IMMEDIATE         6
227224201887SPedro Giffuni #define SQL_NOT_DEFERRABLE          7
227324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
227424201887SPedro Giffuni 
227524201887SPedro Giffuni 
227624201887SPedro Giffuni /*
227724201887SPedro Giffuni  *  SQLBindParameter - fParamType
227824201887SPedro Giffuni  *  SQLProcedureColumns - COLUMN_TYPE
227924201887SPedro Giffuni  */
228024201887SPedro Giffuni #define SQL_PARAM_TYPE_UNKNOWN          0
228124201887SPedro Giffuni #define SQL_PARAM_INPUT             1
228224201887SPedro Giffuni #define SQL_PARAM_INPUT_OUTPUT          2
228324201887SPedro Giffuni #define SQL_RESULT_COL              3
228424201887SPedro Giffuni #define SQL_PARAM_OUTPUT            4
228524201887SPedro Giffuni #define SQL_RETURN_VALUE            5
228624201887SPedro Giffuni 
228724201887SPedro Giffuni 
228824201887SPedro Giffuni /*
228924201887SPedro Giffuni  *   SQLProcedures - PROCEDURE_TYPE
229024201887SPedro Giffuni  */
229124201887SPedro Giffuni #define SQL_PT_UNKNOWN              0
229224201887SPedro Giffuni #define SQL_PT_PROCEDURE            1
229324201887SPedro Giffuni #define SQL_PT_FUNCTION             2
229424201887SPedro Giffuni 
229524201887SPedro Giffuni 
229624201887SPedro Giffuni /*
229724201887SPedro Giffuni  *  SQLSetParam to SQLBindParameter conversion
229824201887SPedro Giffuni  */
229924201887SPedro Giffuni #define SQL_PARAM_TYPE_DEFAULT          SQL_PARAM_INPUT_OUTPUT
230024201887SPedro Giffuni #define SQL_SETPARAM_VALUE_MAX          (-1L)
230124201887SPedro Giffuni 
230224201887SPedro Giffuni 
230324201887SPedro Giffuni /*
230424201887SPedro Giffuni  *  SQLStatistics - fAccuracy
230524201887SPedro Giffuni  */
230624201887SPedro Giffuni #define SQL_QUICK               0
230724201887SPedro Giffuni #define SQL_ENSURE              1
230824201887SPedro Giffuni 
230924201887SPedro Giffuni 
231024201887SPedro Giffuni /*
231124201887SPedro Giffuni  *  SQLStatistics - TYPE
231224201887SPedro Giffuni  */
231324201887SPedro Giffuni #define SQL_TABLE_STAT              0
231424201887SPedro Giffuni 
231524201887SPedro Giffuni 
231624201887SPedro Giffuni /*
231724201887SPedro Giffuni  *  SQLTables
231824201887SPedro Giffuni  */
231924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
232024201887SPedro Giffuni #define SQL_ALL_CATALOGS            "%"
232124201887SPedro Giffuni #define SQL_ALL_SCHEMAS             "%"
232224201887SPedro Giffuni #define SQL_ALL_TABLE_TYPES         "%"
232324201887SPedro Giffuni #endif  /* ODBCVER >= 0x0300 */
232424201887SPedro Giffuni 
232524201887SPedro Giffuni /*
232624201887SPedro Giffuni  *  SQLSpecialColumns - PSEUDO_COLUMN
232724201887SPedro Giffuni  */
232824201887SPedro Giffuni #define SQL_PC_NOT_PSEUDO           1
232924201887SPedro Giffuni 
233024201887SPedro Giffuni 
233124201887SPedro Giffuni /*
233224201887SPedro Giffuni  *  Deprecated defines from prior versions of ODBC
233324201887SPedro Giffuni  */
233424201887SPedro Giffuni #define SQL_DATABASE_NAME           16
233524201887SPedro Giffuni #define SQL_FD_FETCH_PREV           SQL_FD_FETCH_PRIOR
233624201887SPedro Giffuni #define SQL_FETCH_PREV              SQL_FETCH_PRIOR
233724201887SPedro Giffuni #define SQL_CONCUR_TIMESTAMP            SQL_CONCUR_ROWVER
233824201887SPedro Giffuni #define SQL_SCCO_OPT_TIMESTAMP          SQL_SCCO_OPT_ROWVER
233924201887SPedro Giffuni #define SQL_CC_DELETE               SQL_CB_DELETE
234024201887SPedro Giffuni #define SQL_CR_DELETE               SQL_CB_DELETE
234124201887SPedro Giffuni #define SQL_CC_CLOSE                SQL_CB_CLOSE
234224201887SPedro Giffuni #define SQL_CR_CLOSE                SQL_CB_CLOSE
234324201887SPedro Giffuni #define SQL_CC_PRESERVE             SQL_CB_PRESERVE
234424201887SPedro Giffuni #define SQL_CR_PRESERVE             SQL_CB_PRESERVE
234524201887SPedro Giffuni #if (ODBCVER < 0x0200)
234624201887SPedro Giffuni #define SQL_FETCH_RESUME            7
234724201887SPedro Giffuni #endif
234824201887SPedro Giffuni #define SQL_SCROLL_FORWARD_ONLY         0L
234924201887SPedro Giffuni #define SQL_SCROLL_KEYSET_DRIVEN        (-1L)
235024201887SPedro Giffuni #define SQL_SCROLL_DYNAMIC          (-2L)
235124201887SPedro Giffuni #define SQL_SCROLL_STATIC           (-3L)
235224201887SPedro Giffuni 
235324201887SPedro Giffuni 
235424201887SPedro Giffuni /*
235524201887SPedro Giffuni  *  Level 1 function prototypes
235624201887SPedro Giffuni  */
235724201887SPedro Giffuni SQLRETURN SQL_API SQLDriverConnect (
235824201887SPedro Giffuni     SQLHDBC       hdbc,
235924201887SPedro Giffuni     SQLHWND       hwnd,
236024201887SPedro Giffuni     SQLCHAR     * szConnStrIn,
236124201887SPedro Giffuni     SQLSMALLINT       cbConnStrIn,
236224201887SPedro Giffuni     SQLCHAR     * szConnStrOut,
236324201887SPedro Giffuni     SQLSMALLINT       cbConnStrOutMax,
236424201887SPedro Giffuni     SQLSMALLINT     * pcbConnStrOut,
236524201887SPedro Giffuni     SQLUSMALLINT      fDriverCompletion);
236624201887SPedro Giffuni 
236724201887SPedro Giffuni /*
236824201887SPedro Giffuni  *  Level 2 function prototypes
236924201887SPedro Giffuni  */
237024201887SPedro 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 
252124201887SPedro Giffuni /*
252224201887SPedro Giffuni  *  Depreciated - use SQLSetStmtOptions
252324201887SPedro Giffuni  */
252424201887SPedro Giffuni SQLRETURN SQL_API SQLSetScrollOptions (     /* Use SQLSetStmtOptions */
252524201887SPedro Giffuni     SQLHSTMT          hstmt,
252624201887SPedro Giffuni     SQLUSMALLINT      fConcurrency,
252724201887SPedro Giffuni     SQLLEN        crowKeyset,
252824201887SPedro Giffuni     SQLUSMALLINT      crowRowset);
252924201887SPedro Giffuni 
253024201887SPedro Giffuni 
253124201887SPedro Giffuni /*
253224201887SPedro Giffuni  *  SQLAllocHandleStd - make SQLAllocHandle compatible with X/Open standard
253324201887SPedro Giffuni  *
253424201887SPedro Giffuni  *  NOTE: An application should not call SQLAllocHandleStd directly
253524201887SPedro Giffuni  */
2536cdf0e10cSrcweir #ifdef ODBC_STD
2537cdf0e10cSrcweir #define SQLAllocHandle          SQLAllocHandleStd
253824201887SPedro Giffuni #define SQLAllocEnv(phenv) \
253924201887SPedro Giffuni     SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, phenv)
254024201887SPedro Giffuni 
254124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
254224201887SPedro Giffuni SQLRETURN SQL_API SQLAllocHandleStd (
254324201887SPedro Giffuni     SQLSMALLINT       fHandleType,
254424201887SPedro Giffuni     SQLHANDLE         hInput,
254524201887SPedro Giffuni     SQLHANDLE       * phOutput);
254624201887SPedro Giffuni #endif
254724201887SPedro 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 
257024201887SPedro Giffuni #include <odbc/sqlucode.h>
2571cdf0e10cSrcweir 
257224201887SPedro Giffuni #endif  /* _SQLEXT_H */
2573