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