Files
greptimedb/tests/cases/standalone/common/overflow/integer_overflow.result
dennis zhuang 24e5c9f6da test: migrate duckdb tests, part 1 (#6870)
* test: migrate duckdb tests

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* fix: style

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* test: add more duckdb tests

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* fix: stable order

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* chore: simplfy comments

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* chore: remove tests/cases/standalone/common/DUCKDB_MIGRATION_GUIDE.md

* fix: incorrect_sql.sql

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* fix: integer flow test

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* fix: integer flow test

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

* docs: add todo

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>

---------

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
2025-09-05 06:10:14 +00:00

109 lines
2.7 KiB
Plaintext

-- 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 |
+------------------------------------------+