Informix Error -2019: This integer exceeds the maximum size allowed.
Cause and resolution
This integer exceeds the maximum size allowed.
The INTEGER data type can accept numbers with absolute values from 0 to 2,147,483,647 (plus or minus (2 to the 31st power) - 1). If you have to store numbers outside this range, redefine the column or variable to use DECIMAL data type. (The value -2,147,483,648 is a 32-bit value but is not acceptable; it is used in 4GL to indicate a null value.)
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-2019 fires when a value exceeds what INTEGER can hold — per the official guidance,
INTEGER supports absolute values from 0 to 2,147,483,647 (±2³¹ - 1); notably,
-2,147,483,648 — although a valid 32-bit value — is reserved by 4GL to represent null and
can't be stored.
- A value greater than 2,147,483,647 or less than -2,147,483,647, per the official guidance — the direct, common cause.
- A value of exactly
-2,147,483,648, per the official guidance's specific reserved-value case — technically in range, but reserved as 4GL's null representation.
Solutions / Resolution
- Use
DECIMALinstead, per the official guidance, if the value genuinely needs a wider range. - Avoid assigning exactly
-2,147,483,648, per the official guidance's specific reserved-value note.
Examples
N/A
No specific triggering statement is documented — this is the same class of range check as -1215.
Diagnostic Checks
- Check the actual value against
INTEGER's ±2,147,483,647 range, and specifically against the reserved-2,147,483,648null value.
Related Errors / Related Topics
- -1215 — "Value too large to fit in an INTEGER." A closely related, same-mechanism
INTEGER-range error.
The value exceeds INTEGER's ±2,147,483,647 range (or is exactly the reserved
-2,147,483,648) — use DECIMAL instead.