SYSVIOLATIONS

The sysviolations system catalog table stores information about constraint violations for base tables.

This table is updated when the DELETE, INSERT, MERGE, or UPDATE statement detects a violation of an enabled constraint or unique index in a database table for which the START VIOLATIONS TABLE statement of SQL has created an associated violations table (and for Informix®, a diagnostics table). For each base table that has an active violations table, the sysviolations table has a corresponding row, with the following columns.
Column Type Explanation
targettid INTEGER Identifying code of the target table (the base table on which the violations table and the diagnostic table are defined)
viotid INTEGER Identifying code of the violations table
diatid INTEGER Identifying code of the diagnostics table
maxrows INTEGER Maximum number of rows that can be inserted into the diagnostics table by a single insert, update, or delete operation on a target table that has a filtering mode object defined on it.

The maxrows column also signifies the maximum number of rows that can be inserted in the diagnostics table during a single operation that enables a disabled object or that sets a disabled object to filtering mode (provided that a diagnostics table exists for the target table). If no maximum is specified for the diagnostics or violations table, then maxrows contains a NULL value.

The primary key of this table is the targettid column. An additional unique index is also defined on the viotid column.

HCL Informix® also has a unique index on the diatid column.