Informix Error -6052: Not all of the composite index is contained in the current view of this table.
Cause and resolution
Not all of the composite index is contained in the current view of this table.
When the program calls dbselfield() to set a composite index, the current view that is established by calling dbsetfileview() or dbstructview() must include all columns of that index. Review the program logic, especially the calls to the latter two functions, to make sure this action is performed. If the view is set as you intended, possibly the composite index has been dropped and re-created using more or different columns.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-6052 fires when dbselfield() sets a composite index whose columns aren't all included in the current view — per the archived catalogue, the view set via dbsetfileview()/dbstructview() must include every column of that index.
- A view that omits one or more columns of the composite index, per the archived catalogue.
- The composite index having been dropped and re-created with different columns, per the archived catalogue.
Solutions / Resolution
- Review the dbsetfileview()/dbstructview() calls to ensure the view includes every column of the composite index, per the archived catalogue.
- If the view looks correct, check whether the index was redefined with different columns.
Examples
N/A
No specific triggering statement is documented beyond the function-level condition described above.
Diagnostic Checks
- Compare the current view's columns against the composite index's actual columns.
Related Errors / Related Topics
- -6026 — "The named column must be indexed or sequential search must be selected."
- -6043 — "Column is not a composite key."
The current view omits part of the composite index — ensure the view covers every column of it.