Cannot create violations/diagnostics table.

Cause

The user issued a START VIOLATIONS TABLE statement for a target table. The database server cannot create the violations table for this target table. Any of the following situations might be the reason for this failure:

  • The target table already has a violations table.
  • You specified an invalid name for the violations table in the START VIOLATIONS TABLE statement. For example, if you omit the USING clause from the statement and if the number of characters in the target table plus four characters is longer than the maximum identifier length, the generated names of the violations table exceed the maximum identifier length.
  • You specified a name for the violations table in the START VIOLATIONS TABLE statement that match the names of existing tables in the database.
  • The target table contains columns with the names informix_tupleid, informix_optype, or informix_recowner. Because these column names duplicate the informix_tupleid, informix_optype, or informix_recowner columns in the violations table, the database server cannot create the violations table.
  • The target table is a temporary table.
  • The target table is serving as a violations table for some other table.
  • The target table is a system catalog table.

Action

To resolve this error, perform one of the following actions:

  • If the violations table name was invalid, specify a unique name for the violations table in the USING clause of the START VIOLATIONS TABLE statement.
  • If the target table contains columns with the names informix_tupleid, informix_optype, or informix_recowner, rename them to something else.
  • Choose a permanent target table that is not a system catalog table or a violations table for some other table.