Enable or Disable Index Not Supported Error Messages
On databases that do not support indexes, you can specify if Hyper-Q should return an error when attempting to create or access an index, or ignore the error. For backend databases that support the use of indexes, if set to true Hyper-Q allows the use of index commands.
If enabled, Hyper-Q reports errors if it fails to create or locate an index. In the following example a CREATE INDEX statement and a DROP INDEX statement return the following errors when allow_index_commands, is set to true.
CREATE UNIQUE INDEX index_name on table_name; *** Failure 3706 DTM9031: Creating index not supported by the backend system: (xtra_sql_utils:2590) Statement# 1, Info =0 DROP INDEX index_name on table_name; *** Failure 3706 DTM8583: Index 'index_name' does not exist. ('teradata-140000-in-drop_index':156) Statement# 1, Info =0
You can configure Hyper-Q to ignore these errors and not report them.
The syntax for allow_index_commands is:
allow_index_commands = true | false
where:
Parameter | Description |
|---|---|
| Hyper-Q reports errors when it encounters a database that does not support indexes and the index does not exist. |
| Hyper-Q ignores errors when it encounters a database that does not support indexes and the index does not exist. |
Hint Scope
The allow_index_commands hint can be specified at the statement, request, session, and application level. To learn more about Hyper-Q SQL hints, and how to use them within a SQL query, see About Hyper-Q SQL Hints.
You can specify allow_index_commands as a global setting in the Hyper-Q configuration file (dtm.ini). To enable allow_index_commands, set it to true. The default value is false.
"gateway".allow_index_commands=true
If set to true, Hyper-Q reports errors if it fails to create or locate an index. In the following example a CREATE INDEX statement and a DROP INDEX statement return the following errors when allow_index_commands, set it to true for a database that does not support indexes.
CREATE UNIQUE INDEX index_name on table_name; *** Failure 3706 DTM9031: Creating index not supported by the backend system: (xtra_sql_utils:2590) Statement# 1, Info =0 *** Failure 3706 DTM8583: Index 'index_name' does not exist. ('teradata-140000-in-drop_index':156) Statement# 1, Info =0
To learn more about specifying a hint as a gateway option in the Hyper-Q configuration file, see Gateway Configuration Parameters.
You can specify allow_index_commands as a query hint. This example specifies the hint within CREATE TABLE and a DROP INDEX statements, and disables error reporting for missing indexes.
CREATE --@dtm_allow_index_commands=false UNIQUE INDEX index_name on table_name; DROP --@dtm_allow_index_commands=false INDEX index_name on table_name;
You can enable and disable the allow_index_commands hint using the dtm set command on a per session basis. When specifying the configuration using the dtm set command, use the options on | off to enable and disable index commands.
dtm set allow_index_commands on; CREATE UNIQUE INDEX index_name on table_name; DROP INDEX index_name on table_name;