in src/odbc/rsodbc/rstrace.c [1596:1802]
void RsTrace::traceGetInfoOutput(SQLUSMALLINT hInfoType,
SQLPOINTER pInfoValue,
SQLSMALLINT cbLen,
int iUnicode)
{
switch (hInfoType)
{
case SQL_ACCESSIBLE_PROCEDURES:
case SQL_ACCESSIBLE_TABLES:
case SQL_CATALOG_NAME:
case SQL_DATA_SOURCE_READ_ONLY:
case SQL_ODBC_SQL_OPT_IEF: /* SQL_INTEGRITY */
case SQL_ORDER_BY_COLUMNS_IN_SELECT:
case SQL_ROW_UPDATES:
case SQL_COLLATION_SEQ:
case SQL_QUALIFIER_NAME_SEPARATOR: /* SQL_CATALOG_NAME_SEPARATOR */
case SQL_QUALIFIER_TERM: /* SQL_CATALOG_TERM */
case SQL_SPECIAL_CHARACTERS:
case SQL_COLUMN_ALIAS:
case SQL_DESCRIBE_PARAMETER:
case SQL_EXPRESSIONS_IN_ORDERBY:
case SQL_LIKE_ESCAPE_CLAUSE:
case SQL_MAX_ROW_SIZE_INCLUDES_LONG:
case SQL_MULT_RESULT_SETS:
case SQL_MULTIPLE_ACTIVE_TXN:
case SQL_NEED_LONG_DATA_LEN:
case SQL_OUTER_JOINS:
case SQL_PROCEDURES:
case SQL_DATA_SOURCE_NAME:
case SQL_DATABASE_NAME:
case SQL_DBMS_NAME:
case SQL_DBMS_VER:
case SQL_DM_VER:
case SQL_DRIVER_NAME:
case SQL_DRIVER_ODBC_VER:
case SQL_DRIVER_VER:
case SQL_IDENTIFIER_QUOTE_CHAR:
case SQL_OWNER_TERM: /* SQL_SCHEMA_TERM */
case SQL_PROCEDURE_TERM:
case SQL_SEARCH_PATTERN_ESCAPE:
case SQL_SERVER_NAME:
case SQL_TABLE_TERM:
case SQL_USER_NAME:
case SQL_XOPEN_CLI_YEAR:
{
if(iUnicode)
traceWStrValWithSmallLen("*pwInfoValue",(SQLWCHAR *)pInfoValue, (cbLen > 0 ) ? cbLen/sizeof(WCHAR) : cbLen);
else
traceStrValWithSmallLen("*pInfoValue",(char *)pInfoValue, cbLen);
break;
}
case SQL_ACTIVE_CONNECTIONS: /* SQL_MAX_DRIVER_CONNECTIONS */
case SQL_ACTIVE_ENVIRONMENTS:
case SQL_ACTIVE_STATEMENTS: /* SQL_MAX_CONCURRENT_ACTIVITIES */
case SQL_MAX_QUALIFIER_NAME_LEN: /* SQL_MAX_CATALOG_NAME_LEN */
case SQL_MAX_COLUMNS_IN_GROUP_BY:
case SQL_MAX_COLUMNS_IN_INDEX:
case SQL_MAX_COLUMNS_IN_ORDER_BY:
case SQL_MAX_COLUMNS_IN_SELECT:
case SQL_MAX_COLUMNS_IN_TABLE:
case SQL_MAX_TABLES_IN_SELECT:
case SQL_QUALIFIER_LOCATION: /* SQL_CATALOG_LOCATION */
case SQL_CONCAT_NULL_BEHAVIOR:
case SQL_CORRELATION_NAME:
case SQL_CURSOR_COMMIT_BEHAVIOR:
case SQL_CURSOR_ROLLBACK_BEHAVIOR:
case SQL_FILE_USAGE:
case SQL_GROUP_BY:
case SQL_IDENTIFIER_CASE:
case SQL_KEYWORDS:
case SQL_MAX_COLUMN_NAME_LEN:
case SQL_MAX_CURSOR_NAME_LEN:
case SQL_MAX_IDENTIFIER_LEN:
case SQL_MAX_PROCEDURE_NAME_LEN:
case SQL_MAX_OWNER_NAME_LEN: /* SQL_MAX_SCHEMA_NAME_LEN */
case SQL_MAX_TABLE_NAME_LEN:
case SQL_MAX_USER_NAME_LEN:
case SQL_NON_NULLABLE_COLUMNS:
case SQL_NULL_COLLATION:
case SQL_ODBC_API_CONFORMANCE:
case SQL_ODBC_SAG_CLI_CONFORMANCE:
case SQL_ODBC_SQL_CONFORMANCE:
case SQL_QUOTED_IDENTIFIER_CASE:
case SQL_TXN_CAPABLE:
{
traceShortPtrVal("*pInfoValue",(short *)pInfoValue);
break;
}
case SQL_CREATE_ASSERTION:
case SQL_CREATE_CHARACTER_SET:
case SQL_CREATE_COLLATION:
case SQL_CREATE_TRANSLATION:
case SQL_DROP_ASSERTION:
case SQL_DROP_CHARACTER_SET:
case SQL_DROP_COLLATION:
case SQL_DROP_TRANSLATION:
case SQL_DYNAMIC_CURSOR_ATTRIBUTES1:
case SQL_DYNAMIC_CURSOR_ATTRIBUTES2:
case SQL_INDEX_KEYWORDS:
case SQL_INFO_SCHEMA_VIEWS:
case SQL_KEYSET_CURSOR_ATTRIBUTES1:
case SQL_KEYSET_CURSOR_ATTRIBUTES2:
case SQL_MAX_ASYNC_CONCURRENT_STATEMENTS:
case SQL_MAX_BINARY_LITERAL_LEN:
case SQL_MAX_CHAR_LITERAL_LEN:
case SQL_MAX_ROW_SIZE:
case SQL_MAX_STATEMENT_LEN:
case SQL_QUALIFIER_USAGE: /* SQL_CATALOG_USAGE */
case SQL_STATIC_SENSITIVITY:
case SQL_TIMEDATE_ADD_INTERVALS:
case SQL_TIMEDATE_DIFF_INTERVALS:
case SQL_AGGREGATE_FUNCTIONS:
case SQL_ALTER_DOMAIN:
case SQL_ALTER_TABLE:
case SQL_ASYNC_MODE:
case SQL_BATCH_ROW_COUNT:
case SQL_BATCH_SUPPORT:
case SQL_BOOKMARK_PERSISTENCE:
case SQL_CONVERT_BIGINT:
case SQL_CONVERT_BIT:
case SQL_CONVERT_CHAR:
case SQL_CONVERT_DATE:
case SQL_CONVERT_DECIMAL:
case SQL_CONVERT_DOUBLE:
case SQL_CONVERT_FLOAT:
case SQL_CONVERT_INTEGER:
case SQL_CONVERT_LONGVARCHAR:
case SQL_CONVERT_NUMERIC:
case SQL_CONVERT_REAL:
case SQL_CONVERT_SMALLINT:
case SQL_CONVERT_TIME:
case SQL_CONVERT_TIMESTAMP:
case SQL_CONVERT_TINYINT:
case SQL_CONVERT_VARCHAR:
case SQL_CONVERT_BINARY:
case SQL_CONVERT_INTERVAL_YEAR_MONTH:
case SQL_CONVERT_INTERVAL_DAY_TIME:
case SQL_CONVERT_LONGVARBINARY:
case SQL_CONVERT_VARBINARY:
case SQL_CONVERT_WCHAR:
case SQL_CONVERT_WLONGVARCHAR:
case SQL_CONVERT_WVARCHAR:
case SQL_CONVERT_FUNCTIONS:
case SQL_CREATE_DOMAIN:
case SQL_CREATE_SCHEMA:
case SQL_CREATE_TABLE:
case SQL_CREATE_VIEW:
case SQL_CURSOR_SENSITIVITY:
case SQL_DATETIME_LITERALS:
case SQL_DDL_INDEX:
case SQL_DEFAULT_TXN_ISOLATION:
case SQL_DROP_DOMAIN:
case SQL_DROP_SCHEMA:
case SQL_DROP_TABLE:
case SQL_DROP_VIEW:
case SQL_FETCH_DIRECTION:
case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1:
case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2:
case SQL_GETDATA_EXTENSIONS:
case SQL_INSERT_STATEMENT:
case SQL_LOCK_TYPES:
case SQL_MAX_INDEX_SIZE:
case SQL_NUMERIC_FUNCTIONS:
case SQL_ODBC_INTERFACE_CONFORMANCE:
case SQL_OJ_CAPABILITIES:
case SQL_OWNER_USAGE: /* SQL_SCHEMA_USAGE */
case SQL_PARAM_ARRAY_ROW_COUNTS:
case SQL_PARAM_ARRAY_SELECTS:
case SQL_POS_OPERATIONS:
case SQL_POSITIONED_STATEMENTS:
case SQL_SCROLL_OPTIONS:
case SQL_SCROLL_CONCURRENCY:
case SQL_SQL_CONFORMANCE:
case SQL_SQL92_DATETIME_FUNCTIONS:
case SQL_SQL92_FOREIGN_KEY_DELETE_RULE:
case SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:
case SQL_SQL92_GRANT:
case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:
case SQL_SQL92_PREDICATES:
case SQL_SQL92_RELATIONAL_JOIN_OPERATORS:
case SQL_SQL92_REVOKE:
case SQL_SQL92_ROW_VALUE_CONSTRUCTOR:
case SQL_SQL92_STRING_FUNCTIONS:
case SQL_SQL92_VALUE_EXPRESSIONS:
case SQL_STANDARD_CLI_CONFORMANCE:
case SQL_STATIC_CURSOR_ATTRIBUTES1:
case SQL_STATIC_CURSOR_ATTRIBUTES2:
case SQL_STRING_FUNCTIONS:
case SQL_SUBQUERIES:
case SQL_SYSTEM_FUNCTIONS:
case SQL_TIMEDATE_FUNCTIONS:
case SQL_TXN_ISOLATION_OPTION:
case SQL_UNION:
{
traceIntPtrVal("*pInfoValue",(int *)pInfoValue);
break;
}
default:
{
traceArg("*pInfoValue type is unknown");
break;
}
} // Switch
}