Overflow and Truncation [ ALLBASE/SQL Reference Manual ] MPE/iX 5.5 Documentation
ALLBASE/SQL Reference Manual
Overflow and Truncation
Some operations can result in data overflow or truncation. Overflow
results in loss of data on the left. Truncation results in loss of data
on the right.
Overflow or truncation can occur in several instances as follows:
* During arithmetic operations, for example, when multiplication
results in a number larger than the maximum value allowable in its
type. Arithmetic operations are defined in the "Expressions"
chapter.
* When using aggregate functions, for example, when the sum of
several numbers exceeds the maximum allowable size of the type
involved. Aggregate functions are defined in the "Expressions"
chapter.
* During type conversion, as when an INTEGER value is converted to a
SMALLINT value. Type conversion is discussed later in this
chapter.
Because large integers (less than -2147483648 (-231) or larger than
2147483647 (231-1) up to 15 digits long) are stored as decimals, large
integer overflow actually results in a DECIMAL OVERFLOW message.
Overflow always causes an error.
Truncation can cause a warning for the following types of data:
* Alphanumeric data--A warning occurs if a string is truncated
because it is too long for its target location. No error is given
if truncation occurs on input.
* Numeric data--No error or warning occurs when zeroes are dropped
from the left or when any digit is dropped from the fractional
part of DECIMAL or FLOAT values. Otherwise, truncation of numeric
values causes an error.
* LONG data--A warning occurs if LONG column data is truncated
because it is too long for its target input file. The output file
location is modified to fit the LONG column length, so no
truncation error occurs on LONG column output. If the file system
fills up, or the limit of shared memory is reached, a system error
occurs.
Refer to the ALLBASE/SQL Message Manual for information on handling
warnings and errors.
MPE/iX 5.5 Documentation