Informix Error -4078
-4078 Operand is missing, or is of a type that is not supported.
The operator has been directed to operate on an invalid type. Perhaps a function returns VOID, a blob (TEXT or BYTE), or FOREIGN result. IS NULL and IS NOT NULL operators can operate upon TEXT or BYTE and FOREIGN operands and can receive assignment from other operands of the same type or NULL.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4078 fires when an operator is directed to operate on an invalid or missing operand — per the
official guidance, this often happens when a function returns VOID, a BLOB (TEXT/BYTE),
or FOREIGN. IS NULL/IS NOT NULL are exceptions: they can operate on TEXT/BYTE/FOREIGN
operands and receive assignment from same-typed operands or NULL.
- An operand missing entirely, per the official guidance — the first named case.
- An operand of an unsupported type, per the official guidance — for example, a
VOIDfunction result, or aTEXT/BYTE/FOREIGNvalue used with an operator other thanIS NULL/IS NOT NULL.
Solutions / Resolution
- Supply a valid, present operand of a supported type.
- Use
IS NULL/IS NOT NULLif checking aTEXT/BYTE/FOREIGNvalue for null-ness.
Examples
Using an unsupported operand type
DEFINE b BYTE
IF b = "x" THEN
-- -4078: BYTE doesn't support "=" comparison this way
END IF
Corrected
IF b IS NOT NULL THEN
...
END IF
Diagnostic Checks
- Check whether the operand is present and of a supported type, using
IS NULL/IS NOT NULLfor BLOB/FOREIGNnull-checks.
Related Errors / Related Topics
- -4077 — "This operation is not valid on an operand of this type." A closely related operand-type error, about an operator rejecting a present operand's type generally, rather than this more specific missing-or-unsupported-operand condition.
An operand is missing or of an unsupported type (often VOID/TEXT/BYTE/FOREIGN) — supply
a valid operand, or use IS NULL/IS NOT NULL for BLOB/FOREIGN checks.