User Defined Attributes advanced settings

This section describes advanced settings for user-defined attributes (UDA).

The following database names are recognized in UDA advanced settings:

  • SYBASE ASE
  • IBM® DB2®
  • INFORMIX
  • MICROSOFT SQL SERVER
  • NETEZZASQL
  • NCLUSTER
  • WEBSPHERE CLASSIC FEDERATION
  • COMPOSITE
  • GREENPLUM
  • INTERBASE
  • INGRES
  • SYBASE IQ
  • INGRES_VECTORWISE
  • PARACCEL
  • POSTGRESQL
  • RED BRICK WAREHOUSE
  • TERADATA
  • VERTICA DATABASE
  • ORACLE
  • SAP R3
  • XML

If the database name is not recognized, then the setting is not read. If you have other databases that are not listed, or your ODBC drivers return a different database name, then use the database name that is obtained from the SQL_DBMS_NAME of ODBC SQLGetInfo() attribute.

UDA.THREADSTART_TIMEOUT

Specifies a timeout in seconds on waiting to start a thread in the UDA sqlAOpen API. In the sqlAOpen API, UDA uses a separate thread to create a result set, so that the result set could be canceled by the sqlCancelOpen API.

For backward capability, the UDA_THREADSTART_TIMEOUT advanced property, that is set in Cognos Configuration, is still supported. However, if the UDA.THREADSTART_TIMEOUT advanced property is present in the Advanced Settings, then UDA_THREADSTART_TIMEOUT advanced property from Cognos Configuration is ignored.

Syntax:
UDA.THREADSTART_TIMEOUT= numeric value
Data type:
Positive Integer (1 - 600)
Default:
20

UDA.PARSE_ANSI_NUMERIC_LITERAL

Specifies whether the UDA SQL parser reads the numeric literal with decimal points (for example 1.23), as an exact numeric value (for example decimal), or as an approximate value (for example double).

When the setting is true, then the UDA SQL parser reads the numeric literal with decimal points as an exact numeric value. Values with the number of digits less than 9 are read as an integer with scale. Values with the number of digits 10 - 18 are read as a quad with scale. Values with the number of digits 19 - 77 are read as a decimal (precision, scale). The value with the number of digits greater than 77 are read as a double. When the setting is false, then the UDA SQL parser reads the numeric literal with decimal points as a double.

Syntax:
UDA.PARSE_ANSI_NUMERIC_LITERAL= boolean value
Data type:
Boolean
Default:
True

UDA.PARSE_STRING_LITERAL_AS_VARCHAR

Indicates that whether a string literal can be parsed as a varchar/nvarchar type.

When the setting is true, then the UDA SQL parser parses the string literal as a char/nchar type initially and then returns to parse it as a varchar/nvarchar type.

Syntax:
UDA.PARSE_STRING_LITERAL_AS_VARCHAR= boolean value
Data type:
Boolean
Default:
False

UDA.NATIVE_SQL_IN_CTE

Controls how the native SQL in the command table expression of a WITH clause is processed.

When the boolean value is set to KEEP, then the native SQL as part of a WITH clause is pushed to the underlying database.

When the boolean value is set to PT, then the native SQL is considered as a pass-through native SQL. The SQL itself is pushed to the database.

When the boolean value is set to DT, the WITH clause is removed, and all command table expressions are converted to derived tables.

Syntax:
UDA.NATIVE_SQL_IN_CTE= "database name:string value"
Data type:
Boolean
Default:
KEEP

UDA.CONVERT_TIMESTAMP_LITERAL_TO_DATE_LITERAL

Because the Oracle DATE column contains the date and time parts, UDA reports the Oracle DATE datatype as TIMESTAMP.

IBM Cognos product treats the Oracle DATE column as a TIMESTAMP, and generates a TIMESTAMP literal in the filter.

When you compare the DATE column and the TIMESTAMP literal, then the Oracle optimization adds an internal function on the DATE column to make the comparison compatible. This impacts the performance of Oracle.

This entry is specific to Oracle only. When the boolean value is set to true, then UDA converts the TIMESTAMP literal with 0 time value to a DATE literal. Oracle uses index scan on a DATE column.

Syntax:
UDA.CONVERT_TIMESTAMP_LITERAL_TO_DATE_LITERAL= "database name: boolean value"
Data type:
Boolean
Default:
False

UDA.REPREPARE_QUERY_FOR_PARAMETER_VALUE

Specifies whether the UDA ODBC gateways are repreparing the query for every parameter value.

Syntax:
UDA.REPREPARE_QUERY_FOR_PARAMETER_VALUE= "database name: boolean value"
Data type:
Boolean
Default:
False

UDA.CALL_ODBC_SQLNUMRESULTCOLS

Retrieves the column count that is set for a query.

Syntax:
UDA.CALL_ODBC_SQLNUMRESULTCOLS= "database name: boolean value"
Data type:
Boolean
Default:
True