Informix Error -473
-473 The specified data type is not a X/Open standard type.
This error is generated when a GET DESCRIPTOR or a SET DESCRIPTOR statement is executed in X/Open mode, and the value for the type field is not an X/Open standard type. Check the X/Open codes for data types again, and make sure that the correct type is being used.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-473 fires when GET DESCRIPTOR/SET DESCRIPTOR is used in X/Open mode with a data type value
that isn't one of the standard X/Open type codes — X/Open mode enforces a specific, portable set
of type codes distinct from Informix's own native internal type codes.
- Using an Informix-native internal type code where an X/Open standard type code is required, because the session/descriptor is operating in X/Open mode.
- A typo or incorrect constant for the intended X/Open type code.
- Code written for native Informix mode, later run under X/Open mode without translating type codes to the X/Open equivalents.
Solutions / Resolution
- Verify the correct X/Open standard type codes, per the official guidance, and ensure the appropriate one is specified for the data type actually involved.
- Consult the X/Open CLI/embedded SQL type-code mapping for the specific server version in use, rather than assuming Informix's native type codes apply directly.
- When porting code between native and X/Open modes, translate type codes explicitly rather than reusing them unchanged.
Examples
Using the correct X/Open type code
SET DESCRIPTOR 'desc1' VALUE 1 TYPE = 4;
-- 4 is the X/Open standard code for INTEGER, for example —
-- confirm against the actual X/Open type-code table for the
-- server version in use
Diagnostic Checks
- Confirm the session/descriptor is actually in X/Open mode.
- Check the specific type code value being used against the X/Open standard type-code table.
Related Errors / Related Topics
- -472 — "Occurrence value is out of range." Another
GET DESCRIPTOR/SET DESCRIPTOR- related restriction, about occurrence indexing rather than type codes. - -469 — "This descriptor does not exist." A related descriptor-usage error, about a missing allocation rather than a type-code mismatch.
X/Open mode requires its own standard type codes, distinct from Informix's native internal ones — consult the X/Open type-code mapping rather than assuming native codes carry over.