mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-28 00:42:56 +00:00
* 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>
109 lines
2.7 KiB
Plaintext
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 |
|
|
+------------------------------------------+
|
|
|