You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by pf...@apache.org on 2012/06/28 01:09:08 UTC
svn commit: r1354770 [1/3] - in /incubator/ooo/symphony/trunk/main/unixODBC:
./ inc/iodbcunix.h inc/sql.h inc/sqlext.h inc/sqltypes.h inc/sqlucode.h
Author: pfg
Date: Wed Jun 27 23:09:07 2012
New Revision: 1354770
URL: http://svn.apache.org/viewvc?rev=1354770&view=rev
Log:
Merge r1179460 - Update unixODBC headers with code from iODBC under a suitable license.
Added:
incubator/ooo/symphony/trunk/main/unixODBC/inc/iodbcunix.h
- copied, changed from r1179460, incubator/ooo/trunk/main/unixODBC/inc/iodbcunix.h
Modified:
incubator/ooo/symphony/trunk/main/unixODBC/ (props changed)
incubator/ooo/symphony/trunk/main/unixODBC/inc/sql.h
incubator/ooo/symphony/trunk/main/unixODBC/inc/sqlext.h
incubator/ooo/symphony/trunk/main/unixODBC/inc/sqltypes.h
incubator/ooo/symphony/trunk/main/unixODBC/inc/sqlucode.h
Propchange: incubator/ooo/symphony/trunk/main/unixODBC/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jun 27 23:09:07 2012
@@ -0,0 +1 @@
+/incubator/ooo/trunk/main/unixODBC:1179460,1180091,1200721,1298779
Copied: incubator/ooo/symphony/trunk/main/unixODBC/inc/iodbcunix.h (from r1179460, incubator/ooo/trunk/main/unixODBC/inc/iodbcunix.h)
URL: http://svn.apache.org/viewvc/incubator/ooo/symphony/trunk/main/unixODBC/inc/iodbcunix.h?p2=incubator/ooo/symphony/trunk/main/unixODBC/inc/iodbcunix.h&p1=incubator/ooo/trunk/main/unixODBC/inc/iodbcunix.h&r1=1179460&r2=1354770&rev=1354770&view=diff
==============================================================================
--- incubator/ooo/trunk/main/unixODBC/inc/iodbcunix.h (original)
+++ incubator/ooo/symphony/trunk/main/unixODBC/inc/iodbcunix.h Wed Jun 27 23:09:07 2012
@@ -1,14 +1,14 @@
/*
* iodbcunix.h
*
- * $Id: iodbcunix.h,v 1.7 2006/01/24 15:02:23 source Exp $
+ * $Id: iodbcunix.h,v 1.8 2009/08/30 10:48:32 source Exp $
*
* ODBC defines for Unix
*
* The iODBC driver manager.
*
* Copyright (C) 1995 by Ke Jin <ke...@empress.com>
- * Copyright (C) 1996-2006 by OpenLink Software <io...@openlinksw.com>
+ * Copyright (C) 1996-2009 by OpenLink Software <io...@openlinksw.com>
* All Rights Reserved.
*
* This software is released under the terms of either of the following
@@ -98,8 +98,10 @@
#define PASCAL
#define VOID void
#define CALLBACK
+#if !( defined(OS2) || defined(WNT) )
#define _cdecl
#define __stdcall
+#endif
/*
Modified: incubator/ooo/symphony/trunk/main/unixODBC/inc/sql.h
URL: http://svn.apache.org/viewvc/incubator/ooo/symphony/trunk/main/unixODBC/inc/sql.h?rev=1354770&r1=1354769&r2=1354770&view=diff
==============================================================================
--- incubator/ooo/symphony/trunk/main/unixODBC/inc/sql.h (original)
+++ incubator/ooo/symphony/trunk/main/unixODBC/inc/sql.h Wed Jun 27 23:09:07 2012
@@ -1,824 +1,1187 @@
-/**************************************************
- * sql.h
+/*
+ * sql.h
*
- * These should be consistent with the MS version.
+ * $Id: sql.h,v 1.11 2009/09/09 20:06:24 source Exp $
*
- **************************************************/
-#ifndef __SQL_H
-#define __SQL_H
+ * ODBC defines
+ *
+ * The iODBC driver manager.
+ *
+ * Copyright (C) 1995 by Ke Jin <ke...@empress.com>
+ * Copyright (C) 1996-2009 by OpenLink Software <io...@openlinksw.com>
+ * All Rights Reserved.
+ *
+ * This software is released under the terms of either of the following
+ * licenses:
+ *
+ * - GNU Library General Public License (see LICENSE.LGPL)
+ * - The BSD License (see LICENSE.BSD).
+ *
+ * Note that the only valid version of the LGPL license as far as this
+ * project is concerned is the original GNU Library General Public License
+ * Version 2, dated June 1991.
+ *
+ * While not mandated by the BSD license, any patches you make to the
+ * iODBC source code may be contributed back into the iODBC project
+ * at your discretion. Contributions will benefit the Open Source and
+ * Data Access community as a whole. Submissions may be made at:
+ *
+ * http://www.iodbc.org
+ *
+ *
+ * GNU Library Generic Public License Version 2
+ * ============================================
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; only
+ * Version 2 of the License dated June 1991.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ *
+ * The BSD License
+ * ===============
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name of OpenLink Software Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef _SQL_H
+#define _SQL_H
-/****************************
- * default to 3.51 declare something else before here and you get a whole new ball of wax
- ***************************/
+/*
+ * Set default specification to ODBC 3.51
+ */
#ifndef ODBCVER
-#define ODBCVER 0x0351
+#define ODBCVER 0x0351
#endif
-#ifndef __SQLTYPES_H
-#include "odbc/sqltypes.h"
+#ifndef _SQLTYPES_H
+#include <odbc/sqltypes.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
-/****************************
- * some ret values
- ***************************/
-#define SQL_NULL_DATA (-1)
-#define SQL_DATA_AT_EXEC (-2)
-#define SQL_SUCCESS 0
-#define SQL_SUCCESS_WITH_INFO 1
-#if (ODBCVER >= 0x0300)
-#define SQL_NO_DATA 100
-#endif
-#define SQL_ERROR (-1)
-#define SQL_INVALID_HANDLE (-2)
-#define SQL_STILL_EXECUTING 2
-#define SQL_NEED_DATA 99
-#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
-
-/****************************
- * use these to indicate string termination to some function
- ***************************/
-#define SQL_NTS (-3)
-#define SQL_NTSL (-3L)
+/*
+ * Useful Constants
+ */
+#define SQL_MAX_MESSAGE_LENGTH 512
-/* maximum message length */
-#define SQL_MAX_MESSAGE_LENGTH 512
-/* date/time length constants */
+/*
+ * Handle types
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_DATE_LEN 10
-#define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */
-#define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */
-#endif
+#define SQL_HANDLE_ENV 1
+#define SQL_HANDLE_DBC 2
+#define SQL_HANDLE_STMT 3
+#define SQL_HANDLE_DESC 4
+#endif /* ODBCVER >= 0x0300 */
-/* handle type identifiers */
-#if (ODBCVER >= 0x0300)
-#define SQL_HANDLE_ENV 1
-#define SQL_HANDLE_DBC 2
-#define SQL_HANDLE_STMT 3
-#define SQL_HANDLE_DESC 4
-#endif
-/* environment attribute */
+/*
+ * Function return codes
+ */
+#define SQL_SUCCESS 0
+#define SQL_SUCCESS_WITH_INFO 1
+#define SQL_STILL_EXECUTING 2
+#define SQL_ERROR (-1)
+#define SQL_INVALID_HANDLE (-2)
+#define SQL_NEED_DATA 99
#if (ODBCVER >= 0x0300)
-#define SQL_ATTR_OUTPUT_NTS 10001
-#endif
+#define SQL_NO_DATA 100
+#endif /* ODBCVER >= 0x0300 */
-/* connection attributes */
-#if (ODBCVER >= 0x0300)
-#define SQL_ATTR_AUTO_IPD 10001
-#define SQL_ATTR_METADATA_ID 10014
-#endif /* ODBCVER >= 0x0300 */
-/* statement attributes */
-#if (ODBCVER >= 0x0300)
-#define SQL_ATTR_APP_ROW_DESC 10010
-#define SQL_ATTR_APP_PARAM_DESC 10011
-#define SQL_ATTR_IMP_ROW_DESC 10012
-#define SQL_ATTR_IMP_PARAM_DESC 10013
-#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
-#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
-#endif
+/*
+ * Test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO
+ */
+#define SQL_SUCCEEDED(rc) (((rc) & (~1)) == 0)
-/* SQL_ATTR_CURSOR_SCROLLABLE values */
-#if (ODBCVER >= 0x0300)
-#define SQL_NONSCROLLABLE 0
-#define SQL_SCROLLABLE 1
-#endif /* ODBCVER >= 0x0300 */
-/* identifiers of fields in the SQL descriptor */
-#if (ODBCVER >= 0x0300)
-#define SQL_DESC_COUNT 1001
-#define SQL_DESC_TYPE 1002
-#define SQL_DESC_LENGTH 1003
-#define SQL_DESC_OCTET_LENGTH_PTR 1004
-#define SQL_DESC_PRECISION 1005
-#define SQL_DESC_SCALE 1006
-#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
-#define SQL_DESC_NULLABLE 1008
-#define SQL_DESC_INDICATOR_PTR 1009
-#define SQL_DESC_DATA_PTR 1010
-#define SQL_DESC_NAME 1011
-#define SQL_DESC_UNNAMED 1012
-#define SQL_DESC_OCTET_LENGTH 1013
-#define SQL_DESC_ALLOC_TYPE 1099
-#endif
-
-/* identifiers of fields in the diagnostics area */
-#if (ODBCVER >= 0x0300)
-#define SQL_DIAG_RETURNCODE 1
-#define SQL_DIAG_NUMBER 2
-#define SQL_DIAG_ROW_COUNT 3
-#define SQL_DIAG_SQLSTATE 4
-#define SQL_DIAG_NATIVE 5
-#define SQL_DIAG_MESSAGE_TEXT 6
-#define SQL_DIAG_DYNAMIC_FUNCTION 7
-#define SQL_DIAG_CLASS_ORIGIN 8
-#define SQL_DIAG_SUBCLASS_ORIGIN 9
-#define SQL_DIAG_CONNECTION_NAME 10
-#define SQL_DIAG_SERVER_NAME 11
-#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
-#endif
+/*
+ * Special length values
+ */
+#define SQL_NULL_DATA (-1)
+#define SQL_DATA_AT_EXEC (-2)
-/* dynamic function codes */
-#if (ODBCVER >= 0x0300)
-#define SQL_DIAG_ALTER_DOMAIN 3
-#define SQL_DIAG_ALTER_TABLE 4
-#define SQL_DIAG_CALL 7
-#define SQL_DIAG_CREATE_ASSERTION 6
-#define SQL_DIAG_CREATE_CHARACTER_SET 8
-#define SQL_DIAG_CREATE_COLLATION 10
-#define SQL_DIAG_CREATE_DOMAIN 23
-#define SQL_DIAG_CREATE_INDEX (-1)
-#define SQL_DIAG_CREATE_SCHEMA 64
-#define SQL_DIAG_CREATE_TABLE 77
-#define SQL_DIAG_CREATE_TRANSLATION 79
-#define SQL_DIAG_CREATE_VIEW 84
-#define SQL_DIAG_DELETE_WHERE 19
-#define SQL_DIAG_DROP_ASSERTION 24
-#define SQL_DIAG_DROP_CHARACTER_SET 25
-#define SQL_DIAG_DROP_COLLATION 26
-#define SQL_DIAG_DROP_DOMAIN 27
-#define SQL_DIAG_DROP_INDEX (-2)
-#define SQL_DIAG_DROP_SCHEMA 31
-#define SQL_DIAG_DROP_TABLE 32
-#define SQL_DIAG_DROP_TRANSLATION 33
-#define SQL_DIAG_DROP_VIEW 36
-#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
-#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
-#define SQL_DIAG_GRANT 48
-#define SQL_DIAG_INSERT 50
-#define SQL_DIAG_REVOKE 59
-#define SQL_DIAG_SELECT_CURSOR 85
-#define SQL_DIAG_UNKNOWN_STATEMENT 0
-#define SQL_DIAG_UPDATE_WHERE 82
-#endif /* ODBCVER >= 0x0300 */
-/* SQL data type codes */
-#define SQL_UNKNOWN_TYPE 0
-#define SQL_CHAR 1
-#define SQL_NUMERIC 2
-#define SQL_DECIMAL 3
-#define SQL_INTEGER 4
-#define SQL_SMALLINT 5
-#define SQL_FLOAT 6
-#define SQL_REAL 7
-#define SQL_DOUBLE 8
-#if (ODBCVER >= 0x0300)
-#define SQL_DATETIME 9
-#endif
-#define SQL_VARCHAR 12
+/*
+ * Flags for null-terminated strings
+ */
+#define SQL_NTS (-3)
+#define SQL_NTSL (-3L)
-/* One-parameter shortcuts for date/time data types */
-#if (ODBCVER >= 0x0300)
-#define SQL_TYPE_DATE 91
-#define SQL_TYPE_TIME 92
-#define SQL_TYPE_TIMESTAMP 93
-#endif
-/* Statement attribute values for cursor sensitivity */
-#if (ODBCVER >= 0x0300)
-#define SQL_UNSPECIFIED 0
-#define SQL_INSENSITIVE 1
-#define SQL_SENSITIVE 2
-#endif
+/*
+ * Standard SQL datatypes, using ANSI type numbering
+ */
+#define SQL_UNKNOWN_TYPE 0
+#define SQL_CHAR 1
+#define SQL_NUMERIC 2
+#define SQL_DECIMAL 3
+#define SQL_INTEGER 4
+#define SQL_SMALLINT 5
+#define SQL_FLOAT 6
+#define SQL_REAL 7
+#define SQL_DOUBLE 8
+#if (ODBCVER >= 0x0300)
+#define SQL_DATETIME 9
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_VARCHAR 12
-/* GetTypeInfo() request for all data types */
-#define SQL_ALL_TYPES 0
-/* Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() */
-#if (ODBCVER >= 0x0300)
-#define SQL_DEFAULT 99
-#endif
+/*
+ * SQLGetTypeInfo request for all data types
+ */
+#define SQL_ALL_TYPES 0
+
-/* SQLGetData() code indicating that the application row descriptor
- * specifies the data type
+/*
+ * Statement attribute values for date/time data types
*/
#if (ODBCVER >= 0x0300)
-#define SQL_ARD_TYPE (-99)
-#endif
+#define SQL_TYPE_DATE 91
+#define SQL_TYPE_TIME 92
+#define SQL_TYPE_TIMESTAMP 93
+#endif /* ODBCVER >= 0x0300 */
-/* SQL date/time type subcodes */
-#if (ODBCVER >= 0x0300)
-#define SQL_CODE_DATE 1
-#define SQL_CODE_TIME 2
-#define SQL_CODE_TIMESTAMP 3
-#endif
-/* CLI option values */
+/*
+ * Date/Time length constants
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_FALSE 0
-#define SQL_TRUE 1
-#endif
+#define SQL_DATE_LEN 10
+#define SQL_TIME_LEN 8 /* add P+1 if prec >0 */
+#define SQL_TIMESTAMP_LEN 19 /* add P+1 if prec >0 */
+#endif /* ODBCVER >= 0x0300 */
-/* values of NULLABLE field in descriptor */
-#define SQL_NO_NULLS 0
-#define SQL_NULLABLE 1
-/* Value returned by SQLGetTypeInfo() to denote that it is
- * not known whether or not a data type supports null values.
+/*
+ * NULL status constants
*/
-#define SQL_NULLABLE_UNKNOWN 2
+#define SQL_NO_NULLS 0
+#define SQL_NULLABLE 1
+#define SQL_NULLABLE_UNKNOWN 2
-/* Values returned by SQLGetTypeInfo() to show WHERE clause
- * supported
+
+/*
+ * NULL Handles
*/
+#define SQL_NULL_HENV 0
+#define SQL_NULL_HDBC 0
+#define SQL_NULL_HSTMT 0
#if (ODBCVER >= 0x0300)
-#define SQL_PRED_NONE 0
-#define SQL_PRED_CHAR 1
-#define SQL_PRED_BASIC 2
-#endif
+#define SQL_NULL_HDESC 0
+#endif /* ODBCVER >= 0x0300 */
-/* values of UNNAMED field in descriptor */
-#if (ODBCVER >= 0x0300)
-#define SQL_NAMED 0
-#define SQL_UNNAMED 1
-#endif
-/* values of ALLOC_TYPE field in descriptor */
+/*
+ * NULL handle for parent argument to SQLAllocHandle when allocating
+ * a SQLHENV
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_DESC_ALLOC_AUTO 1
-#define SQL_DESC_ALLOC_USER 2
-#endif
-
-/* FreeStmt() options */
-#define SQL_CLOSE 0
-#define SQL_DROP 1
-#define SQL_UNBIND 2
-#define SQL_RESET_PARAMS 3
+#define SQL_NULL_HANDLE 0L
+#endif /* ODBCVER >= 0x0300 */
-/* Codes used for FetchOrientation in SQLFetchScroll(),
- and in SQLDataSources()
-*/
-#define SQL_FETCH_NEXT 1
-#define SQL_FETCH_FIRST 2
-/* Other codes used for FetchOrientation in SQLFetchScroll() */
-#define SQL_FETCH_LAST 3
-#define SQL_FETCH_PRIOR 4
-#define SQL_FETCH_ABSOLUTE 5
-#define SQL_FETCH_RELATIVE 6
+/*
+ * CLI option values
+ */
+#if (ODBCVER >= 0x0300)
+#define SQL_FALSE 0
+#define SQL_TRUE 1
+#endif /* ODBCVER >= 0x0300 */
-/* SQLEndTran() options */
-#define SQL_COMMIT 0
-#define SQL_ROLLBACK 1
-/* null handles returned by SQLAllocHandle() */
-#define SQL_NULL_HENV 0
-#define SQL_NULL_HDBC 0
-#define SQL_NULL_HSTMT 0
+/*
+ * Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData()
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_NULL_HDESC 0
-#define SQL_NULL_DESC 0
-#endif
+#define SQL_DEFAULT 99
+#endif /* ODBCVER >= 0x0300 */
-/* null handle used in place of parent handle when allocating HENV */
-#if (ODBCVER >= 0x0300)
-#define SQL_NULL_HANDLE 0L
-#endif
-/* Values that may appear in the result set of SQLSpecialColumns() */
-#define SQL_SCOPE_CURROW 0
-#define SQL_SCOPE_TRANSACTION 1
-#define SQL_SCOPE_SESSION 2
+/*
+ * SQLDataSources/SQLFetchScroll - FetchOrientation
+ */
+#define SQL_FETCH_NEXT 1
+#define SQL_FETCH_FIRST 2
-#define SQL_PC_UNKNOWN 0
-#if (ODBCVER >= 0x0300)
-#define SQL_PC_NON_PSEUDO 1
-#endif
-#define SQL_PC_PSEUDO 2
-/* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
-#if (ODBCVER >= 0x0300)
-#define SQL_ROW_IDENTIFIER 1
-#endif
+/*
+ * SQLFetchScroll - FetchOrientation
+ */
+#define SQL_FETCH_LAST 3
+#define SQL_FETCH_PRIOR 4
+#define SQL_FETCH_ABSOLUTE 5
+#define SQL_FETCH_RELATIVE 6
-/* Reserved values for UNIQUE argument of SQLStatistics() */
-#define SQL_INDEX_UNIQUE 0
-#define SQL_INDEX_ALL 1
-/* Values that may appear in the result set of SQLStatistics() */
-#define SQL_INDEX_CLUSTERED 1
-#define SQL_INDEX_HASHED 2
-#define SQL_INDEX_OTHER 3
+/*
+ * SQLFreeStmt
+ */
+#define SQL_CLOSE 0
+#define SQL_DROP 1
+#define SQL_UNBIND 2
+#define SQL_RESET_PARAMS 3
-/* SQLGetFunctions() values to identify ODBC APIs */
-#define SQL_API_SQLALLOCCONNECT 1
-#define SQL_API_SQLALLOCENV 2
-#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLALLOCHANDLE 1001
-#endif
-#define SQL_API_SQLALLOCSTMT 3
-#define SQL_API_SQLBINDCOL 4
-#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLBINDPARAM 1002
-#endif
-#define SQL_API_SQLCANCEL 5
-#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLCLOSECURSOR 1003
-#define SQL_API_SQLCOLATTRIBUTE 6
-#endif
-#define SQL_API_SQLCOLUMNS 40
-#define SQL_API_SQLCONNECT 7
+
+/*
+ * SQLGetConnectAttr - connection attributes
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLCOPYDESC 1004
-#endif
-#define SQL_API_SQLDATASOURCES 57
-#define SQL_API_SQLDESCRIBECOL 8
-#define SQL_API_SQLDISCONNECT 9
+#define SQL_ATTR_AUTO_IPD 10001
+#define SQL_ATTR_METADATA_ID 10014
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetData() code indicating that the application row descriptor
+ * specifies the data type
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLENDTRAN 1005
-#endif
-#define SQL_API_SQLERROR 10
-#define SQL_API_SQLEXECDIRECT 11
-#define SQL_API_SQLEXECUTE 12
-#define SQL_API_SQLFETCH 13
+#define SQL_ARD_TYPE (-99)
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDescField - identifiers of fields in the SQL descriptor
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLFETCHSCROLL 1021
-#endif
-#define SQL_API_SQLFREECONNECT 14
-#define SQL_API_SQLFREEENV 15
+#define SQL_DESC_COUNT 1001
+#define SQL_DESC_TYPE 1002
+#define SQL_DESC_LENGTH 1003
+#define SQL_DESC_OCTET_LENGTH_PTR 1004
+#define SQL_DESC_PRECISION 1005
+#define SQL_DESC_SCALE 1006
+#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
+#define SQL_DESC_NULLABLE 1008
+#define SQL_DESC_INDICATOR_PTR 1009
+#define SQL_DESC_DATA_PTR 1010
+#define SQL_DESC_NAME 1011
+#define SQL_DESC_UNNAMED 1012
+#define SQL_DESC_OCTET_LENGTH 1013
+#define SQL_DESC_ALLOC_TYPE 1099
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDescField - SQL_DESC_ALLOC_TYPE
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLFREEHANDLE 1006
-#endif
-#define SQL_API_SQLFREESTMT 16
+#define SQL_DESC_ALLOC_AUTO 1
+#define SQL_DESC_ALLOC_USER 2
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDescField - SQL_DESC_DATETIME_INTERVAL_CODE
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLGETCONNECTATTR 1007
-#endif
-#define SQL_API_SQLGETCONNECTOPTION 42
-#define SQL_API_SQLGETCURSORNAME 17
-#define SQL_API_SQLGETDATA 43
+#define SQL_CODE_DATE 1
+#define SQL_CODE_TIME 2
+#define SQL_CODE_TIMESTAMP 3
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDescField - SQL_DESC_UNNAMED
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLGETDESCFIELD 1008
-#define SQL_API_SQLGETDESCREC 1009
-#define SQL_API_SQLGETDIAGFIELD 1010
-#define SQL_API_SQLGETDIAGREC 1011
-#define SQL_API_SQLGETENVATTR 1012
-#endif
-#define SQL_API_SQLGETFUNCTIONS 44
-#define SQL_API_SQLGETINFO 45
+#define SQL_NAMED 0
+#define SQL_UNNAMED 1
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDiagField - identifiers of fields in the diagnostics area
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLGETSTMTATTR 1014
-#endif
-#define SQL_API_SQLGETSTMTOPTION 46
-#define SQL_API_SQLGETTYPEINFO 47
-#define SQL_API_SQLNUMRESULTCOLS 18
-#define SQL_API_SQLPARAMDATA 48
-#define SQL_API_SQLPREPARE 19
-#define SQL_API_SQLPUTDATA 49
-#define SQL_API_SQLROWCOUNT 20
+#define SQL_DIAG_RETURNCODE 1
+#define SQL_DIAG_NUMBER 2
+#define SQL_DIAG_ROW_COUNT 3
+#define SQL_DIAG_SQLSTATE 4
+#define SQL_DIAG_NATIVE 5
+#define SQL_DIAG_MESSAGE_TEXT 6
+#define SQL_DIAG_DYNAMIC_FUNCTION 7
+#define SQL_DIAG_CLASS_ORIGIN 8
+#define SQL_DIAG_SUBCLASS_ORIGIN 9
+#define SQL_DIAG_CONNECTION_NAME 10
+#define SQL_DIAG_SERVER_NAME 11
+#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetDiagField - SQL_DIAG_DYNAMIC_FUNCTION_CODE
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLSETCONNECTATTR 1016
-#endif
-#define SQL_API_SQLSETCONNECTOPTION 50
-#define SQL_API_SQLSETCURSORNAME 21
+#define SQL_DIAG_ALTER_DOMAIN 3
+#define SQL_DIAG_ALTER_TABLE 4
+#define SQL_DIAG_CALL 7
+#define SQL_DIAG_CREATE_ASSERTION 6
+#define SQL_DIAG_CREATE_CHARACTER_SET 8
+#define SQL_DIAG_CREATE_COLLATION 10
+#define SQL_DIAG_CREATE_DOMAIN 23
+#define SQL_DIAG_CREATE_INDEX (-1)
+#define SQL_DIAG_CREATE_SCHEMA 64
+#define SQL_DIAG_CREATE_TABLE 77
+#define SQL_DIAG_CREATE_TRANSLATION 79
+#define SQL_DIAG_CREATE_VIEW 84
+#define SQL_DIAG_DELETE_WHERE 19
+#define SQL_DIAG_DROP_ASSERTION 24
+#define SQL_DIAG_DROP_CHARACTER_SET 25
+#define SQL_DIAG_DROP_COLLATION 26
+#define SQL_DIAG_DROP_DOMAIN 27
+#define SQL_DIAG_DROP_INDEX (-2)
+#define SQL_DIAG_DROP_SCHEMA 31
+#define SQL_DIAG_DROP_TABLE 32
+#define SQL_DIAG_DROP_TRANSLATION 33
+#define SQL_DIAG_DROP_VIEW 36
+#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
+#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
+#define SQL_DIAG_GRANT 48
+#define SQL_DIAG_INSERT 50
+#define SQL_DIAG_REVOKE 59
+#define SQL_DIAG_SELECT_CURSOR 85
+#define SQL_DIAG_UNKNOWN_STATEMENT 0
+#define SQL_DIAG_UPDATE_WHERE 82
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetEnvAttr - environment attribute
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLSETDESCFIELD 1017
-#define SQL_API_SQLSETDESCREC 1018
-#define SQL_API_SQLSETENVATTR 1019
-#endif
-#define SQL_API_SQLSETPARAM 22
+#define SQL_ATTR_OUTPUT_NTS 10001
+#endif /* ODBCVER >= 0x0300 */
+
+
+/*
+ * SQLGetFunctions
+ */
+#define SQL_API_SQLALLOCCONNECT 1
+#define SQL_API_SQLALLOCENV 2
#if (ODBCVER >= 0x0300)
-#define SQL_API_SQLSETSTMTATTR 1020
-#endif
-#define SQL_API_SQLSETSTMTOPTION 51
-#define SQL_API_SQLSPECIALCOLUMNS 52
-#define SQL_API_SQLSTATISTICS 53
-#define SQL_API_SQLTABLES 54
-#define SQL_API_SQLTRANSACT 23
+#define SQL_API_SQLALLOCHANDLE 1001
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLALLOCSTMT 3
+#define SQL_API_SQLBINDCOL 4
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLBINDPARAM 1002
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLCANCEL 5
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLCLOSECURSOR 1003
+#define SQL_API_SQLCOLATTRIBUTE 6
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLCOLUMNS 40
+#define SQL_API_SQLCONNECT 7
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLCOPYDESC 1004
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLDATASOURCES 57
+#define SQL_API_SQLDESCRIBECOL 8
+#define SQL_API_SQLDISCONNECT 9
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLENDTRAN 1005
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLERROR 10
+#define SQL_API_SQLEXECDIRECT 11
+#define SQL_API_SQLEXECUTE 12
+#define SQL_API_SQLFETCH 13
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLFETCHSCROLL 1021
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLFREECONNECT 14
+#define SQL_API_SQLFREEENV 15
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLFREEHANDLE 1006
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLFREESTMT 16
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLGETCONNECTATTR 1007
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLGETCONNECTOPTION 42
+#define SQL_API_SQLGETCURSORNAME 17
+#define SQL_API_SQLGETDATA 43
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLGETDESCFIELD 1008
+#define SQL_API_SQLGETDESCREC 1009
+#define SQL_API_SQLGETDIAGFIELD 1010
+#define SQL_API_SQLGETDIAGREC 1011
+#define SQL_API_SQLGETENVATTR 1012
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLGETFUNCTIONS 44
+#define SQL_API_SQLGETINFO 45
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLGETSTMTATTR 1014
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLGETSTMTOPTION 46
+#define SQL_API_SQLGETTYPEINFO 47
+#define SQL_API_SQLNUMRESULTCOLS 18
+#define SQL_API_SQLPARAMDATA 48
+#define SQL_API_SQLPREPARE 19
+#define SQL_API_SQLPUTDATA 49
+#define SQL_API_SQLROWCOUNT 20
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLSETCONNECTATTR 1016
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLSETCONNECTOPTION 50
+#define SQL_API_SQLSETCURSORNAME 21
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLSETDESCFIELD 1017
+#define SQL_API_SQLSETDESCREC 1018
+#define SQL_API_SQLSETENVATTR 1019
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLSETPARAM 22
+#if (ODBCVER >= 0x0300)
+#define SQL_API_SQLSETSTMTATTR 1020
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_API_SQLSETSTMTOPTION 51
+#define SQL_API_SQLSPECIALCOLUMNS 52
+#define SQL_API_SQLSTATISTICS 53
+#define SQL_API_SQLTABLES 54
+#define SQL_API_SQLTRANSACT 23
+
-/* Information requested by SQLGetInfo() */
+/*
+ * SQLGetInfo
+ */
#if (ODBCVER >= 0x0300)
-#define SQL_MAX_DRIVER_CONNECTIONS 0
+#define SQL_MAX_DRIVER_CONNECTIONS 0
#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
-#define SQL_MAX_CONCURRENT_ACTIVITIES 1
+#define SQL_MAX_CONCURRENT_ACTIVITIES 1
#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
-#endif
-#define SQL_DATA_SOURCE_NAME 2
-#define SQL_FETCH_DIRECTION 8
-#define SQL_SERVER_NAME 13
-#define SQL_SEARCH_PATTERN_ESCAPE 14
-#define SQL_DBMS_NAME 17
-#define SQL_DBMS_VER 18
-#define SQL_ACCESSIBLE_TABLES 19
-#define SQL_ACCESSIBLE_PROCEDURES 20
-#define SQL_CURSOR_COMMIT_BEHAVIOR 23
-#define SQL_DATA_SOURCE_READ_ONLY 25
-#define SQL_DEFAULT_TXN_ISOLATION 26
-#define SQL_IDENTIFIER_CASE 28
-#define SQL_IDENTIFIER_QUOTE_CHAR 29
-#define SQL_MAX_COLUMN_NAME_LEN 30
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_DATA_SOURCE_NAME 2
+#define SQL_FETCH_DIRECTION 8
+#define SQL_SERVER_NAME 13
+#define SQL_SEARCH_PATTERN_ESCAPE 14
+#define SQL_DBMS_NAME 17
+#define SQL_DBMS_VER 18
+#define SQL_ACCESSIBLE_TABLES 19
+#define SQL_ACCESSIBLE_PROCEDURES 20
+#define SQL_CURSOR_COMMIT_BEHAVIOR 23
+#define SQL_DATA_SOURCE_READ_ONLY 25
+#define SQL_DEFAULT_TXN_ISOLATION 26
+#define SQL_IDENTIFIER_CASE 28
+#define SQL_IDENTIFIER_QUOTE_CHAR 29
+#define SQL_MAX_COLUMN_NAME_LEN 30
#define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
-#define SQL_MAX_CURSOR_NAME_LEN 31
+#define SQL_MAX_CURSOR_NAME_LEN 31
#define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
-#define SQL_MAX_SCHEMA_NAME_LEN 32
+#define SQL_MAX_SCHEMA_NAME_LEN 32
#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
-#define SQL_MAX_CATALOG_NAME_LEN 34
+#define SQL_MAX_CATALOG_NAME_LEN 34
#define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
-#define SQL_MAX_TABLE_NAME_LEN 35
-#define SQL_SCROLL_CONCURRENCY 43
-#define SQL_TXN_CAPABLE 46
-#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
-#define SQL_USER_NAME 47
-#define SQL_TXN_ISOLATION_OPTION 72
+#define SQL_MAX_TABLE_NAME_LEN 35
+#define SQL_SCROLL_CONCURRENCY 43
+#define SQL_TXN_CAPABLE 46
+#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
+#define SQL_USER_NAME 47
+#define SQL_TXN_ISOLATION_OPTION 72
#define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
-#define SQL_INTEGRITY 73
-#define SQL_GETDATA_EXTENSIONS 81
-#define SQL_NULL_COLLATION 85
-#define SQL_ALTER_TABLE 86
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
-#define SQL_SPECIAL_CHARACTERS 94
-#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
+#define SQL_INTEGRITY 73
+#define SQL_GETDATA_EXTENSIONS 81
+#define SQL_NULL_COLLATION 85
+#define SQL_ALTER_TABLE 86
+#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
+#define SQL_SPECIAL_CHARACTERS 94
+#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
-#define SQL_MAX_COLUMNS_IN_INDEX 98
+#define SQL_MAX_COLUMNS_IN_INDEX 98
#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
-#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
+#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
-#define SQL_MAX_COLUMNS_IN_SELECT 100
-#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
-#define SQL_MAX_COLUMNS_IN_TABLE 101
-#define SQL_MAX_INDEX_SIZE 102
-#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
-#define SQL_MAX_ROW_SIZE 104
-#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
-#define SQL_MAX_STATEMENT_LEN 105
-#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
-#define SQL_MAX_TABLES_IN_SELECT 106
-#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
-#define SQL_MAX_USER_NAME_LEN 107
-#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
-#if (ODBCVER >= 0x0300)
-#define SQL_OJ_CAPABILITIES 115
-#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
-#endif /* ODBCVER >= 0x0300 */
+#define SQL_MAX_COLUMNS_IN_SELECT 100
+#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
+#define SQL_MAX_COLUMNS_IN_TABLE 101
+#define SQL_MAX_INDEX_SIZE 102
+#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
+#define SQL_MAX_ROW_SIZE 104
+#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
+#define SQL_MAX_STATEMENT_LEN 105
+#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
+#define SQL_MAX_TABLES_IN_SELECT 106
+#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
+#define SQL_MAX_USER_NAME_LEN 107
+#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
+#if (ODBCVER >= 0x0300)
+#define SQL_OJ_CAPABILITIES 115
+#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
+#endif /* ODBCVER >= 0x0300 */
+
+#if (ODBCVER >= 0x0300)
+#define SQL_XOPEN_CLI_YEAR 10000
+#define SQL_CURSOR_SENSITIVITY 10001
+#define SQL_DESCRIBE_PARAMETER 10002
+#define SQL_CATALOG_NAME 10003
+#define SQL_COLLATION_SEQ 10004
+#define SQL_MAX_IDENTIFIER_LEN 10005
+#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
+#endif /* ODBCVER >= 0x0300 */
-#if (ODBCVER >= 0x0300)
-#define SQL_XOPEN_CLI_YEAR 10000
-#define SQL_CURSOR_SENSITIVITY 10001
-#define SQL_DESCRIBE_PARAMETER 10002
-#define SQL_CATALOG_NAME 10003
-#define SQL_COLLATION_SEQ 10004
-#define SQL_MAX_IDENTIFIER_LEN 10005
-#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
-#endif /* ODBCVER >= 0x0300 */
-/* SQL_ALTER_TABLE bitmasks */
+/*
+ * SQLGetInfo - SQL_ALTER_TABLE
+ */
#if (ODBCVER >= 0x0200)
-#define SQL_AT_ADD_COLUMN 0x00000001L
-#define SQL_AT_DROP_COLUMN 0x00000002L
-#endif /* ODBCVER >= 0x0200 */
-
-#if (ODBCVER >= 0x0300)
-#define SQL_AT_ADD_CONSTRAINT 0x00000008L
-
-/* The following bitmasks are ODBC extensions and defined in sqlext.h
-*#define SQL_AT_COLUMN_SINGLE 0x00000020L
-*#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
-*#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
-*#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
-*#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
-*#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
-*#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
-*#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
-*#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
-*#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
-*#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
-*#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
-*#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
-*#define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L
-*#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
-*/
-#endif /* ODBCVER >= 0x0300 */
-
-
-/* SQL_ASYNC_MODE values */
-#if (ODBCVER >= 0x0300)
-#define SQL_AM_NONE 0
-#define SQL_AM_CONNECTION 1
-#define SQL_AM_STATEMENT 2
-#endif
-
-/* SQL_CURSOR_COMMIT_BEHAVIOR values */
-#define SQL_CB_DELETE 0
-#define SQL_CB_CLOSE 1
-#define SQL_CB_PRESERVE 2
-
-/* SQL_FETCH_DIRECTION bitmasks */
-#define SQL_FD_FETCH_NEXT 0x00000001L
-#define SQL_FD_FETCH_FIRST 0x00000002L
-#define SQL_FD_FETCH_LAST 0x00000004L
-#define SQL_FD_FETCH_PRIOR 0x00000008L
-#define SQL_FD_FETCH_ABSOLUTE 0x00000010L
-#define SQL_FD_FETCH_RELATIVE 0x00000020L
-
-/* SQL_GETDATA_EXTENSIONS bitmasks */
-#define SQL_GD_ANY_COLUMN 0x00000001L
-#define SQL_GD_ANY_ORDER 0x00000002L
-
-/* SQL_IDENTIFIER_CASE values */
-#define SQL_IC_UPPER 1
-#define SQL_IC_LOWER 2
-#define SQL_IC_SENSITIVE 3
-#define SQL_IC_MIXED 4
-
-/* SQL_OJ_CAPABILITIES bitmasks */
-/* NB: this means 'outer join', not what you may be thinking */
-
-
-#if (ODBCVER >= 0x0201)
-#define SQL_OJ_LEFT 0x00000001L
-#define SQL_OJ_RIGHT 0x00000002L
-#define SQL_OJ_FULL 0x00000004L
-#define SQL_OJ_NESTED 0x00000008L
-#define SQL_OJ_NOT_ORDERED 0x00000010L
-#define SQL_OJ_INNER 0x00000020L
-#define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L
-#endif
-
-/* SQL_SCROLL_CONCURRENCY bitmasks */
-#define SQL_SCCO_READ_ONLY 0x00000001L
-#define SQL_SCCO_LOCK 0x00000002L
-#define SQL_SCCO_OPT_ROWVER 0x00000004L
-#define SQL_SCCO_OPT_VALUES 0x00000008L
-
-/* SQL_TXN_CAPABLE values */
-#define SQL_TC_NONE 0
-#define SQL_TC_DML 1
-#define SQL_TC_ALL 2
-#define SQL_TC_DDL_COMMIT 3
-#define SQL_TC_DDL_IGNORE 4
-
-/* SQL_TXN_ISOLATION_OPTION bitmasks */
-#define SQL_TXN_READ_UNCOMMITTED 0x00000001L
-#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
-#define SQL_TXN_READ_COMMITTED 0x00000002L
-#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
-#define SQL_TXN_REPEATABLE_READ 0x00000004L
-#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
-#define SQL_TXN_SERIALIZABLE 0x00000008L
-#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
-
-/* SQL_NULL_COLLATION values */
-#define SQL_NC_HIGH 0
-#define SQL_NC_LOW 1
-
- SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,
- SQLHDBC *ConnectionHandle);
-
- SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle);
+#define SQL_AT_ADD_COLUMN 0x00000001L
+#define SQL_AT_DROP_COLUMN 0x00000002L
+#endif /* ODBCVER >= 0x0300 */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
- SQLHANDLE InputHandle, SQLHANDLE *OutputHandle);
-#endif
-
- SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,
- SQLHSTMT *StatementHandle);
+#define SQL_AT_ADD_CONSTRAINT 0x00000008L
+/*
+ * The following bitmasks are ODBC extensions and defined in sqlext.h:
+ *
+ * #define SQL_AT_COLUMN_SINGLE 0x00000020L
+ * #define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
+ * #define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
+ * #define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
+ * #define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
+ * #define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
+ * #define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
+ * #define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
+ * #define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
+ * #define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
+ * #define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
+ * #define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
+ * #define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
+ * #define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L
+ * #define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
+ */
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,
- SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
- SQLPOINTER TargetValue, SQLLEN BufferLength,
- SQLLEN *StrLen_or_Ind);
+/*
+ * SQLGetInfo - SQL_ASYNC_MODE
+ */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,
- SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
- SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
- SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
- SQLLEN *StrLen_or_Ind);
-#endif
+#define SQL_AM_NONE 0
+#define SQL_AM_CONNECTION 1
+#define SQL_AM_STATEMENT 2
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle);
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle);
+/*
+ * SQLGetInfo - SQL_CURSOR_COMMIT_BEHAVIOR
+ */
+#define SQL_CB_DELETE 0
+#define SQL_CB_CLOSE 1
+#define SQL_CB_PRESERVE 2
- SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,
- SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier,
- SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength,
- SQLSMALLINT *StringLength, SQLLEN *NumericAttribute
- /* spec says (SQLPOINTER) not (SQLEN*) - PAH */ );
- /* Ms now say SQLLEN* http://msdn.microsoft.com/library/en-us/odbc/htm/dasdkodbcoverview_64bit.asp - NG */
-
-#endif
+/*
+ * SQLGetInfo - SQL_FETCH_DIRECTION
+ */
+#define SQL_FD_FETCH_NEXT 0x00000001L
+#define SQL_FD_FETCH_FIRST 0x00000002L
+#define SQL_FD_FETCH_LAST 0x00000004L
+#define SQL_FD_FETCH_PRIOR 0x00000008L
+#define SQL_FD_FETCH_ABSOLUTE 0x00000010L
+#define SQL_FD_FETCH_RELATIVE 0x00000020L
- SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,
- SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
- SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
- SQLCHAR *TableName, SQLSMALLINT NameLength3,
- SQLCHAR *ColumnName, SQLSMALLINT NameLength4);
+/*
+ * SQLGetInfo - SQL_GETDATA_EXTENSIONS
+ */
+#define SQL_GD_ANY_COLUMN 0x00000001L
+#define SQL_GD_ANY_ORDER 0x00000002L
- SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,
- SQLCHAR *ServerName, SQLSMALLINT NameLength1,
- SQLCHAR *UserName, SQLSMALLINT NameLength2,
- SQLCHAR *Authentication, SQLSMALLINT NameLength3);
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,
- SQLHDESC TargetDescHandle);
-#endif
+/*
+ * SQLGetInfo - SQL_IDENTIFIER_CASE
+ */
+#define SQL_IC_UPPER 1
+#define SQL_IC_LOWER 2
+#define SQL_IC_SENSITIVE 3
+#define SQL_IC_MIXED 4
- SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,
- SQLUSMALLINT Direction, SQLCHAR *ServerName,
- SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1,
- SQLCHAR *Description, SQLSMALLINT BufferLength2,
- SQLSMALLINT *NameLength2);
- SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,
- SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName,
- SQLSMALLINT BufferLength, SQLSMALLINT *NameLength,
- SQLSMALLINT *DataType, SQLULEN *ColumnSize,
- SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable);
+/*
+ * SQLGetInfo - SQL_NULL_COLLATION
+ */
+#define SQL_NC_HIGH 0
+#define SQL_NC_LOW 1
- SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle);
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
- SQLSMALLINT CompletionType);
+/*
+ * SQLGetInfo - SQL_OJ_CAPABILITIES
+ */
+#if (ODBCVER >= 0x0201)
+#define SQL_OJ_LEFT 0x00000001L
+#define SQL_OJ_RIGHT 0x00000002L
+#define SQL_OJ_FULL 0x00000004L
+#define SQL_OJ_NESTED 0x00000008L
+#define SQL_OJ_NOT_ORDERED 0x00000010L
+#define SQL_OJ_INNER 0x00000020L
+#define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L
#endif
- SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,
- SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle,
- SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
- SQLCHAR *MessageText, SQLSMALLINT BufferLength,
- SQLSMALLINT *TextLength);
- SQLRETURN SQL_API SQLExecDirect(SQLHSTMT StatementHandle,
- SQLCHAR *StatementText, SQLINTEGER TextLength);
+/*
+ * SQLGetInfo - SQL_SCROLL_CONCURRENCY
+ */
+#define SQL_SCCO_READ_ONLY 0x00000001L
+#define SQL_SCCO_LOCK 0x00000002L
+#define SQL_SCCO_OPT_ROWVER 0x00000004L
+#define SQL_SCCO_OPT_VALUES 0x00000008L
- SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle);
- SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle);
+/*
+ * SQLGetInfo - SQL_TXN_CAPABLE
+ */
+#define SQL_TC_NONE 0
+#define SQL_TC_DML 1
+#define SQL_TC_ALL 2
+#define SQL_TC_DDL_COMMIT 3
+#define SQL_TC_DDL_IGNORE 4
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,
- SQLSMALLINT FetchOrientation, SQLLEN FetchOffset);
-#endif
- SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle);
+/*
+ * SQLGetInfo - SQL_TXN_ISOLATION_OPTION
+ */
+#define SQL_TXN_READ_UNCOMMITTED 0x00000001L
+#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
+#define SQL_TXN_READ_COMMITTED 0x00000002L
+#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
+#define SQL_TXN_REPEATABLE_READ 0x00000004L
+#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
+#define SQL_TXN_SERIALIZABLE 0x00000008L
+#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
- SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle);
+/*
+ * SQLGetStmtAttr - statement attributes
+ */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle);
-#endif
+#define SQL_ATTR_APP_ROW_DESC 10010
+#define SQL_ATTR_APP_PARAM_DESC 10011
+#define SQL_ATTR_IMP_ROW_DESC 10012
+#define SQL_ATTR_IMP_PARAM_DESC 10013
+#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
+#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,
- SQLUSMALLINT Option);
+/*
+ * SQLGetStmtAttr - SQL_ATTR_CURSOR_SCROLLABLE
+ */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER BufferLength, SQLINTEGER *StringLength);
-#endif
+#define SQL_NONSCROLLABLE 0
+#define SQL_SCROLLABLE 1
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,
- SQLUSMALLINT Option, SQLPOINTER Value);
- SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,
- SQLCHAR *CursorName, SQLSMALLINT BufferLength,
- SQLSMALLINT *NameLength);
+/*
+ * SQLGetStmtAttr - SQL_ATTR_CURSOR_SENSITIVITY
+ */
+#if (ODBCVER >= 0x0300)
+#define SQL_UNSPECIFIED 0
+#define SQL_INSENSITIVE 1
+#define SQL_SENSITIVE 2
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,
- SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
- SQLPOINTER TargetValue, SQLLEN BufferLength,
- SQLLEN *StrLen_or_Ind);
+/*
+ * SQLGetTypeInfo - SEARCHABLE
+ */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQLGetDescField(SQLHDESC DescriptorHandle,
- SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
- SQLPOINTER Value, SQLINTEGER BufferLength,
- SQLINTEGER *StringLength);
-
- SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
- SQLSMALLINT RecNumber, SQLCHAR *Name,
- SQLSMALLINT BufferLength, SQLSMALLINT *StringLength,
- SQLSMALLINT *Type, SQLSMALLINT *SubType,
- SQLLEN *Length, SQLSMALLINT *Precision,
- SQLSMALLINT *Scale, SQLSMALLINT *Nullable);
+#define SQL_PRED_NONE 0
+#define SQL_PRED_CHAR 1
+#define SQL_PRED_BASIC 2
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
- SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier,
- SQLPOINTER DiagInfo, SQLSMALLINT BufferLength,
- SQLSMALLINT *StringLength);
- SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
- SQLSMALLINT RecNumber, SQLCHAR *Sqlstate,
- SQLINTEGER *NativeError, SQLCHAR *MessageText,
- SQLSMALLINT BufferLength, SQLSMALLINT *TextLength);
+/*
+ * SQLSpecialColumns - Column scopes
+ */
+#define SQL_SCOPE_CURROW 0
+#define SQL_SCOPE_TRANSACTION 1
+#define SQL_SCOPE_SESSION 2
- SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER BufferLength, SQLINTEGER *StringLength);
-#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,
- SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
+/*
+ * SQLSpecialColumns - PSEUDO_COLUMN
+ */
+#define SQL_PC_UNKNOWN 0
+#if (ODBCVER >= 0x0300)
+#define SQL_PC_NON_PSEUDO 1
+#endif /* ODBCVER >= 0x0300 */
+#define SQL_PC_PSEUDO 2
- SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,
- SQLUSMALLINT InfoType, SQLPOINTER InfoValue,
- SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
+/*
+ * SQLSpecialColumns - IdentifierType
+ */
#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER BufferLength, SQLINTEGER *StringLength);
-#endif /* ODBCVER >= 0x0300 */
+#define SQL_ROW_IDENTIFIER 1
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,
- SQLUSMALLINT Option, SQLPOINTER Value);
- SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,
- SQLSMALLINT DataType);
+/*
+ * SQLStatistics - fUnique
+ */
+#define SQL_INDEX_UNIQUE 0
+#define SQL_INDEX_ALL 1
- SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,
- SQLSMALLINT *ColumnCount);
- SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,
- SQLPOINTER *Value);
+/*
+ * SQLStatistics - TYPE
+ */
+#define SQL_INDEX_CLUSTERED 1
+#define SQL_INDEX_HASHED 2
+#define SQL_INDEX_OTHER 3
- SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle,
- SQLCHAR *StatementText, SQLINTEGER TextLength);
- SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,
- SQLPOINTER Data, SQLLEN StrLen_or_Ind);
+/*
+ * SQLTransact/SQLEndTran
+ */
+#define SQL_COMMIT 0
+#define SQL_ROLLBACK 1
- SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle,
- SQLLEN *RowCount);
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER StringLength);
+/*
+ * Function Prototypes
+ */
+SQLRETURN SQL_API SQLAllocConnect (
+ SQLHENV EnvironmentHandle,
+ SQLHDBC * ConnectionHandle);
+
+SQLRETURN SQL_API SQLAllocEnv (
+ SQLHENV * EnvironmentHandle);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLAllocHandle (
+ SQLSMALLINT HandleType,
+ SQLHANDLE InputHandle,
+ SQLHANDLE * OutputHandle);
+#endif /* ODBCVER >= 0x0300 */
+
+SQLRETURN SQL_API SQLAllocStmt (
+ SQLHDBC ConnectionHandle,
+ SQLHSTMT * StatementHandle);
+
+SQLRETURN SQL_API SQLBindCol (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ColumnNumber,
+ SQLSMALLINT TargetType,
+ SQLPOINTER TargetValue,
+ SQLLEN BufferLength,
+ SQLLEN * StrLen_or_Ind);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLBindParam (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ParameterNumber,
+ SQLSMALLINT ValueType,
+ SQLSMALLINT ParameterType,
+ SQLULEN LengthPrecision,
+ SQLSMALLINT ParameterScale,
+ SQLPOINTER ParameterValue,
+ SQLLEN * StrLen_or_Ind);
+#endif
+
+SQLRETURN SQL_API SQLCancel (
+ SQLHSTMT StatementHandle);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLCloseCursor (
+ SQLHSTMT StatementHandle);
+
+/*
+ * Using SQLLEN * instead of SQLPOINTER for NumericAttribute,
+ * makes the prototype the same as SQLColAttributes (deprecated)
+ * and clearer for 64bit ports
+ */
+SQLRETURN SQL_API SQLColAttribute (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ColumnNumber,
+ SQLUSMALLINT FieldIdentifier,
+ SQLPOINTER CharacterAttribute,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * StringLength,
+ SQLLEN * NumericAttribute);
+#endif
+
+SQLRETURN SQL_API SQLColumns (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * CatalogName,
+ SQLSMALLINT NameLength1,
+ SQLCHAR * SchemaName,
+ SQLSMALLINT NameLength2,
+ SQLCHAR * TableName,
+ SQLSMALLINT NameLength3,
+ SQLCHAR * ColumnName,
+ SQLSMALLINT NameLength4);
+
+SQLRETURN SQL_API SQLConnect (
+ SQLHDBC ConnectionHandle,
+ SQLCHAR * ServerName,
+ SQLSMALLINT NameLength1,
+ SQLCHAR * UserName,
+ SQLSMALLINT NameLength2,
+ SQLCHAR * Authentication,
+ SQLSMALLINT NameLength3);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLCopyDesc (
+ SQLHDESC SourceDescHandle,
+ SQLHDESC TargetDescHandle);
+#endif
+
+SQLRETURN SQL_API SQLDataSources (
+ SQLHENV EnvironmentHandle,
+ SQLUSMALLINT Direction,
+ SQLCHAR * ServerName,
+ SQLSMALLINT BufferLength1,
+ SQLSMALLINT * NameLength1,
+ SQLCHAR * Description,
+ SQLSMALLINT BufferLength2,
+ SQLSMALLINT * NameLength2);
+
+SQLRETURN SQL_API SQLDescribeCol (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ColumnNumber,
+ SQLCHAR * ColumnName,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * NameLength,
+ SQLSMALLINT * DataType,
+ SQLULEN * ColumnSize,
+ SQLSMALLINT * DecimalDigits,
+ SQLSMALLINT * Nullable);
+
+SQLRETURN SQL_API SQLDisconnect (
+ SQLHDBC ConnectionHandle);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLEndTran (
+ SQLSMALLINT HandleType,
+ SQLHANDLE Handle,
+ SQLSMALLINT CompletionType);
+#endif
+
+SQLRETURN SQL_API SQLError (
+ SQLHENV EnvironmentHandle,
+ SQLHDBC ConnectionHandle,
+ SQLHSTMT StatementHandle,
+ SQLCHAR * Sqlstate,
+ SQLINTEGER * NativeError,
+ SQLCHAR * MessageText,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * TextLength);
+
+SQLRETURN SQL_API SQLExecDirect (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * StatementText,
+ SQLINTEGER TextLength);
+
+SQLRETURN SQL_API SQLExecute (
+ SQLHSTMT StatementHandle);
+
+SQLRETURN SQL_API SQLFetch (
+ SQLHSTMT StatementHandle);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLFetchScroll (
+ SQLHSTMT StatementHandle,
+ SQLSMALLINT FetchOrientation,
+ SQLLEN FetchOffset);
+#endif
+
+SQLRETURN SQL_API SQLFreeConnect (
+ SQLHDBC ConnectionHandle);
+
+SQLRETURN SQL_API SQLFreeEnv (
+ SQLHENV EnvironmentHandle);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLFreeHandle (
+ SQLSMALLINT HandleType,
+ SQLHANDLE Handle);
+#endif
+
+SQLRETURN SQL_API SQLFreeStmt (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT Option);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLGetConnectAttr (
+ SQLHDBC ConnectionHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER BufferLength,
+ SQLINTEGER * StringLength);
+#endif
+
+SQLRETURN SQL_API SQLGetConnectOption (
+ SQLHDBC ConnectionHandle,
+ SQLUSMALLINT Option,
+ SQLPOINTER Value);
+
+SQLRETURN SQL_API SQLGetCursorName (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * CursorName,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * NameLength);
+
+SQLRETURN SQL_API SQLGetData (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ColumnNumber,
+ SQLSMALLINT TargetType,
+ SQLPOINTER TargetValue,
+ SQLLEN BufferLength,
+ SQLLEN * StrLen_or_Ind);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLGetDescField (
+ SQLHDESC DescriptorHandle,
+ SQLSMALLINT RecNumber,
+ SQLSMALLINT FieldIdentifier,
+ SQLPOINTER Value,
+ SQLINTEGER BufferLength,
+ SQLINTEGER * StringLength);
+
+SQLRETURN SQL_API SQLGetDescRec (
+ SQLHDESC DescriptorHandle,
+ SQLSMALLINT RecNumber,
+ SQLCHAR * Name,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * StringLength,
+ SQLSMALLINT * Type,
+ SQLSMALLINT * SubType,
+ SQLLEN * Length,
+ SQLSMALLINT * Precision,
+ SQLSMALLINT * Scale,
+ SQLSMALLINT * Nullable);
+
+SQLRETURN SQL_API SQLGetDiagField (
+ SQLSMALLINT HandleType,
+ SQLHANDLE Handle,
+ SQLSMALLINT RecNumber,
+ SQLSMALLINT DiagIdentifier,
+ SQLPOINTER DiagInfo,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * StringLength);
+
+SQLRETURN SQL_API SQLGetDiagRec (
+ SQLSMALLINT HandleType,
+ SQLHANDLE Handle,
+ SQLSMALLINT RecNumber,
+ SQLCHAR * Sqlstate,
+ SQLINTEGER * NativeError,
+ SQLCHAR * MessageText,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * TextLength);
+
+SQLRETURN SQL_API SQLGetEnvAttr (
+ SQLHENV EnvironmentHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER BufferLength,
+ SQLINTEGER * StringLength);
#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,
- SQLUSMALLINT Option, SQLULEN Value);
+SQLRETURN SQL_API SQLGetFunctions (
+ SQLHDBC ConnectionHandle,
+ SQLUSMALLINT FunctionId,
+ SQLUSMALLINT * Supported);
+
+SQLRETURN SQL_API SQLGetInfo (
+ SQLHDBC ConnectionHandle,
+ SQLUSMALLINT InfoType,
+ SQLPOINTER InfoValue,
+ SQLSMALLINT BufferLength,
+ SQLSMALLINT * StringLength);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLGetStmtAttr (
+ SQLHSTMT StatementHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER BufferLength,
+ SQLINTEGER * StringLength);
+#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle,
- SQLCHAR *CursorName, SQLSMALLINT NameLength);
+SQLRETURN SQL_API SQLGetStmtOption (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT Option,
+ SQLPOINTER Value);
+
+SQLRETURN SQL_API SQLGetTypeInfo (
+ SQLHSTMT StatementHandle,
+ SQLSMALLINT DataType);
+
+SQLRETURN SQL_API SQLNumResultCols (
+ SQLHSTMT StatementHandle,
+ SQLSMALLINT * ColumnCount);
+
+SQLRETURN SQL_API SQLParamData (
+ SQLHSTMT StatementHandle,
+ SQLPOINTER * Value);
+
+SQLRETURN SQL_API SQLPrepare (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * StatementText,
+ SQLINTEGER TextLength);
+
+SQLRETURN SQL_API SQLPutData (
+ SQLHSTMT StatementHandle,
+ SQLPOINTER Data,
+ SQLLEN StrLen_or_Ind);
+
+SQLRETURN SQL_API SQLRowCount (
+ SQLHSTMT StatementHandle,
+ SQLLEN * RowCount);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLSetConnectAttr (
+ SQLHDBC ConnectionHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER StringLength);
+#endif /* ODBCVER >= 0x0300 */
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,
- SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
- SQLPOINTER Value, SQLINTEGER BufferLength);
-
- SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,
- SQLSMALLINT RecNumber, SQLSMALLINT Type,
- SQLSMALLINT SubType, SQLLEN Length,
- SQLSMALLINT Precision, SQLSMALLINT Scale,
- SQLPOINTER Data, SQLLEN *StringLength,
- SQLLEN *Indicator);
-
- SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER StringLength);
+SQLRETURN SQL_API SQLSetConnectOption (
+ SQLHDBC ConnectionHandle,
+ SQLUSMALLINT Option,
+ SQLULEN Value);
+
+SQLRETURN SQL_API SQLSetCursorName (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * CursorName,
+ SQLSMALLINT NameLength);
+
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLSetDescField (
+ SQLHDESC DescriptorHandle,
+ SQLSMALLINT RecNumber,
+ SQLSMALLINT FieldIdentifier,
+ SQLPOINTER Value,
+ SQLINTEGER BufferLength);
+
+SQLRETURN SQL_API SQLSetDescRec (
+ SQLHDESC DescriptorHandle,
+ SQLSMALLINT RecNumber,
+ SQLSMALLINT Type,
+ SQLSMALLINT SubType,
+ SQLLEN Length,
+ SQLSMALLINT Precision,
+ SQLSMALLINT Scale,
+ SQLPOINTER Data,
+ SQLLEN * StringLength,
+ SQLLEN * Indicator);
+
+SQLRETURN SQL_API SQLSetEnvAttr (
+ SQLHENV EnvironmentHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER StringLength);
#endif /* ODBCVER >= 0x0300 */
- SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,
- SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
- SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
- SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
- SQLLEN *StrLen_or_Ind);
-
-#if (ODBCVER >= 0x0300)
- SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,
- SQLINTEGER Attribute, SQLPOINTER Value,
- SQLINTEGER StringLength);
-#endif
-
- SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,
- SQLUSMALLINT Option, SQLULEN Value);
-
- SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,
- SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName,
- SQLSMALLINT NameLength1, SQLCHAR *SchemaName,
- SQLSMALLINT NameLength2, SQLCHAR *TableName,
- SQLSMALLINT NameLength3, SQLUSMALLINT Scope,
- SQLUSMALLINT Nullable);
-
- SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,
- SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
- SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
- SQLCHAR *TableName, SQLSMALLINT NameLength3,
- SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
-
- SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,
- SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
- SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
- SQLCHAR *TableName, SQLSMALLINT NameLength3,
- SQLCHAR *TableType, SQLSMALLINT NameLength4);
- SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,
- SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
+#if (ODBCVER >= 0x0300)
+SQLRETURN SQL_API SQLSetStmtAttr (
+ SQLHSTMT StatementHandle,
+ SQLINTEGER Attribute,
+ SQLPOINTER Value,
+ SQLINTEGER StringLength);
+#endif
+
+SQLRETURN SQL_API SQLSetStmtOption (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT Option,
+ SQLULEN Value);
+
+SQLRETURN SQL_API SQLSpecialColumns (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT IdentifierType,
+ SQLCHAR * CatalogName,
+ SQLSMALLINT NameLength1,
+ SQLCHAR * SchemaName,
+ SQLSMALLINT NameLength2,
+ SQLCHAR * TableName,
+ SQLSMALLINT NameLength3,
+ SQLUSMALLINT Scope,
+ SQLUSMALLINT Nullable);
+
+SQLRETURN SQL_API SQLStatistics (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * CatalogName,
+ SQLSMALLINT NameLength1,
+ SQLCHAR * SchemaName,
+ SQLSMALLINT NameLength2,
+ SQLCHAR * TableName,
+ SQLSMALLINT NameLength3,
+ SQLUSMALLINT Unique,
+ SQLUSMALLINT Reserved);
+
+SQLRETURN SQL_API SQLTables (
+ SQLHSTMT StatementHandle,
+ SQLCHAR * CatalogName,
+ SQLSMALLINT NameLength1,
+ SQLCHAR * SchemaName,
+ SQLSMALLINT NameLength2,
+ SQLCHAR * TableName,
+ SQLSMALLINT NameLength3,
+ SQLCHAR * TableType,
+ SQLSMALLINT NameLength4);
+
+SQLRETURN SQL_API SQLTransact (
+ SQLHENV EnvironmentHandle,
+ SQLHDBC ConnectionHandle,
+ SQLUSMALLINT CompletionType);
+
+
+/*
+ * Depreciated ODBC 1.0 function - Use SQLBindParameter
+ */
+SQLRETURN SQL_API SQLSetParam (
+ SQLHSTMT StatementHandle,
+ SQLUSMALLINT ParameterNumber,
+ SQLSMALLINT ValueType,
+ SQLSMALLINT ParameterType,
+ SQLULEN LengthPrecision,
+ SQLSMALLINT ParameterScale,
+ SQLPOINTER ParameterValue,
+ SQLLEN * StrLen_or_Ind);
#ifdef __cplusplus
}
#endif
-#endif
+
+#endif /* _SQL_H */