xref: /aoo42x/main/unixODBC/inc/sqlext.h (revision acaca342)
124201887SPedro Giffuni /*
224201887SPedro Giffuni  *  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 
8524201887SPedro Giffuni #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
9924201887SPedro Giffuni #define SQL_MAX_OPTION_STRING_LENGTH   		256
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 
10224201887SPedro Giffuni /*
10324201887SPedro Giffuni  *  Handle types
10424201887SPedro Giffuni  */
105cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
10624201887SPedro Giffuni #define SQL_HANDLE_SENV				5
10724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
108cdf0e10cSrcweir 
109cdf0e10cSrcweir 
11024201887SPedro Giffuni /*
11124201887SPedro Giffuni  *  Function return codes
11224201887SPedro Giffuni  */
113cdf0e10cSrcweir #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 */
118cdf0e10cSrcweir 
119cdf0e10cSrcweir 
12024201887SPedro Giffuni /*
12124201887SPedro Giffuni  *  Special length values for attributes
12224201887SPedro Giffuni  */
123cdf0e10cSrcweir #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)
12924201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
130cdf0e10cSrcweir 
131cdf0e10cSrcweir 
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)
148cdf0e10cSrcweir #if (ODBCVER >= 0x0350)
149cdf0e10cSrcweir #define SQL_GUID				(-11)
15024201887SPedro Giffuni #endif	/* ODBCVER >= 0x0350 */
15124201887SPedro Giffuni 
152cdf0e10cSrcweir 
15324201887SPedro Giffuni /*
15424201887SPedro Giffuni  *  SQL Interval datatypes
15524201887SPedro Giffuni  */
156cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
157cdf0e10cSrcweir #define SQL_CODE_YEAR				1
158cdf0e10cSrcweir #define SQL_CODE_MONTH				2
159cdf0e10cSrcweir #define SQL_CODE_DAY				3
160cdf0e10cSrcweir #define SQL_CODE_HOUR				4
161cdf0e10cSrcweir #define SQL_CODE_MINUTE				5
162cdf0e10cSrcweir #define SQL_CODE_SECOND				6
163cdf0e10cSrcweir #define SQL_CODE_YEAR_TO_MONTH			7
164cdf0e10cSrcweir #define SQL_CODE_DAY_TO_HOUR			8
165cdf0e10cSrcweir #define SQL_CODE_DAY_TO_MINUTE			9
166cdf0e10cSrcweir #define SQL_CODE_DAY_TO_SECOND			10
167cdf0e10cSrcweir #define SQL_CODE_HOUR_TO_MINUTE			11
168cdf0e10cSrcweir #define SQL_CODE_HOUR_TO_SECOND			12
169cdf0e10cSrcweir #define SQL_CODE_MINUTE_TO_SECOND		13
170cdf0e10cSrcweir 
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)
183cdf0e10cSrcweir #define SQL_INTERVAL_MINUTE_TO_SECOND		(100 + SQL_CODE_MINUTE_TO_SECOND)
184cdf0e10cSrcweir #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)
19824201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
199cdf0e10cSrcweir 
200cdf0e10cSrcweir 
20124201887SPedro Giffuni /*
20224201887SPedro Giffuni  *   SQL unicode data types
20324201887SPedro Giffuni  */
204cdf0e10cSrcweir #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
210cdf0e10cSrcweir #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 */
216cdf0e10cSrcweir 
217cdf0e10cSrcweir 
218cdf0e10cSrcweir #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
264cdf0e10cSrcweir #define SQL_C_TYPE_TIMESTAMP			SQL_TYPE_TIMESTAMP
26524201887SPedro Giffuni #define SQL_C_INTERVAL_YEAR			SQL_INTERVAL_YEAR
266cdf0e10cSrcweir #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
269cdf0e10cSrcweir #define SQL_C_INTERVAL_MINUTE			SQL_INTERVAL_MINUTE
270cdf0e10cSrcweir #define SQL_C_INTERVAL_SECOND			SQL_INTERVAL_SECOND
27124201887SPedro Giffuni #define SQL_C_INTERVAL_YEAR_TO_MONTH		SQL_INTERVAL_YEAR_TO_MONTH
272cdf0e10cSrcweir #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 */
282cdf0e10cSrcweir 
283cdf0e10cSrcweir #if (ODBCVER >= 0x0350)
28424201887SPedro Giffuni #define SQL_C_GUID				SQL_GUID
28524201887SPedro Giffuni #endif
28624201887SPedro Giffuni 
28724201887SPedro Giffuni #define SQL_TYPE_NULL				0
288cdf0e10cSrcweir 
289cdf0e10cSrcweir #if (ODBCVER < 0x0300)
29024201887SPedro Giffuni #define SQL_TYPE_MIN				SQL_BIT
29124201887SPedro Giffuni #define SQL_TYPE_MAX				SQL_VARCHAR
29224201887SPedro Giffuni #endif	/* ODBCVER < 0x0300 */
293cdf0e10cSrcweir 
294cdf0e10cSrcweir 
29524201887SPedro Giffuni /*
29624201887SPedro Giffuni  * ----------------------------------------------------------------------
29724201887SPedro Giffuni  *  Level 1 Functions
29824201887SPedro Giffuni  * ----------------------------------------------------------------------
29924201887SPedro Giffuni  */
300cdf0e10cSrcweir 
30124201887SPedro Giffuni /*
30224201887SPedro Giffuni  *  SQLBindParameter
30324201887SPedro Giffuni  */
30424201887SPedro Giffuni #define SQL_DEFAULT_PARAM			(-5)
30524201887SPedro Giffuni #define SQL_IGNORE				(-6)
306cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
307cdf0e10cSrcweir #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)
311cdf0e10cSrcweir 
31224201887SPedro Giffuni 
31324201887SPedro Giffuni /*
31424201887SPedro Giffuni  *  binary length for driver specific attributes
31524201887SPedro Giffuni  */
31624201887SPedro Giffuni #define SQL_LEN_BINARY_ATTR_OFFSET		 (-100)
317cdf0e10cSrcweir #define SQL_LEN_BINARY_ATTR(length)	 (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
318cdf0e10cSrcweir 
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
343cdf0e10cSrcweir #if (ODBCVER < 0x0300)
34424201887SPedro Giffuni #define SQL_COLUMN_DRIVER_START			1000
34524201887SPedro Giffuni #endif	/* ODBCVER < 0x0300 */
346cdf0e10cSrcweir 
34724201887SPedro Giffuni #define SQL_COLATT_OPT_MIN			SQL_COLUMN_COUNT
348cdf0e10cSrcweir 
349cdf0e10cSrcweir 
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
356cdf0e10cSrcweir 
357cdf0e10cSrcweir 
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
366cdf0e10cSrcweir 
367cdf0e10cSrcweir 
36824201887SPedro Giffuni /*
36924201887SPedro Giffuni  *  SQLDataSources - additional fetch directions
37024201887SPedro Giffuni  */
371cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
37224201887SPedro Giffuni #define SQL_FETCH_FIRST_USER			31
37324201887SPedro Giffuni #define SQL_FETCH_FIRST_SYSTEM			32
37424201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
375cdf0e10cSrcweir 
376cdf0e10cSrcweir 
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
384cdf0e10cSrcweir 
385cdf0e10cSrcweir 
38624201887SPedro Giffuni /*
38724201887SPedro Giffuni  *  SQLGetConnectAttr - ODBC 2.x attributes
38824201887SPedro Giffuni  */
38924201887SPedro Giffuni #define SQL_ACCESS_MODE				101
39024201887SPedro Giffuni #define SQL_AUTOCOMMIT				102
39124201887SPedro Giffuni #define SQL_LOGIN_TIMEOUT			103
39224201887SPedro Giffuni #define SQL_OPT_TRACE				104
39324201887SPedro Giffuni #define SQL_OPT_TRACEFILE			105
39424201887SPedro Giffuni #define SQL_TRANSLATE_DLL			106
39524201887SPedro Giffuni #define SQL_TRANSLATE_OPTION			107
39624201887SPedro Giffuni #define SQL_TXN_ISOLATION			108
39724201887SPedro Giffuni #define SQL_CURRENT_QUALIFIER			109
39824201887SPedro Giffuni #define SQL_ODBC_CURSORS			110
39924201887SPedro Giffuni #define SQL_QUIET_MODE				111
40024201887SPedro Giffuni #define SQL_PACKET_SIZE				112
401cdf0e10cSrcweir 
402cdf0e10cSrcweir 
40324201887SPedro Giffuni /*
40424201887SPedro Giffuni  *  SQLGetConnectAttr - ODBC 3.0 attributes
405cdf0e10cSrcweir  */
406cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
40724201887SPedro Giffuni #define SQL_ATTR_ACCESS_MODE			SQL_ACCESS_MODE
40824201887SPedro Giffuni #define SQL_ATTR_AUTOCOMMIT			SQL_AUTOCOMMIT
40924201887SPedro Giffuni #define SQL_ATTR_CONNECTION_TIMEOUT		113
41024201887SPedro Giffuni #define SQL_ATTR_CURRENT_CATALOG		SQL_CURRENT_QUALIFIER
41124201887SPedro Giffuni #define SQL_ATTR_DISCONNECT_BEHAVIOR		114
41224201887SPedro Giffuni #define SQL_ATTR_ENLIST_IN_DTC			1207
41324201887SPedro Giffuni #define SQL_ATTR_ENLIST_IN_XA			1208
41424201887SPedro Giffuni #define SQL_ATTR_LOGIN_TIMEOUT			SQL_LOGIN_TIMEOUT
41524201887SPedro Giffuni #define SQL_ATTR_ODBC_CURSORS			SQL_ODBC_CURSORS
41624201887SPedro Giffuni #define SQL_ATTR_PACKET_SIZE			SQL_PACKET_SIZE
41724201887SPedro Giffuni #define SQL_ATTR_QUIET_MODE			SQL_QUIET_MODE
41824201887SPedro Giffuni #define SQL_ATTR_TRACE				SQL_OPT_TRACE
41924201887SPedro Giffuni #define SQL_ATTR_TRACEFILE			SQL_OPT_TRACEFILE
42024201887SPedro Giffuni #define SQL_ATTR_TRANSLATE_LIB			SQL_TRANSLATE_DLL
42124201887SPedro Giffuni #define SQL_ATTR_TRANSLATE_OPTION		SQL_TRANSLATE_OPTION
42224201887SPedro Giffuni #define SQL_ATTR_TXN_ISOLATION			SQL_TXN_ISOLATION
42324201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
424cdf0e10cSrcweir 
42524201887SPedro Giffuni #define SQL_ATTR_CONNECTION_DEAD		1209 /* GetConnectAttr only */
426cdf0e10cSrcweir 
427cdf0e10cSrcweir 
42824201887SPedro Giffuni /*
42924201887SPedro Giffuni  *  These options have no meaning for a 3.0 driver
43024201887SPedro Giffuni  */
43124201887SPedro Giffuni #if (ODBCVER < 0x0300)
43224201887SPedro Giffuni #define SQL_CONN_OPT_MIN			SQL_ACCESS_MODE
43324201887SPedro Giffuni #define SQL_CONN_OPT_MAX			SQL_PACKET_SIZE
43424201887SPedro Giffuni #define SQL_CONNECT_OPT_DRVR_START		1000
43524201887SPedro Giffuni #endif	/* ODBCVER < 0x0300 */
436cdf0e10cSrcweir 
437cdf0e10cSrcweir 
43824201887SPedro Giffuni /*
43924201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ACCESS_MODE
44024201887SPedro Giffuni  */
44124201887SPedro Giffuni #define SQL_MODE_READ_WRITE			0UL
44224201887SPedro Giffuni #define SQL_MODE_READ_ONLY			1UL
44324201887SPedro Giffuni #define SQL_MODE_DEFAULT			SQL_MODE_READ_WRITE
444cdf0e10cSrcweir 
445cdf0e10cSrcweir 
44624201887SPedro Giffuni /*
44724201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_AUTOCOMMIT
44824201887SPedro Giffuni  */
44924201887SPedro Giffuni #define SQL_AUTOCOMMIT_OFF			0UL
45024201887SPedro Giffuni #define SQL_AUTOCOMMIT_ON			1UL
45124201887SPedro Giffuni #define SQL_AUTOCOMMIT_DEFAULT			SQL_AUTOCOMMIT_ON
452cdf0e10cSrcweir 
453cdf0e10cSrcweir 
45424201887SPedro Giffuni /*
45524201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_LOGIN_TIMEOUT
45624201887SPedro Giffuni  */
45724201887SPedro Giffuni #define SQL_LOGIN_TIMEOUT_DEFAULT		15UL
458cdf0e10cSrcweir 
459cdf0e10cSrcweir 
46024201887SPedro Giffuni /*
46124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ODBC_CURSORS
46224201887SPedro Giffuni  */
46324201887SPedro Giffuni #define SQL_CUR_USE_IF_NEEDED			0UL
46424201887SPedro Giffuni #define SQL_CUR_USE_ODBC			1UL
46524201887SPedro Giffuni #define SQL_CUR_USE_DRIVER			2UL
46624201887SPedro Giffuni #define SQL_CUR_DEFAULT				SQL_CUR_USE_DRIVER
467cdf0e10cSrcweir 
468cdf0e10cSrcweir 
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
482cdf0e10cSrcweir 
483cdf0e10cSrcweir 
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
491cdf0e10cSrcweir 
492cdf0e10cSrcweir 
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 */
498cdf0e10cSrcweir 
499cdf0e10cSrcweir 
50024201887SPedro Giffuni /*
50124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_DISCONNECT_BEHAVIOR
50224201887SPedro Giffuni  */
50324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
50424201887SPedro Giffuni #define SQL_DB_RETURN_TO_POOL			0UL
50524201887SPedro Giffuni #define SQL_DB_DISCONNECT			1UL
50624201887SPedro Giffuni #define SQL_DB_DEFAULT				SQL_DB_RETURN_TO_POOL
50724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
508cdf0e10cSrcweir 
509cdf0e10cSrcweir 
51024201887SPedro Giffuni /*
51124201887SPedro Giffuni  *  SQLGetConnectAttr - SQL_ATTR_ENLIST_IN_DTC
51224201887SPedro Giffuni  */
51324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
51424201887SPedro Giffuni #define SQL_DTC_DONE				0L
51524201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
516cdf0e10cSrcweir 
517cdf0e10cSrcweir 
51824201887SPedro Giffuni /*
51924201887SPedro Giffuni  *   SQLGetConnectAttr - Unicode drivers
52024201887SPedro Giffuni  */
52124201887SPedro Giffuni #if (ODBCVER >= 0x0351)
52224201887SPedro Giffuni #define SQL_ATTR_ANSI_APP			115
52324201887SPedro Giffuni #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  */
53524201887SPedro Giffuni #if (ODBCVER >= 0x0300)
53624201887SPedro Giffuni #define SQL_DESC_ARRAY_SIZE			20
53724201887SPedro Giffuni #define SQL_DESC_ARRAY_STATUS_PTR		21
53824201887SPedro Giffuni #define SQL_DESC_AUTO_UNIQUE_VALUE		SQL_COLUMN_AUTO_INCREMENT
53924201887SPedro Giffuni #define SQL_DESC_BASE_COLUMN_NAME		22
54024201887SPedro Giffuni #define SQL_DESC_BASE_TABLE_NAME		23
54124201887SPedro Giffuni #define SQL_DESC_BIND_OFFSET_PTR		24
54224201887SPedro Giffuni #define SQL_DESC_BIND_TYPE			25
54324201887SPedro Giffuni #define SQL_DESC_CASE_SENSITIVE			SQL_COLUMN_CASE_SENSITIVE
54424201887SPedro Giffuni #define SQL_DESC_CATALOG_NAME			SQL_COLUMN_QUALIFIER_NAME
54524201887SPedro Giffuni #define SQL_DESC_CONCISE_TYPE			SQL_COLUMN_TYPE
54624201887SPedro Giffuni #define SQL_DESC_DATETIME_INTERVAL_PRECISION	26
54724201887SPedro Giffuni #define SQL_DESC_DISPLAY_SIZE			SQL_COLUMN_DISPLAY_SIZE
54824201887SPedro Giffuni #define SQL_DESC_FIXED_PREC_SCALE		SQL_COLUMN_MONEY
54924201887SPedro Giffuni #define SQL_DESC_LABEL				SQL_COLUMN_LABEL
55024201887SPedro Giffuni #define SQL_DESC_LITERAL_PREFIX			27
55124201887SPedro Giffuni #define SQL_DESC_LITERAL_SUFFIX			28
55224201887SPedro Giffuni #define SQL_DESC_LOCAL_TYPE_NAME		29
55324201887SPedro Giffuni #define SQL_DESC_MAXIMUM_SCALE			30
55424201887SPedro Giffuni #define SQL_DESC_MINIMUM_SCALE			31
55524201887SPedro Giffuni #define SQL_DESC_NUM_PREC_RADIX			32
55624201887SPedro Giffuni #define SQL_DESC_PARAMETER_TYPE			33
55724201887SPedro Giffuni #define SQL_DESC_ROWS_PROCESSED_PTR		34
55824201887SPedro Giffuni #if (ODBCVER >= 0x0350)
55924201887SPedro Giffuni #define SQL_DESC_ROWVER				35
56024201887SPedro Giffuni #endif	/* ODBCVER >= 0x0350 */
56124201887SPedro Giffuni #define SQL_DESC_SCHEMA_NAME			SQL_COLUMN_OWNER_NAME
56224201887SPedro Giffuni #define SQL_DESC_SEARCHABLE			SQL_COLUMN_SEARCHABLE
56324201887SPedro Giffuni #define SQL_DESC_TYPE_NAME			SQL_COLUMN_TYPE_NAME
56424201887SPedro Giffuni #define SQL_DESC_TABLE_NAME			SQL_COLUMN_TABLE_NAME
56524201887SPedro Giffuni #define SQL_DESC_UNSIGNED			SQL_COLUMN_UNSIGNED
56624201887SPedro Giffuni #define SQL_DESC_UPDATABLE			SQL_COLUMN_UPDATABLE
56724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
568cdf0e10cSrcweir 
569cdf0e10cSrcweir 
57024201887SPedro Giffuni /*
57124201887SPedro Giffuni  *  SQLGetDiagField - defines for diagnostics fields
57224201887SPedro Giffuni  */
57324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
57424201887SPedro Giffuni #define SQL_DIAG_CURSOR_ROW_COUNT		(-1249)
57524201887SPedro Giffuni #define SQL_DIAG_ROW_NUMBER			(-1248)
57624201887SPedro Giffuni #define SQL_DIAG_COLUMN_NUMBER			(-1247)
57724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
578cdf0e10cSrcweir 
579cdf0e10cSrcweir 
58024201887SPedro Giffuni /*
58124201887SPedro Giffuni  *  SQLGetDiagField  - SQL_DIAG_ROW_NUMBER and SQL_DIAG_COLUMN_NUMBER
58224201887SPedro Giffuni  */
58324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
58424201887SPedro Giffuni #define SQL_NO_ROW_NUMBER			(-1)
58524201887SPedro Giffuni #define SQL_NO_COLUMN_NUMBER			(-1)
58624201887SPedro Giffuni #define SQL_ROW_NUMBER_UNKNOWN			(-2)
58724201887SPedro Giffuni #define SQL_COLUMN_NUMBER_UNKNOWN		(-2)
58824201887SPedro Giffuni #endif
589cdf0e10cSrcweir 
590cdf0e10cSrcweir 
591cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
59224201887SPedro Giffuni /*
59324201887SPedro Giffuni  *  SQLGetEnvAttr - Attributes
59424201887SPedro Giffuni  */
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 
615cdf0e10cSrcweir 
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 */
623cdf0e10cSrcweir 
624cdf0e10cSrcweir 
62524201887SPedro Giffuni /*
62624201887SPedro Giffuni  *  SQLGetFunctions - extensions to the X/Open specification
62724201887SPedro Giffuni  */
628cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
62924201887SPedro Giffuni #define SQL_API_SQLALLOCHANDLESTD		73
63024201887SPedro Giffuni #define SQL_API_SQLBULKOPERATIONS		24
63124201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
63224201887SPedro Giffuni #define SQL_API_SQLBINDPARAMETER		72
63324201887SPedro Giffuni #define SQL_API_SQLBROWSECONNECT		55
63424201887SPedro Giffuni #define SQL_API_SQLCOLATTRIBUTES		6
63524201887SPedro Giffuni #define SQL_API_SQLCOLUMNPRIVILEGES		56
63624201887SPedro Giffuni #define SQL_API_SQLDESCRIBEPARAM		58
63724201887SPedro Giffuni #define SQL_API_SQLDRIVERCONNECT		41
63824201887SPedro Giffuni #define SQL_API_SQLDRIVERS			71
63924201887SPedro Giffuni #define SQL_API_SQLEXTENDEDFETCH		59
64024201887SPedro Giffuni #define SQL_API_SQLFOREIGNKEYS			60
64124201887SPedro Giffuni #define SQL_API_SQLMORERESULTS			61
64224201887SPedro Giffuni #define SQL_API_SQLNATIVESQL			62
64324201887SPedro Giffuni #define SQL_API_SQLNUMPARAMS			63
64424201887SPedro Giffuni #define SQL_API_SQLPARAMOPTIONS			64
64524201887SPedro Giffuni #define SQL_API_SQLPRIMARYKEYS			65
64624201887SPedro Giffuni #define SQL_API_SQLPROCEDURECOLUMNS		66
64724201887SPedro Giffuni #define SQL_API_SQLPROCEDURES			67
64824201887SPedro Giffuni #define SQL_API_SQLSETPOS			68
64924201887SPedro Giffuni #define SQL_API_SQLSETSCROLLOPTIONS		69
65024201887SPedro Giffuni #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  */
65724201887SPedro Giffuni #if (ODBCVER < 0x0300)
65824201887SPedro Giffuni #define SQL_EXT_API_LAST			SQL_API_SQLBINDPARAMETER
65924201887SPedro Giffuni #define SQL_NUM_FUNCTIONS			23
66024201887SPedro Giffuni #define SQL_EXT_API_START			40
66124201887SPedro Giffuni #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
669cdf0e10cSrcweir 
670cdf0e10cSrcweir 
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
675cdf0e10cSrcweir 
676cdf0e10cSrcweir 
67724201887SPedro Giffuni /*
67824201887SPedro Giffuni  *  SQLGetFunctions - SQL_API_ODBC3_ALL_FUNCTIONS
67924201887SPedro Giffuni  */
68024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
68124201887SPedro Giffuni #define SQL_API_ODBC3_ALL_FUNCTIONS		999
68224201887SPedro Giffuni #define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE	250
68324201887SPedro Giffuni 
68424201887SPedro Giffuni #define SQL_FUNC_EXISTS(pfExists, uwAPI) \
68524201887SPedro Giffuni     ((*(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F))) \
68624201887SPedro Giffuni     ? SQL_TRUE : SQL_FALSE)
68724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
68824201887SPedro Giffuni 
68924201887SPedro Giffuni 
69024201887SPedro Giffuni /*
69124201887SPedro Giffuni  *  SQLGetInfo - ODBC 2.x extensions to the X/Open standard
69224201887SPedro Giffuni  */
69324201887SPedro Giffuni #define SQL_INFO_FIRST				0
69424201887SPedro Giffuni #define SQL_ACTIVE_CONNECTIONS			0 /* MAX_DRIVER_CONNECTIONS */
69524201887SPedro Giffuni #define SQL_ACTIVE_STATEMENTS			1 /* MAX_CONCURRENT_ACTIVITIES */
69624201887SPedro Giffuni #define SQL_DRIVER_HDBC				3
69724201887SPedro Giffuni #define SQL_DRIVER_HENV				4
69824201887SPedro Giffuni #define SQL_DRIVER_HSTMT			5
69924201887SPedro Giffuni #define SQL_DRIVER_NAME				6
70024201887SPedro Giffuni #define SQL_DRIVER_VER				7
70124201887SPedro Giffuni #define SQL_ODBC_API_CONFORMANCE		9
70224201887SPedro Giffuni #define SQL_ODBC_VER				10
70324201887SPedro Giffuni #define SQL_ROW_UPDATES				11
70424201887SPedro Giffuni #define SQL_ODBC_SAG_CLI_CONFORMANCE		12
70524201887SPedro Giffuni #define SQL_ODBC_SQL_CONFORMANCE		15
70624201887SPedro Giffuni #define SQL_PROCEDURES				21
70724201887SPedro Giffuni #define SQL_CONCAT_NULL_BEHAVIOR		22
70824201887SPedro Giffuni #define SQL_CURSOR_ROLLBACK_BEHAVIOR		24
70924201887SPedro Giffuni #define SQL_EXPRESSIONS_IN_ORDERBY		27
71024201887SPedro Giffuni #define SQL_MAX_OWNER_NAME_LEN			32 /* MAX_SCHEMA_NAME_LEN */
71124201887SPedro Giffuni #define SQL_MAX_PROCEDURE_NAME_LEN		33
71224201887SPedro Giffuni #define SQL_MAX_QUALIFIER_NAME_LEN		34 /* MAX_CATALOG_NAME_LEN */
71324201887SPedro Giffuni #define SQL_MULT_RESULT_SETS			36
71424201887SPedro Giffuni #define SQL_MULTIPLE_ACTIVE_TXN			37
71524201887SPedro Giffuni #define SQL_OUTER_JOINS				38
71624201887SPedro Giffuni #define SQL_OWNER_TERM				39
71724201887SPedro Giffuni #define SQL_PROCEDURE_TERM			40
71824201887SPedro Giffuni #define SQL_QUALIFIER_NAME_SEPARATOR		41
71924201887SPedro Giffuni #define SQL_QUALIFIER_TERM			42
72024201887SPedro Giffuni #define SQL_SCROLL_OPTIONS			44
72124201887SPedro Giffuni #define SQL_TABLE_TERM				45
72224201887SPedro Giffuni #define SQL_CONVERT_FUNCTIONS			48
72324201887SPedro Giffuni #define SQL_NUMERIC_FUNCTIONS			49
72424201887SPedro Giffuni #define SQL_STRING_FUNCTIONS			50
72524201887SPedro Giffuni #define SQL_SYSTEM_FUNCTIONS			51
72624201887SPedro Giffuni #define SQL_TIMEDATE_FUNCTIONS			52
72724201887SPedro Giffuni #define SQL_CONVERT_BIGINT			53
72824201887SPedro Giffuni #define SQL_CONVERT_BINARY			54
72924201887SPedro Giffuni #define SQL_CONVERT_BIT				55
73024201887SPedro Giffuni #define SQL_CONVERT_CHAR			56
73124201887SPedro Giffuni #define SQL_CONVERT_DATE			57
73224201887SPedro Giffuni #define SQL_CONVERT_DECIMAL			58
73324201887SPedro Giffuni #define SQL_CONVERT_DOUBLE			59
73424201887SPedro Giffuni #define SQL_CONVERT_FLOAT			60
73524201887SPedro Giffuni #define SQL_CONVERT_INTEGER			61
73624201887SPedro Giffuni #define SQL_CONVERT_LONGVARCHAR			62
73724201887SPedro Giffuni #define SQL_CONVERT_NUMERIC			63
73824201887SPedro Giffuni #define SQL_CONVERT_REAL			64
73924201887SPedro Giffuni #define SQL_CONVERT_SMALLINT			65
74024201887SPedro Giffuni #define SQL_CONVERT_TIME			66
74124201887SPedro Giffuni #define SQL_CONVERT_TIMESTAMP			67
74224201887SPedro Giffuni #define SQL_CONVERT_TINYINT			68
74324201887SPedro Giffuni #define SQL_CONVERT_VARBINARY			69
74424201887SPedro Giffuni #define SQL_CONVERT_VARCHAR			70
74524201887SPedro Giffuni #define SQL_CONVERT_LONGVARBINARY		71
74624201887SPedro Giffuni #define SQL_ODBC_SQL_OPT_IEF			73 /* SQL_INTEGRITY */
74724201887SPedro Giffuni #define SQL_CORRELATION_NAME			74
74824201887SPedro Giffuni #define SQL_NON_NULLABLE_COLUMNS		75
74924201887SPedro Giffuni #define SQL_DRIVER_HLIB				76
75024201887SPedro Giffuni #define SQL_DRIVER_ODBC_VER			77
75124201887SPedro Giffuni #define SQL_LOCK_TYPES				78
75224201887SPedro Giffuni #define SQL_POS_OPERATIONS			79
75324201887SPedro Giffuni #define SQL_POSITIONED_STATEMENTS		80
75424201887SPedro Giffuni #define SQL_BOOKMARK_PERSISTENCE		82
75524201887SPedro Giffuni #define SQL_STATIC_SENSITIVITY			83
75624201887SPedro Giffuni #define SQL_FILE_USAGE				84
75724201887SPedro Giffuni #define SQL_COLUMN_ALIAS			87
75824201887SPedro Giffuni #define SQL_GROUP_BY				88
75924201887SPedro Giffuni #define SQL_KEYWORDS				89
76024201887SPedro Giffuni #define SQL_OWNER_USAGE				91
76124201887SPedro Giffuni #define SQL_QUALIFIER_USAGE			92
76224201887SPedro Giffuni #define SQL_QUOTED_IDENTIFIER_CASE		93
76324201887SPedro Giffuni #define SQL_SUBQUERIES				95
76424201887SPedro Giffuni #define SQL_UNION				96
76524201887SPedro Giffuni #define SQL_MAX_ROW_SIZE_INCLUDES_LONG		103
76624201887SPedro Giffuni #define SQL_MAX_CHAR_LITERAL_LEN		108
76724201887SPedro Giffuni #define SQL_TIMEDATE_ADD_INTERVALS		109
76824201887SPedro Giffuni #define SQL_TIMEDATE_DIFF_INTERVALS		110
76924201887SPedro Giffuni #define SQL_NEED_LONG_DATA_LEN			111
77024201887SPedro Giffuni #define SQL_MAX_BINARY_LITERAL_LEN		112
77124201887SPedro Giffuni #define SQL_LIKE_ESCAPE_CLAUSE			113
77224201887SPedro Giffuni #define SQL_QUALIFIER_LOCATION			114
77324201887SPedro Giffuni 
77424201887SPedro Giffuni #if (ODBCVER >= 0x0201 && ODBCVER < 0x0300)
77524201887SPedro Giffuni #define SQL_OJ_CAPABILITIES         65003  /* Temp value until ODBC 3.0 */
77624201887SPedro Giffuni #endif	/* ODBCVER >= 0x0201 && ODBCVER < 0x0300 */
77724201887SPedro Giffuni 
77824201887SPedro Giffuni 
77924201887SPedro Giffuni /*
78024201887SPedro Giffuni  *  These values are not useful anymore as X/Open defines values in the
78124201887SPedro Giffuni  *  10000 range
78224201887SPedro Giffuni  */
78324201887SPedro Giffuni #if (ODBCVER < 0x0300)
78424201887SPedro Giffuni #define SQL_INFO_LAST				SQL_QUALIFIER_LOCATION
78524201887SPedro Giffuni #define SQL_INFO_DRIVER_START			1000
78624201887SPedro Giffuni #endif	/* ODBCVER < 0x0300 */
78724201887SPedro Giffuni 
78824201887SPedro Giffuni 
78924201887SPedro Giffuni /*
79024201887SPedro Giffuni  *  SQLGetInfo - ODBC 3.x extensions to the X/Open standard
79124201887SPedro Giffuni  */
79224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
79324201887SPedro Giffuni #define SQL_ACTIVE_ENVIRONMENTS			116
79424201887SPedro Giffuni #define SQL_ALTER_DOMAIN			117
79524201887SPedro Giffuni 
79624201887SPedro Giffuni #define SQL_SQL_CONFORMANCE			118
79724201887SPedro Giffuni #define SQL_DATETIME_LITERALS			119
79824201887SPedro Giffuni 
79924201887SPedro Giffuni #define SQL_ASYNC_MODE				10021	/* new X/Open spec */
80024201887SPedro Giffuni #define SQL_BATCH_ROW_COUNT			120
80124201887SPedro Giffuni #define SQL_BATCH_SUPPORT			121
80224201887SPedro Giffuni #define SQL_CATALOG_LOCATION			SQL_QUALIFIER_LOCATION
80324201887SPedro Giffuni #define SQL_CATALOG_NAME_SEPARATOR		SQL_QUALIFIER_NAME_SEPARATOR
80424201887SPedro Giffuni #define SQL_CATALOG_TERM			SQL_QUALIFIER_TERM
80524201887SPedro Giffuni #define SQL_CATALOG_USAGE			SQL_QUALIFIER_USAGE
80624201887SPedro Giffuni #define SQL_CONVERT_WCHAR			122
80724201887SPedro Giffuni #define SQL_CONVERT_INTERVAL_DAY_TIME		123
80824201887SPedro Giffuni #define SQL_CONVERT_INTERVAL_YEAR_MONTH		124
80924201887SPedro Giffuni #define SQL_CONVERT_WLONGVARCHAR		125
81024201887SPedro Giffuni #define SQL_CONVERT_WVARCHAR			126
81124201887SPedro Giffuni #define SQL_CREATE_ASSERTION			127
81224201887SPedro Giffuni #define SQL_CREATE_CHARACTER_SET		128
81324201887SPedro Giffuni #define SQL_CREATE_COLLATION			129
81424201887SPedro Giffuni #define SQL_CREATE_DOMAIN			130
81524201887SPedro Giffuni #define SQL_CREATE_SCHEMA			131
81624201887SPedro Giffuni #define SQL_CREATE_TABLE			132
81724201887SPedro Giffuni #define SQL_CREATE_TRANSLATION			133
81824201887SPedro Giffuni #define SQL_CREATE_VIEW				134
81924201887SPedro Giffuni #define SQL_DRIVER_HDESC			135
82024201887SPedro Giffuni #define SQL_DROP_ASSERTION			136
82124201887SPedro Giffuni #define SQL_DROP_CHARACTER_SET			137
82224201887SPedro Giffuni #define SQL_DROP_COLLATION			138
82324201887SPedro Giffuni #define SQL_DROP_DOMAIN				139
82424201887SPedro Giffuni #define SQL_DROP_SCHEMA				140
82524201887SPedro Giffuni #define SQL_DROP_TABLE				141
82624201887SPedro Giffuni #define SQL_DROP_TRANSLATION			142
82724201887SPedro Giffuni #define SQL_DROP_VIEW				143
82824201887SPedro Giffuni #define SQL_DYNAMIC_CURSOR_ATTRIBUTES1		144
82924201887SPedro Giffuni #define SQL_DYNAMIC_CURSOR_ATTRIBUTES2		145
83024201887SPedro Giffuni #define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1	146
83124201887SPedro Giffuni #define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2	147
83224201887SPedro Giffuni #define SQL_INDEX_KEYWORDS			148
83324201887SPedro Giffuni #define SQL_INFO_SCHEMA_VIEWS			149
83424201887SPedro Giffuni #define SQL_KEYSET_CURSOR_ATTRIBUTES1		150
83524201887SPedro Giffuni #define SQL_KEYSET_CURSOR_ATTRIBUTES2		151
83624201887SPedro Giffuni #define SQL_MAX_ASYNC_CONCURRENT_STATEMENTS	10022	/* new X/Open spec */
83724201887SPedro Giffuni #define SQL_ODBC_INTERFACE_CONFORMANCE		152
83824201887SPedro Giffuni #define SQL_PARAM_ARRAY_ROW_COUNTS		153
83924201887SPedro Giffuni #define SQL_PARAM_ARRAY_SELECTS			154
84024201887SPedro Giffuni #define SQL_SCHEMA_TERM				SQL_OWNER_TERM
84124201887SPedro Giffuni #define SQL_SCHEMA_USAGE			SQL_OWNER_USAGE
84224201887SPedro Giffuni #define SQL_SQL92_DATETIME_FUNCTIONS		155
84324201887SPedro Giffuni #define SQL_SQL92_FOREIGN_KEY_DELETE_RULE	156
84424201887SPedro Giffuni #define SQL_SQL92_FOREIGN_KEY_UPDATE_RULE	157
84524201887SPedro Giffuni #define SQL_SQL92_GRANT				158
84624201887SPedro Giffuni #define SQL_SQL92_NUMERIC_VALUE_FUNCTIONS	159
84724201887SPedro Giffuni #define SQL_SQL92_PREDICATES			160
84824201887SPedro Giffuni #define SQL_SQL92_RELATIONAL_JOIN_OPERATORS	161
84924201887SPedro Giffuni #define SQL_SQL92_REVOKE			162
85024201887SPedro Giffuni #define SQL_SQL92_ROW_VALUE_CONSTRUCTOR		163
85124201887SPedro Giffuni #define SQL_SQL92_STRING_FUNCTIONS		164
85224201887SPedro Giffuni #define SQL_SQL92_VALUE_EXPRESSIONS		165
85324201887SPedro Giffuni #define SQL_STANDARD_CLI_CONFORMANCE		166
85424201887SPedro Giffuni #define SQL_STATIC_CURSOR_ATTRIBUTES1		167
85524201887SPedro Giffuni #define SQL_STATIC_CURSOR_ATTRIBUTES2		168
85624201887SPedro Giffuni 
85724201887SPedro Giffuni #define SQL_AGGREGATE_FUNCTIONS			169
85824201887SPedro Giffuni #define SQL_DDL_INDEX				170
85924201887SPedro Giffuni #define SQL_DM_VER				171
86024201887SPedro Giffuni #define SQL_INSERT_STATEMENT			172
86124201887SPedro Giffuni #define SQL_UNION_STATEMENT			SQL_UNION
86224201887SPedro Giffuni 
86324201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
86424201887SPedro Giffuni 
86524201887SPedro Giffuni #define SQL_DTC_TRANSITION_COST			1750
86624201887SPedro Giffuni 
86724201887SPedro Giffuni 
86824201887SPedro Giffuni /*
86924201887SPedro Giffuni  *  SQLGetInfo - SQL_AGGREGATE_FUNCTIONS
87024201887SPedro Giffuni  */
87124201887SPedro Giffuni #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  *
90424201887SPedro Giffuni  * #define SQL_AT_ADD_COLUMN			0x00000001L
90524201887SPedro Giffuni  * #define SQL_AT_DROP_COLUMN			0x00000002L
90624201887SPedro Giffuni  * #define SQL_AT_ADD_CONSTRAINT		0x00000008L
90724201887SPedro Giffuni  */
90824201887SPedro Giffuni #define SQL_AT_ADD_COLUMN_SINGLE		0x00000020L
90924201887SPedro Giffuni #define SQL_AT_ADD_COLUMN_DEFAULT		0x00000040L
91024201887SPedro Giffuni #define SQL_AT_ADD_COLUMN_COLLATION		0x00000080L
91124201887SPedro Giffuni #define SQL_AT_SET_COLUMN_DEFAULT		0x00000100L
91224201887SPedro Giffuni #define SQL_AT_DROP_COLUMN_DEFAULT		0x00000200L
91324201887SPedro Giffuni #define SQL_AT_DROP_COLUMN_CASCADE		0x00000400L
91424201887SPedro Giffuni #define SQL_AT_DROP_COLUMN_RESTRICT		0x00000800L
91524201887SPedro Giffuni #define SQL_AT_ADD_TABLE_CONSTRAINT		0x00001000L
91624201887SPedro Giffuni #define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE	0x00002000L
91724201887SPedro Giffuni #define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT	0x00004000L
91824201887SPedro Giffuni #define SQL_AT_CONSTRAINT_NAME_DEFINITION	0x00008000L
91924201887SPedro Giffuni #define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED	0x00010000L
92024201887SPedro Giffuni #define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE	0x00020000L
92124201887SPedro Giffuni #define SQL_AT_CONSTRAINT_DEFERRABLE		0x00040000L
92224201887SPedro Giffuni #define SQL_AT_CONSTRAINT_NON_DEFERRABLE	0x00080000L
92324201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
92424201887SPedro Giffuni 
92524201887SPedro Giffuni 
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  */
100024201887SPedro Giffuni #define SQL_CVT_CHAR				0x00000001L
100124201887SPedro Giffuni #define SQL_CVT_NUMERIC				0x00000002L
100224201887SPedro Giffuni #define SQL_CVT_DECIMAL				0x00000004L
100324201887SPedro Giffuni #define SQL_CVT_INTEGER				0x00000008L
100424201887SPedro Giffuni #define SQL_CVT_SMALLINT			0x00000010L
100524201887SPedro Giffuni #define SQL_CVT_FLOAT				0x00000020L
100624201887SPedro Giffuni #define SQL_CVT_REAL				0x00000040L
100724201887SPedro Giffuni #define SQL_CVT_DOUBLE				0x00000080L
100824201887SPedro Giffuni #define SQL_CVT_VARCHAR				0x00000100L
100924201887SPedro Giffuni #define SQL_CVT_LONGVARCHAR			0x00000200L
101024201887SPedro Giffuni #define SQL_CVT_BINARY				0x00000400L
101124201887SPedro Giffuni #define SQL_CVT_VARBINARY			0x00000800L
101224201887SPedro Giffuni #define SQL_CVT_BIT				0x00001000L
101324201887SPedro Giffuni #define SQL_CVT_TINYINT				0x00002000L
101424201887SPedro Giffuni #define SQL_CVT_BIGINT				0x00004000L
101524201887SPedro Giffuni #define SQL_CVT_DATE				0x00008000L
101624201887SPedro Giffuni #define SQL_CVT_TIME				0x00010000L
101724201887SPedro Giffuni #define SQL_CVT_TIMESTAMP			0x00020000L
101824201887SPedro Giffuni #define SQL_CVT_LONGVARBINARY			0x00040000L
101924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
102024201887SPedro Giffuni #define SQL_CVT_INTERVAL_YEAR_MONTH		0x00080000L
102124201887SPedro Giffuni #define SQL_CVT_INTERVAL_DAY_TIME		0x00100000L
102224201887SPedro Giffuni #define SQL_CVT_WCHAR				0x00200000L
102324201887SPedro Giffuni #define SQL_CVT_WLONGVARCHAR			0x00400000L
102424201887SPedro Giffuni #define SQL_CVT_WVARCHAR			0x00800000L
102524201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
102624201887SPedro Giffuni 
102724201887SPedro Giffuni 
102824201887SPedro Giffuni /*
102924201887SPedro Giffuni  *  SQLGetInfo - SQL_CONVERT_FUNCTIONS
103024201887SPedro Giffuni  */
103124201887SPedro Giffuni #define SQL_FN_CVT_CONVERT			0x00000001L
103224201887SPedro Giffuni #if (ODBCVER >= 0x0300)
103324201887SPedro Giffuni #define SQL_FN_CVT_CAST				0x00000002L
103424201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
103524201887SPedro Giffuni 
103624201887SPedro Giffuni 
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
104324201887SPedro Giffuni 
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  */
184124201887SPedro Giffuni #define SQL_FN_STR_CONCAT			0x00000001L
184224201887SPedro Giffuni #define SQL_FN_STR_INSERT			0x00000002L
184324201887SPedro Giffuni #define SQL_FN_STR_LEFT				0x00000004L
184424201887SPedro Giffuni #define SQL_FN_STR_LTRIM			0x00000008L
184524201887SPedro Giffuni #define SQL_FN_STR_LENGTH			0x00000010L
184624201887SPedro Giffuni #define SQL_FN_STR_LOCATE			0x00000020L
184724201887SPedro Giffuni #define SQL_FN_STR_LCASE			0x00000040L
184824201887SPedro Giffuni #define SQL_FN_STR_REPEAT			0x00000080L
184924201887SPedro Giffuni #define SQL_FN_STR_REPLACE			0x00000100L
185024201887SPedro Giffuni #define SQL_FN_STR_RIGHT			0x00000200L
185124201887SPedro Giffuni #define SQL_FN_STR_RTRIM			0x00000400L
185224201887SPedro Giffuni #define SQL_FN_STR_SUBSTRING			0x00000800L
185324201887SPedro Giffuni #define SQL_FN_STR_UCASE			0x00001000L
185424201887SPedro Giffuni #define SQL_FN_STR_ASCII			0x00002000L
185524201887SPedro Giffuni #define SQL_FN_STR_CHAR				0x00004000L
185624201887SPedro Giffuni #define SQL_FN_STR_DIFFERENCE			0x00008000L
185724201887SPedro Giffuni #define SQL_FN_STR_LOCATE_2			0x00010000L
185824201887SPedro Giffuni #define SQL_FN_STR_SOUNDEX			0x00020000L
185924201887SPedro Giffuni #define SQL_FN_STR_SPACE			0x00040000L
1860cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
186124201887SPedro Giffuni #define SQL_FN_STR_BIT_LENGTH			0x00080000L
186224201887SPedro Giffuni #define SQL_FN_STR_CHAR_LENGTH			0x00100000L
186324201887SPedro Giffuni #define SQL_FN_STR_CHARACTER_LENGTH		0x00200000L
186424201887SPedro Giffuni #define SQL_FN_STR_OCTET_LENGTH			0x00400000L
186524201887SPedro Giffuni #define SQL_FN_STR_POSITION			0x00800000L
186624201887SPedro Giffuni #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
188224201887SPedro Giffuni 
1883cdf0e10cSrcweir 
188424201887SPedro Giffuni /*
188524201887SPedro Giffuni  *  SQLGetInfo - SQL_TIMEDATE_FUNCTIONS
188624201887SPedro Giffuni  */
188724201887SPedro Giffuni #define SQL_FN_TD_NOW				0x00000001L
188824201887SPedro Giffuni #define SQL_FN_TD_CURDATE			0x00000002L
188924201887SPedro Giffuni #define SQL_FN_TD_DAYOFMONTH			0x00000004L
189024201887SPedro Giffuni #define SQL_FN_TD_DAYOFWEEK			0x00000008L
189124201887SPedro Giffuni #define SQL_FN_TD_DAYOFYEAR			0x00000010L
189224201887SPedro Giffuni #define SQL_FN_TD_MONTH				0x00000020L
189324201887SPedro Giffuni #define SQL_FN_TD_QUARTER			0x00000040L
189424201887SPedro Giffuni #define SQL_FN_TD_WEEK				0x00000080L
189524201887SPedro Giffuni #define SQL_FN_TD_YEAR				0x00000100L
189624201887SPedro Giffuni #define SQL_FN_TD_CURTIME			0x00000200L
189724201887SPedro Giffuni #define SQL_FN_TD_HOUR				0x00000400L
189824201887SPedro Giffuni #define SQL_FN_TD_MINUTE			0x00000800L
189924201887SPedro Giffuni #define SQL_FN_TD_SECOND			0x00001000L
190024201887SPedro Giffuni #define SQL_FN_TD_TIMESTAMPADD			0x00002000L
190124201887SPedro Giffuni #define SQL_FN_TD_TIMESTAMPDIFF			0x00004000L
190224201887SPedro Giffuni #define SQL_FN_TD_DAYNAME			0x00008000L
190324201887SPedro Giffuni #define SQL_FN_TD_MONTHNAME			0x00010000L
1904cdf0e10cSrcweir #if (ODBCVER >= 0x0300)
190524201887SPedro Giffuni #define SQL_FN_TD_CURRENT_DATE			0x00020000L
190624201887SPedro Giffuni #define SQL_FN_TD_CURRENT_TIME			0x00040000L
190724201887SPedro Giffuni #define SQL_FN_TD_CURRENT_TIMESTAMP		0x00080000L
190824201887SPedro Giffuni #define SQL_FN_TD_EXTRACT			0x00100000L
190924201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
191024201887SPedro Giffuni 
191124201887SPedro Giffuni 
191224201887SPedro Giffuni /*
191324201887SPedro Giffuni  *  SQLGetInfo - SQL_TXN_ISOLATION_OPTION
191424201887SPedro Giffuni  */
191524201887SPedro Giffuni #if (ODBCVER < 0x0300)
191624201887SPedro Giffuni #define SQL_TXN_VERSIONING			0x00000010L
191724201887SPedro Giffuni #endif	/* ODBCVER < 0x0300 */
191824201887SPedro Giffuni 
191924201887SPedro Giffuni 
192024201887SPedro Giffuni /*
192124201887SPedro Giffuni  *  SQLGetInfo - SQL_UNION
192224201887SPedro Giffuni  */
192324201887SPedro Giffuni #define SQL_U_UNION				0x00000001L
192424201887SPedro Giffuni #define SQL_U_UNION_ALL				0x00000002L
192524201887SPedro Giffuni 
192624201887SPedro Giffuni 
192724201887SPedro Giffuni /*
192824201887SPedro Giffuni  *  SQLGetInfo - SQL_UNION_STATEMENT
192924201887SPedro Giffuni  */
193024201887SPedro Giffuni #if (ODBCVER >= 0x0300)
193124201887SPedro Giffuni #define SQL_US_UNION				SQL_U_UNION
193224201887SPedro Giffuni #define SQL_US_UNION_ALL			SQL_U_UNION_ALL
193324201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
193424201887SPedro Giffuni 
193524201887SPedro Giffuni 
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  */
195924201887SPedro Giffuni #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
200824201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
200924201887SPedro Giffuni 
201024201887SPedro Giffuni 
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  */
211624201887SPedro Giffuni #define SQL_ENTIRE_ROWSET			0
2117cdf0e10cSrcweir 
2118cdf0e10cSrcweir 
211924201887SPedro Giffuni /*
212024201887SPedro Giffuni  *  SQLSetPos - Operation
212124201887SPedro Giffuni  */
212224201887SPedro Giffuni #define SQL_POSITION				0
212324201887SPedro Giffuni #define SQL_REFRESH				1
212424201887SPedro Giffuni #define SQL_UPDATE				2
212524201887SPedro Giffuni #define SQL_DELETE				3
212624201887SPedro Giffuni 
212724201887SPedro Giffuni 
212824201887SPedro Giffuni /*
212924201887SPedro Giffuni  *  SQLBulkOperations - Operation
213024201887SPedro Giffuni  */
213124201887SPedro Giffuni #define SQL_ADD					4
213224201887SPedro Giffuni #define SQL_SETPOS_MAX_OPTION_VALUE		SQL_ADD
213324201887SPedro Giffuni #if (ODBCVER >= 0x0300)
213424201887SPedro Giffuni #define SQL_UPDATE_BY_BOOKMARK			5
213524201887SPedro Giffuni #define SQL_DELETE_BY_BOOKMARK			6
213624201887SPedro Giffuni #define SQL_FETCH_BY_BOOKMARK			7
213724201887SPedro Giffuni #endif	/* ODBCVER >= 0x0300 */
213824201887SPedro Giffuni 
213924201887SPedro Giffuni 
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
214624201887SPedro Giffuni #define SQL_SETPOS_MAX_LOCK_VALUE		SQL_LOCK_UNLOCK
214724201887SPedro Giffuni 
214824201887SPedro Giffuni 
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)
2164cdf0e10cSrcweir 
2165cdf0e10cSrcweir 
216624201887SPedro Giffuni /*
216724201887SPedro Giffuni  *  SQLSpecialColumns - Column types and scopes
216824201887SPedro Giffuni  */
216924201887SPedro Giffuni #define SQL_BEST_ROWID				1
217024201887SPedro Giffuni #define SQL_ROWVER				2
2171cdf0e10cSrcweir 
217224201887SPedro Giffuni 
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 
2209cdf0e10cSrcweir 
221024201887SPedro Giffuni /*
221124201887SPedro Giffuni  * ----------------------------------------------------------------------
221224201887SPedro Giffuni  *  Level 2 Functions
221324201887SPedro Giffuni  * ----------------------------------------------------------------------
221424201887SPedro Giffuni  */
2215cdf0e10cSrcweir 
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
2235cdf0e10cSrcweir #endif
2236cdf0e10cSrcweir 
2237cdf0e10cSrcweir 
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 
2252cdf0e10cSrcweir 
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
2259cdf0e10cSrcweir 
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 */
2274cdf0e10cSrcweir 
2275cdf0e10cSrcweir 
2276cdf0e10cSrcweir /*
227724201887SPedro Giffuni  *  SQLBindParameter - fParamType
227824201887SPedro Giffuni  *  SQLProcedureColumns - COLUMN_TYPE
2279cdf0e10cSrcweir  */
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
2286cdf0e10cSrcweir 
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
2347cdf0e10cSrcweir #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 
237124201887SPedro Giffuni SQLRETURN SQL_API SQLBrowseConnect (
237224201887SPedro Giffuni     SQLHDBC		  hdbc,
237324201887SPedro Giffuni     SQLCHAR		* szConnStrIn,
237424201887SPedro Giffuni     SQLSMALLINT		  cbConnStrIn,
237524201887SPedro Giffuni     SQLCHAR		* szConnStrOut,
237624201887SPedro Giffuni     SQLSMALLINT		  cbConnStrOutMax,
237724201887SPedro Giffuni     SQLSMALLINT		* pcbConnStrOut);
237824201887SPedro Giffuni 
237924201887SPedro Giffuni #if (ODBCVER >= 0x0300)
238024201887SPedro Giffuni SQLRETURN SQL_API SQLBulkOperations (
238124201887SPedro Giffuni     SQLHSTMT		  StatementHandle,
238224201887SPedro Giffuni     SQLSMALLINT		  Operation);
238324201887SPedro Giffuni #endif /* ODBCVER >= 0x0300 */
238424201887SPedro Giffuni 
238524201887SPedro Giffuni SQLRETURN SQL_API SQLColAttributes (
238624201887SPedro Giffuni     SQLHSTMT		  hstmt,
238724201887SPedro Giffuni     SQLUSMALLINT	  icol,
238824201887SPedro Giffuni     SQLUSMALLINT	  fDescType,
238924201887SPedro Giffuni     SQLPOINTER		  rgbDesc,
239024201887SPedro Giffuni     SQLSMALLINT		  cbDescMax,
239124201887SPedro Giffuni     SQLSMALLINT		* pcbDesc,
239224201887SPedro Giffuni     SQLLEN		* pfDesc);
239324201887SPedro Giffuni 
239424201887SPedro Giffuni SQLRETURN SQL_API SQLColumnPrivileges (
239524201887SPedro Giffuni     SQLHSTMT		  hstmt,
239624201887SPedro Giffuni     SQLCHAR		* szCatalogName,
239724201887SPedro Giffuni     SQLSMALLINT		  cbCatalogName,
239824201887SPedro Giffuni     SQLCHAR		* szSchemaName,
239924201887SPedro Giffuni     SQLSMALLINT		  cbSchemaName,
240024201887SPedro Giffuni     SQLCHAR		* szTableName,
240124201887SPedro Giffuni     SQLSMALLINT		  cbTableName,
240224201887SPedro Giffuni     SQLCHAR		* szColumnName,
240324201887SPedro Giffuni     SQLSMALLINT		  cbColumnName);
240424201887SPedro Giffuni 
240524201887SPedro Giffuni SQLRETURN SQL_API SQLDescribeParam (
240624201887SPedro Giffuni     SQLHSTMT		  hstmt,
240724201887SPedro Giffuni     SQLUSMALLINT	  ipar,
240824201887SPedro Giffuni     SQLSMALLINT		* pfSqlType,
240924201887SPedro Giffuni     SQLULEN		* pcbParamDef,
241024201887SPedro Giffuni     SQLSMALLINT		* pibScale,
241124201887SPedro Giffuni     SQLSMALLINT		* pfNullable);
241224201887SPedro Giffuni 
241324201887SPedro Giffuni SQLRETURN SQL_API SQLExtendedFetch (
241424201887SPedro Giffuni     SQLHSTMT		  hstmt,
241524201887SPedro Giffuni     SQLUSMALLINT	  fFetchType,
241624201887SPedro Giffuni     SQLLEN		  irow,
241724201887SPedro Giffuni     SQLULEN		* pcrow,
241824201887SPedro Giffuni     SQLUSMALLINT	* rgfRowStatus);
241924201887SPedro Giffuni 
242024201887SPedro Giffuni SQLRETURN SQL_API SQLForeignKeys (
242124201887SPedro Giffuni     SQLHSTMT		  hstmt,
242224201887SPedro Giffuni     SQLCHAR		* szPkCatalogName,
242324201887SPedro Giffuni     SQLSMALLINT		  cbPkCatalogName,
242424201887SPedro Giffuni     SQLCHAR		* szPkSchemaName,
242524201887SPedro Giffuni     SQLSMALLINT		  cbPkSchemaName,
242624201887SPedro Giffuni     SQLCHAR		* szPkTableName,
242724201887SPedro Giffuni     SQLSMALLINT		  cbPkTableName,
242824201887SPedro Giffuni     SQLCHAR		* szFkCatalogName,
242924201887SPedro Giffuni     SQLSMALLINT		  cbFkCatalogName,
243024201887SPedro Giffuni     SQLCHAR		* szFkSchemaName,
243124201887SPedro Giffuni     SQLSMALLINT		  cbFkSchemaName,
243224201887SPedro Giffuni     SQLCHAR		* szFkTableName,
243324201887SPedro Giffuni     SQLSMALLINT		  cbFkTableName);
243424201887SPedro Giffuni 
243524201887SPedro Giffuni SQLRETURN SQL_API SQLMoreResults (
243624201887SPedro Giffuni     SQLHSTMT		  hstmt);
243724201887SPedro Giffuni 
243824201887SPedro Giffuni SQLRETURN SQL_API SQLNativeSql (
243924201887SPedro Giffuni     SQLHDBC		  hdbc,
244024201887SPedro Giffuni     SQLCHAR		* szSqlStrIn,
244124201887SPedro Giffuni     SQLINTEGER		  cbSqlStrIn,
244224201887SPedro Giffuni     SQLCHAR		* szSqlStr,
244324201887SPedro Giffuni     SQLINTEGER		  cbSqlStrMax,
244424201887SPedro Giffuni     SQLINTEGER		* pcbSqlStr);
244524201887SPedro Giffuni 
244624201887SPedro Giffuni SQLRETURN SQL_API SQLNumParams (
244724201887SPedro Giffuni     SQLHSTMT		hstmt,
244824201887SPedro Giffuni     SQLSMALLINT		* pcpar);
244924201887SPedro Giffuni 
245024201887SPedro Giffuni SQLRETURN SQL_API SQLParamOptions (
245124201887SPedro Giffuni     SQLHSTMT		  hstmt,
245224201887SPedro Giffuni     SQLULEN		  crow,
245324201887SPedro Giffuni     SQLULEN		* pirow);
245424201887SPedro Giffuni 
245524201887SPedro Giffuni SQLRETURN SQL_API SQLPrimaryKeys (
245624201887SPedro Giffuni     SQLHSTMT		  hstmt,
245724201887SPedro Giffuni     SQLCHAR		* szCatalogName,
245824201887SPedro Giffuni     SQLSMALLINT		  cbCatalogName,
245924201887SPedro Giffuni     SQLCHAR		* szSchemaName,
246024201887SPedro Giffuni     SQLSMALLINT		  cbSchemaName,
246124201887SPedro Giffuni     SQLCHAR		* szTableName,
246224201887SPedro Giffuni     SQLSMALLINT		  cbTableName);
246324201887SPedro Giffuni 
246424201887SPedro Giffuni SQLRETURN SQL_API SQLProcedureColumns (
246524201887SPedro Giffuni     SQLHSTMT		  hstmt,
246624201887SPedro Giffuni     SQLCHAR		* szCatalogName,
246724201887SPedro Giffuni     SQLSMALLINT		  cbCatalogName,
246824201887SPedro Giffuni     SQLCHAR		* szSchemaName,
246924201887SPedro Giffuni     SQLSMALLINT		  cbSchemaName,
247024201887SPedro Giffuni     SQLCHAR		* szProcName,
247124201887SPedro Giffuni     SQLSMALLINT		  cbProcName,
247224201887SPedro Giffuni     SQLCHAR		* szColumnName,
247324201887SPedro Giffuni     SQLSMALLINT		  cbColumnName);
247424201887SPedro Giffuni 
247524201887SPedro Giffuni SQLRETURN SQL_API SQLProcedures (
247624201887SPedro Giffuni     SQLHSTMT		  hstmt,
247724201887SPedro Giffuni     SQLCHAR		* szCatalogName,
247824201887SPedro Giffuni     SQLSMALLINT		  cbCatalogName,
247924201887SPedro Giffuni     SQLCHAR		* szSchemaName,
248024201887SPedro Giffuni     SQLSMALLINT		  cbSchemaName,
248124201887SPedro Giffuni     SQLCHAR		* szProcName,
248224201887SPedro Giffuni     SQLSMALLINT		  cbProcName);
248324201887SPedro Giffuni 
248424201887SPedro Giffuni SQLRETURN SQL_API SQLSetPos (
248524201887SPedro Giffuni     SQLHSTMT		  hstmt,
248624201887SPedro Giffuni     SQLSETPOSIROW	  irow,
248724201887SPedro Giffuni     SQLUSMALLINT	  fOption,
248824201887SPedro Giffuni     SQLUSMALLINT	  fLock);
248924201887SPedro Giffuni 
249024201887SPedro Giffuni SQLRETURN SQL_API SQLTablePrivileges (
249124201887SPedro Giffuni     SQLHSTMT		  hstmt,
249224201887SPedro Giffuni     SQLCHAR		* szCatalogName,
249324201887SPedro Giffuni     SQLSMALLINT		  cbCatalogName,
249424201887SPedro Giffuni     SQLCHAR		* szSchemaName,
249524201887SPedro Giffuni     SQLSMALLINT		  cbSchemaName,
249624201887SPedro Giffuni     SQLCHAR		* szTableName,
249724201887SPedro Giffuni     SQLSMALLINT		  cbTableName);
249824201887SPedro Giffuni 
249924201887SPedro Giffuni SQLRETURN SQL_API SQLDrivers (
250024201887SPedro Giffuni     SQLHENV		  henv,
250124201887SPedro Giffuni     SQLUSMALLINT	  fDirection,
250224201887SPedro Giffuni     SQLCHAR		* szDriverDesc,
250324201887SPedro Giffuni     SQLSMALLINT		  cbDriverDescMax,
250424201887SPedro Giffuni     SQLSMALLINT		* pcbDriverDesc,
250524201887SPedro Giffuni     SQLCHAR		* szDriverAttributes,
250624201887SPedro Giffuni     SQLSMALLINT		  cbDrvrAttrMax,
250724201887SPedro Giffuni     SQLSMALLINT		* pcbDrvrAttr);
250824201887SPedro Giffuni 
250924201887SPedro Giffuni SQLRETURN SQL_API SQLBindParameter (
251024201887SPedro Giffuni     SQLHSTMT		  hstmt,
251124201887SPedro Giffuni     SQLUSMALLINT	  ipar,
251224201887SPedro Giffuni     SQLSMALLINT		  fParamType,
251324201887SPedro Giffuni     SQLSMALLINT		  fCType,
251424201887SPedro Giffuni     SQLSMALLINT		  fSqlType,
251524201887SPedro Giffuni     SQLULEN		  cbColDef,
251624201887SPedro Giffuni     SQLSMALLINT		  ibScale,
251724201887SPedro Giffuni     SQLPOINTER		  rgbValue,
251824201887SPedro Giffuni     SQLLEN		  cbValueMax,
251924201887SPedro Giffuni     SQLLEN		* pcbValue);
252024201887SPedro Giffuni 
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  */
253624201887SPedro Giffuni #ifdef ODBC_STD
253724201887SPedro Giffuni #define SQLAllocHandle			SQLAllocHandleStd
253824201887SPedro Giffuni #define SQLAllocEnv(phenv) \
253924201887SPedro Giffuni     SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, phenv)
2540cdf0e10cSrcweir 
254124201887SPedro Giffuni #if (ODBCVER >= 0x0300)
254224201887SPedro Giffuni SQLRETURN SQL_API SQLAllocHandleStd (
254324201887SPedro Giffuni     SQLSMALLINT		  fHandleType,
254424201887SPedro Giffuni     SQLHANDLE		  hInput,
254524201887SPedro Giffuni     SQLHANDLE		* phOutput);
2546cdf0e10cSrcweir #endif
2547cdf0e10cSrcweir 
254824201887SPedro Giffuni 
254924201887SPedro Giffuni /* Internal type subcodes */
255024201887SPedro Giffuni #define SQL_YEAR			SQL_CODE_YEAR
255124201887SPedro Giffuni #define SQL_MONTH			SQL_CODE_MONTH
255224201887SPedro Giffuni #define SQL_DAY				SQL_CODE_DAY
255324201887SPedro Giffuni #define SQL_HOUR			SQL_CODE_HOUR
255424201887SPedro Giffuni #define SQL_MINUTE			SQL_CODE_MINUTE
255524201887SPedro Giffuni #define SQL_SECOND			SQL_CODE_SECOND
255624201887SPedro Giffuni #define SQL_YEAR_TO_MONTH		SQL_CODE_YEAR_TO_MONTH
255724201887SPedro Giffuni #define SQL_DAY_TO_HOUR			SQL_CODE_DAY_TO_HOUR
255824201887SPedro Giffuni #define SQL_DAY_TO_MINUTE		SQL_CODE_DAY_TO_MINUTE
255924201887SPedro Giffuni #define SQL_DAY_TO_SECOND		SQL_CODE_DAY_TO_SECOND
256024201887SPedro Giffuni #define SQL_HOUR_TO_MINUTE		SQL_CODE_HOUR_TO_MINUTE
256124201887SPedro Giffuni #define SQL_HOUR_TO_SECOND		SQL_CODE_HOUR_TO_SECOND
256224201887SPedro Giffuni #define SQL_MINUTE_TO_SECOND		SQL_CODE_MINUTE_TO_SECOND
256324201887SPedro Giffuni #endif	/* ODBC_STD */
256424201887SPedro Giffuni 
256524201887SPedro Giffuni 
256624201887SPedro Giffuni #ifdef __cplusplus
256724201887SPedro Giffuni }
2568cdf0e10cSrcweir #endif
256924201887SPedro Giffuni 
257024201887SPedro Giffuni #include <odbc/sqlucode.h>
257124201887SPedro Giffuni 
257224201887SPedro Giffuni #endif	/* _SQLEXT_H */
2573