/* Copyright (C) 2003 MySQL AB

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program 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 General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

#include "HandleDbc.hpp"

HandleDbc::InfoTab
HandleDbc::m_infoTab[] = {
    {	SQL_ACCESSIBLE_PROCEDURES,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_ACCESSIBLE_TABLES,
	InfoTab::YesNo,
	0L,
	"Y"
    },
    {	SQL_ACTIVE_ENVIRONMENTS,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_AGGREGATE_FUNCTIONS,
	InfoTab::Bitmask,
	SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM,
	0
    },
    {	SQL_ALTER_DOMAIN,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_ALTER_TABLE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_ASYNC_MODE,
	InfoTab::Long,
	SQL_AM_NONE,
	0
    },
    {	SQL_BATCH_ROW_COUNT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_BATCH_SUPPORT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_BOOKMARK_PERSISTENCE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CATALOG_LOCATION,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_CATALOG_NAME,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_CATALOG_NAME_SEPARATOR,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_CATALOG_TERM,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_CATALOG_USAGE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_COLLATION_SEQ,
	InfoTab::Char,
	0L,
	"ISO 8859-1"
    },
    {	SQL_COLUMN_ALIAS,
	InfoTab::YesNo,
	0L,
	"Y"
    },
    {	SQL_CONCAT_NULL_BEHAVIOR,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_CONVERT_BIGINT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_BINARY,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_BIT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_CHAR,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_DATE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_DECIMAL,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_DOUBLE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_FLOAT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
#if 0
    {	SQL_CONVERT_GUID,
	InfoTab::Bitmask,
	0L,
	0
    },
#endif
    {	SQL_CONVERT_INTEGER,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_INTERVAL_DAY_TIME,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_INTERVAL_YEAR_MONTH,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_LONGVARBINARY,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_LONGVARCHAR,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_NUMERIC,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_REAL,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_SMALLINT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_TIME,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_TIMESTAMP,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_TINYINT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_VARBINARY,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CONVERT_VARCHAR,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CORRELATION_NAME,
	InfoTab::Bitmask,
	SQL_CN_ANY,
	0
    },
    {	SQL_CREATE_ASSERTION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_CHARACTER_SET,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_COLLATION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_DOMAIN,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_SCHEMA,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_TABLE,
	InfoTab::Bitmask,
	SQL_CT_CREATE_TABLE,
	0
    },
    {	SQL_CREATE_TRANSLATION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CREATE_VIEW,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_CURSOR_COMMIT_BEHAVIOR,
	InfoTab::Short,
	SQL_CB_CLOSE,
	0
    },
    {	SQL_CURSOR_ROLLBACK_BEHAVIOR,
	InfoTab::Short,
	SQL_CB_CLOSE,
	0
    },
    {	SQL_CURSOR_SENSITIVITY,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DATABASE_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_DATA_SOURCE_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_DATA_SOURCE_READ_ONLY,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_DATETIME_LITERALS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DBMS_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_DBMS_VER,
	InfoTab::Char,
	0L,
	"01.43.0000"
    },
    {	SQL_DDL_INDEX,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DEFAULT_TXN_ISOLATION,
	InfoTab::Long,
	SQL_TXN_READ_COMMITTED,
	0
    },
    {	SQL_DESCRIBE_PARAMETER,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_DM_VER,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_DRIVER_HDBC,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DRIVER_HDESC,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DRIVER_HLIB,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DRIVER_HSTMT,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_DRIVER_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_DRIVER_ODBC_VER,
	InfoTab::Char,
	0L,
	"03.00"
    },
    {	SQL_DRIVER_VER,
	InfoTab::Char,
	0L,
	"00.10.0000"
    },
    {	SQL_DROP_ASSERTION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_CHARACTER_SET,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_COLLATION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_DOMAIN,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_SCHEMA,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_TABLE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_TRANSLATION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DROP_VIEW,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DTC_TRANSITION_COST,	// not in older MS docs
	InfoTab::Bitmask,
	0L,
	0				// SQL_DTC_ENLIST_EXPENSIVE | SQL_DTC_UNENLIST_EXPENSIVE
    },
    {	SQL_DYNAMIC_CURSOR_ATTRIBUTES1,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_DYNAMIC_CURSOR_ATTRIBUTES2,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_EXPRESSIONS_IN_ORDERBY,
	InfoTab::Char,
	0L,
	"Y"
    },
    {	SQL_FILE_USAGE,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_GETDATA_EXTENSIONS,
	InfoTab::Bitmask,
	SQL_GD_ANY_COLUMN | SQL_GD_ANY_ORDER | SQL_GD_BOUND,
	0
    },
    {	SQL_GROUP_BY,
	InfoTab::Short,
	SQL_GB_NOT_SUPPORTED,
	0
    },
    {	SQL_IDENTIFIER_CASE,
	InfoTab::Short,
	SQL_IC_UPPER,
	0
    },
    {	SQL_IDENTIFIER_QUOTE_CHAR,
	InfoTab::Char,
	0L,
	"\""
    },
    {	SQL_INDEX_KEYWORDS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_INFO_SCHEMA_VIEWS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_INSERT_STATEMENT,
	InfoTab::Bitmask,
	SQL_IS_INSERT_LITERALS | SQL_IS_SELECT_INTO,
	0
    },
    {	SQL_INTEGRITY,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_KEYSET_CURSOR_ATTRIBUTES1,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_KEYSET_CURSOR_ATTRIBUTES2,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_KEYWORDS,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_LIKE_ESCAPE_CLAUSE,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_MAX_ASYNC_CONCURRENT_STATEMENTS,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_MAX_BINARY_LITERAL_LEN,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_MAX_CATALOG_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_CHAR_LITERAL_LEN,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_MAX_COLUMN_NAME_LEN,
	InfoTab::Short,
	16,
	0
    },
    {	SQL_MAX_COLUMNS_IN_GROUP_BY,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_COLUMNS_IN_INDEX,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_COLUMNS_IN_ORDER_BY,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_COLUMNS_IN_SELECT,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_COLUMNS_IN_TABLE,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_CONCURRENT_ACTIVITIES,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_CURSOR_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_DRIVER_CONNECTIONS,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_IDENTIFIER_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_INDEX_SIZE,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_MAX_PROCEDURE_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_ROW_SIZE,
	InfoTab::Long,
	8000,
	0
    },
    {	SQL_MAX_ROW_SIZE_INCLUDES_LONG,
	InfoTab::YesNo,
	0L,
	"Y"
    },
    {	SQL_MAX_SCHEMA_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_STATEMENT_LEN,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_MAX_TABLE_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_TABLES_IN_SELECT,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MAX_USER_NAME_LEN,
	InfoTab::Short,
	0L,
	0
    },
    {	SQL_MULTIPLE_ACTIVE_TXN,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_MULT_RESULT_SETS,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_NEED_LONG_DATA_LEN,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_NON_NULLABLE_COLUMNS,
	InfoTab::Short,
	SQL_NNC_NON_NULL,
	0
    },
    {	SQL_NULL_COLLATION,
	InfoTab::Short,
	SQL_NC_HIGH,
	0
    },
    {	SQL_NUMERIC_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_ODBC_INTERFACE_CONFORMANCE,
	InfoTab::Long,
	SQL_OIC_CORE,
	0
    },
    {	SQL_ODBC_VER,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_OJ_CAPABILITIES,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_ORDER_BY_COLUMNS_IN_SELECT,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_PARAM_ARRAY_ROW_COUNTS,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_PARAM_ARRAY_SELECTS,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_POS_OPERATIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_PROCEDURES,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_PROCEDURE_TERM,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_QUOTED_IDENTIFIER_CASE,
	InfoTab::Short,
	SQL_IC_SENSITIVE,
	0
    },
    {	SQL_ROW_UPDATES,
	InfoTab::YesNo,
	0L,
	"N"
    },
    {	SQL_SCHEMA_TERM,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_SCHEMA_USAGE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SCROLL_OPTIONS,
	InfoTab::Bitmask,
	SQL_SO_FORWARD_ONLY,
	0
    },
    {	SQL_SEARCH_PATTERN_ESCAPE,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_SERVER_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_SPECIAL_CHARACTERS,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_SQL92_DATETIME_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_FOREIGN_KEY_DELETE_RULE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_FOREIGN_KEY_UPDATE_RULE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_GRANT,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_NUMERIC_VALUE_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_PREDICATES,
	InfoTab::Bitmask,
	SQL_SP_COMPARISON | SQL_SP_IN | SQL_SP_ISNOTNULL | SQL_SP_ISNULL | SQL_SP_LIKE,
	0
    },
    {	SQL_SQL92_RELATIONAL_JOIN_OPERATORS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_REVOKE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_ROW_VALUE_CONSTRUCTOR,
	InfoTab::Bitmask,
	SQL_SRVC_VALUE_EXPRESSION,
	0
    },
    {	SQL_SQL92_STRING_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL92_VALUE_EXPRESSIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SQL_CONFORMANCE,
	InfoTab::Long,
	0L,
	0
    },
    {	SQL_STANDARD_CLI_CONFORMANCE,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_STATIC_CURSOR_ATTRIBUTES1,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_STATIC_CURSOR_ATTRIBUTES2,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_STRING_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SUBQUERIES,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_SYSTEM_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_TABLE_TERM,
	InfoTab::Char,
	0L,
	"TABLE"
    },
    {	SQL_TIMEDATE_ADD_INTERVALS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_TIMEDATE_DIFF_INTERVALS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_TIMEDATE_FUNCTIONS,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_TXN_CAPABLE,
	InfoTab::Short,
	SQL_TC_DDL_COMMIT,	// XXX do it
	0
    },
    {	SQL_TXN_ISOLATION_OPTION,
	InfoTab::Bitmask,
	SQL_TXN_READ_COMMITTED,
	0
    },
    {	SQL_UNION,
	InfoTab::Bitmask,
	0L,
	0
    },
    {	SQL_USER_NAME,
	InfoTab::Char,
	0L,
	""
    },
    {	SQL_XOPEN_CLI_YEAR,
	InfoTab::Char,
	0L,
	""
    },
    {   0,
	InfoTab::End,
	0L,
	0
    }
};