xref: /AOO41X/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