Informix Error -21523: Cannot proceed with a dirty/modified table data dictionary entry.
Cause and resolution
Cannot proceed with a dirty/modified table data dictionary entry.
DML operations are susceptible to this error when they are referencing an older copy of the table's data dictionary information. Most likely, the database server just completed a 'CREATE/DROP INDEX ... ' operation on the table referred to by the DML operation.
This error is accompanied by SQL Error -710.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-21523 fires when a DML operation references an older copy of a table's data dictionary
information — per the official guidance, this error is accompanied by SQL Error -710, and
most likely follows a CREATE/DROP INDEX operation the database server just completed
on the referenced table.
- A
CREATE/DROP INDEXoperation just completing on the table the DML statement references, per the official guidance — the direct, only cause; the DML operation was referencing an older copy of the table's data dictionary information.
Solutions / Resolution
- Retry the DML operation, per the official guidance's implication, so it picks up the refreshed data dictionary.
Examples
N/A
No specific triggering statement is documented beyond a DML operation following a
just-completed CREATE/DROP INDEX.
Diagnostic Checks
- Check for a recently completed
CREATE/DROP INDEXoperation on the referenced table, and retry the DML statement.
Related Errors / Related Topics
- -12234 — "Partition has been altered." The equivalent dirty-dictionary condition
elsewhere in this project, also accompanied by SQL Error -710, for
ALTER FRAGMENT/ index operations on a partition.
A DML operation referenced a table's data dictionary after it was invalidated by a
just-completed CREATE/DROP INDEX (accompanied by SQL Error -710) — retry the statement.