-- Migrated from DuckDB test: test/sql/overflow/integer_overflow.test -- Note: GreptimeDB wraps on overflow, DuckDB throws error -- TINYINT addition tests SELECT 100::TINYINT + 1::TINYINT; +-----------------------+ | Int64(100) + Int64(1) | +-----------------------+ | 101 | +-----------------------+ -- overflow: wraps to -106 SELECT 100::TINYINT + 50::TINYINT; +------------------------+ | Int64(100) + Int64(50) | +------------------------+ | -106 | +------------------------+ SELECT 0::TINYINT + (-127)::TINYINT; +------------------------+ | Int64(0) + Int64(-127) | +------------------------+ | -127 | +------------------------+ -- underflow: wraps to 127 SELECT (-2)::TINYINT + (-127)::TINYINT; +-------------------------+ | Int64(-2) + Int64(-127) | +-------------------------+ | 127 | +-------------------------+ -- SMALLINT addition tests SELECT 30000::SMALLINT + 1::SMALLINT; +-------------------------+ | Int64(30000) + Int64(1) | +-------------------------+ | 30001 | +-------------------------+ -- overflow: wraps to -30536 SELECT 30000::SMALLINT + 5000::SMALLINT; +----------------------------+ | Int64(30000) + Int64(5000) | +----------------------------+ | -30536 | +----------------------------+ SELECT 0::SMALLINT + (-32767)::SMALLINT; +--------------------------+ | Int64(0) + Int64(-32767) | +--------------------------+ | -32767 | +--------------------------+ -- underflow: wraps to 32767 SELECT (-2)::SMALLINT + (-32767)::SMALLINT; +---------------------------+ | Int64(-2) + Int64(-32767) | +---------------------------+ | 32767 | +---------------------------+ -- INTEGER addition tests SELECT 2147483640::INTEGER + 1::INTEGER; +------------------------------+ | Int64(2147483640) + Int64(1) | +------------------------------+ | 2147483641 | +------------------------------+ -- overflow: wraps SELECT 2147483640::INTEGER + 5000::INTEGER; +---------------------------------+ | Int64(2147483640) + Int64(5000) | +---------------------------------+ | -2147478656 | +---------------------------------+ -- BIGINT addition tests SELECT 9223372036854775800::BIGINT + 1::BIGINT; +---------------------------------------+ | Int64(9223372036854775800) + Int64(1) | +---------------------------------------+ | 9223372036854775801 | +---------------------------------------+ -- overflow: wraps SELECT 9223372036854775800::BIGINT + 1000::BIGINT; +------------------------------------------+ | Int64(9223372036854775800) + Int64(1000) | +------------------------------------------+ | -9223372036854774816 | +------------------------------------------+