void RsTrace::traceGetInfoOutput()

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
}