Informix Error -467
-467 Indicator object is missing.
This program was compiled with the -icheck flag, and the current SQL statement did return a truncated or null value, for which an indicator would normally be set, to a host variable for which no indicator variable was specified. Revise the program to use indicator variables.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-467 is specific to programs compiled with the -icheck compiler flag: that flag enforces that
any host variable which could receive a truncated or NULL value must have an indicator variable
associated with it, so the application can actually detect when truncation or nullness occurred.
This error fires when a statement returns such a value to a host variable that has no indicator
variable at all.
- A host variable receiving a
NULLvalue from the database, with no indicator variable declared for it, while the program was compiled with-icheck. - A host variable receiving a truncated value (a string longer than the variable can hold) with no indicator variable to signal the truncation.
- Code written without
-icheckin mind, later recompiled with that flag for stricter safety checking, surfacing previously-silent gaps in indicator-variable usage.
Solutions / Resolution
- Add an indicator variable for every host variable that could receive a
NULLor truncated value, per the official guidance — this is what-icheckis specifically designed to enforce. - Review every
SELECT ... INTO/FETCH ... INTOin the codebase if this surfaces broadly after enabling-icheckfor the first time, since it likely points to multiple pre-existing gaps.
Examples
Adding an indicator variable
short ind_status;
EXEC SQL SELECT status INTO :status_var:ind_status FROM orders WHERE order_id = 1001;
/* ind_status will be set appropriately if status_var receives
a NULL or truncated value */
The disallowed missing indicator (under -icheck)
EXEC SQL SELECT status INTO :status_var FROM orders WHERE order_id = 1001;
/* -467 if status is NULL or too long for status_var, and the
program was compiled with -icheck */
Diagnostic Checks
- Confirm the program was compiled with
-icheck. - Check the specific host variable named in the error for a missing indicator variable.
- Review the query for columns that can genuinely be
NULLor exceed the host variable's size, to catch other similar gaps proactively.
Related Errors / Related Topics
- -429 — "Indicator variables should be 2-byte integers." A related indicator-variable error, about declaring the indicator with the wrong type rather than omitting it entirely.
- -391 — "Cannot insert a null into column column-name." A related
NULL-handling discipline, though on the insert/write side rather than this fetch/read-side indicator check.
-icheck is a stricter safety mode specifically designed to catch missing indicator variables —
add one for every host variable that could genuinely receive a NULL or truncated value.