Structure of the violations table
When you issue START VIOLATIONS TABLE for a target table, the violations table that the statement creates has a predefined structure. This structure consists of the columns of the target table and three additional columns.
Column Name | Data Type | Column Description |
---|---|---|
Same columns (in the same order) that appear in the target table | Same types as corresponding columns in the target table. | The violations table has the same schema as the target table, so that rows violating constraints or a unique-index during insert, update, and delete operations can be filtered to the violations table. |
informix_tupleid | SERIAL | Unique serial code for the nonconforming row |
informix_optype | CHAR(1) | The type of operation that caused
this bad row. This column can have the following values:
|
informix_recowner | CHAR(32) | User who issued the statement that created this nonconforming row |
If the target table of the START VIOLATIONS TABLE statement is protected by a security policy, the database server protects the violations table with same security policy. In this case, the schema of the violations table includes an IDSSECURITYLABEL column whose name and position among other columns corresponds to the IDSSECURITYLABEL column of the target table. When the violations table is created, any SECURED WITH label specifications that protect columns in the target table also protect the corresponding violations table columns.
Serial columns in the target table are converted to integer data types in the violations table.
Users can examine these nonconforming rows in the violations table, analyze the related rows that contain diagnostic information in the diagnostics table, and take corrective actions.