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.