sqlext.h revision b955672b950093ff7416d1269dd4d3b69983bd8f
af062818b47340eef15700d2f0211576ba3506eevboxsync * MS SQL Extension definitions
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 1999 Xiang Li
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * other than GPL or LGPL is available it will apply instead, Sun elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_PARAM_BIND_TYPE_DEFAULT SQL_PARAM_BIND_BY_COLUMN
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DESC_AUTO_UNIQUE_VALUE SQL_COLUMN_AUTO_INCREMENT
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DESC_CASE_SENSITIVE SQL_COLUMN_CASE_SENSITIVE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DESC_CATALOG_NAME SQL_COLUMN_QUALIFIER_NAME
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_YEAR_TO_MONTH (100 + SQL_CODE_YEAR_TO_MONTH)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_DAY_TO_HOUR (100 + SQL_CODE_DAY_TO_HOUR)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_DAY_TO_MINUTE (100 + SQL_CODE_DAY_TO_MINUTE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_DAY_TO_SECOND (100 + SQL_CODE_DAY_TO_SECOND)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_HOUR_TO_MINUTE (100 + SQL_CODE_HOUR_TO_MINUTE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_HOUR_TO_SECOND (100 + SQL_CODE_HOUR_TO_SECOND)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_INTERVAL_MINUTE_TO_SECOND (100 + SQL_CODE_MINUTE_TO_SECOND)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_HOUR
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_DAY_TO_SECOND
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_SSHORT (SQL_C_SHORT+SQL_SIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_STINYINT (SQL_TINYINT+SQL_SIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_ULONG (SQL_C_LONG+SQL_UNSIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_USHORT (SQL_C_SHORT+SQL_UNSIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_UTINYINT (SQL_TINYINT+SQL_UNSIGNED_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_FUNC_EXISTS(pfExists, uwAPI) ((*(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F)) ) ? SQL_TRUE : SQL_FALSE )
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CATALOG_NAME_SEPARATOR SQL_QUALIFIER_NAME_SEPARATOR
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CA2_MAX_ROWS_AFFECTS_ALL (SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT | SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_SU_PROCEDURE_INVOCATION SQL_OU_PROCEDURE_INVOCATION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_SU_PRIVILEGE_DEFINITION SQL_OU_PRIVILEGE_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CU_PROCEDURE_INVOCATION SQL_QU_PROCEDURE_INVOCATION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CU_PRIVILEGE_DEFINITION SQL_QU_PRIVILEGE_DEFINITION
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH 0x00000200L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR 0x00000400L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE 0x00000800L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND 0x00001000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE 0x00002000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND 0x00004000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND 0x00008000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AD_CONSTRAINT_NAME_DEFINITION 0x00000001L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AD_ADD_CONSTRAINT_DEFERRABLE 0x00000080L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE 0x00000100L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED 0x00000010L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CA_CONSTRAINT_NON_DEFERRABLE 0x00000080L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CDO_CONSTRAINT_NAME_DEFINITION 0x00000010L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CDO_CONSTRAINT_NON_DEFERRABLE 0x00000100L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CT_CONSTRAINT_NON_DEFERRABLE 0x00000100L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_CT_CONSTRAINT_NAME_DEFINITION 0x00002000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_POSITION_TO(hstmt,irow) SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_LOCK_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_REFRESH_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_UPDATE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_DELETE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ADD_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* ODBCVER >= 0x0300 */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_ODBC_KEYWORDS "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQLAllocEnv(phenv) SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, phenv)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
af062818b47340eef15700d2f0211576ba3506eevboxsync/*#define TRACE_ON 0x00000001L*/
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagODBC_VS_ARGS {