From 7fbcae1ef80456b2886e61db254fcd98b19af0fd Mon Sep 17 00:00:00 2001 From: WaterWhisperer <164724580+WaterWhisperer@users.noreply.github.com> Date: Wed, 3 Sep 2025 05:16:00 +0800 Subject: [PATCH] test: add upgrade compatibility tests (#6863) test: add upgrade compatibility tests (#5188) Signed-off-by: WaterWhisperer --- .../common/test_alter_drop_column.result | 62 +++++++++++++++++++ .../common/test_alter_drop_column.sql | 23 +++++++ .../standalone/common/test_alter_table.result | 54 ++++++++++++++++ .../standalone/common/test_alter_table.sql | 20 ++++++ .../standalone/common/test_update.result | 32 ++++++++++ .../standalone/common/test_update.sql | 16 +++++ 6 files changed, 207 insertions(+) create mode 100644 tests/upgrade-compat/standalone/common/test_alter_drop_column.result create mode 100644 tests/upgrade-compat/standalone/common/test_alter_drop_column.sql create mode 100644 tests/upgrade-compat/standalone/common/test_alter_table.result create mode 100644 tests/upgrade-compat/standalone/common/test_alter_table.sql create mode 100644 tests/upgrade-compat/standalone/common/test_update.result create mode 100644 tests/upgrade-compat/standalone/common/test_update.sql diff --git a/tests/upgrade-compat/standalone/common/test_alter_drop_column.result b/tests/upgrade-compat/standalone/common/test_alter_drop_column.result new file mode 100644 index 0000000000..605f871164 --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_alter_drop_column.result @@ -0,0 +1,62 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE alter_drop_test ( + id INT, + val_to_drop STRING, + val_to_keep STRING, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +Affected Rows: 0 + +INSERT INTO alter_drop_test(id, val_to_drop, val_to_keep, ts) VALUES (1, 'a', 'x', 1672531200000); + +Affected Rows: 1 + +-- SQLNESS ARG version=latest +ALTER TABLE alter_drop_test DROP COLUMN val_to_drop; + +Affected Rows: 0 + +SHOW CREATE TABLE alter_drop_test; + ++-----------------+------------------------------------------------+ +| Table | Create Table | ++-----------------+------------------------------------------------+ +| alter_drop_test | CREATE TABLE IF NOT EXISTS "alter_drop_test" ( | +| | "id" INT NULL, | +| | "val_to_keep" STRING NULL, | +| | "ts" TIMESTAMP(3) NOT NULL, | +| | TIME INDEX ("ts"), | +| | PRIMARY KEY ("id") | +| | ) | +| | | +| | ENGINE=mito | +| | | ++-----------------+------------------------------------------------+ + +SELECT * FROM alter_drop_test ORDER BY id; + ++----+-------------+---------------------+ +| id | val_to_keep | ts | ++----+-------------+---------------------+ +| 1 | x | 2023-01-01T00:00:00 | ++----+-------------+---------------------+ + +INSERT INTO alter_drop_test(id, val_to_keep, ts) VALUES (2, 'y', 1672531201000); + +Affected Rows: 1 + +SELECT * FROM alter_drop_test ORDER BY id; + ++----+-------------+---------------------+ +| id | val_to_keep | ts | ++----+-------------+---------------------+ +| 1 | x | 2023-01-01T00:00:00 | +| 2 | y | 2023-01-01T00:00:01 | ++----+-------------+---------------------+ + +DROP TABLE alter_drop_test; + +Affected Rows: 0 + diff --git a/tests/upgrade-compat/standalone/common/test_alter_drop_column.sql b/tests/upgrade-compat/standalone/common/test_alter_drop_column.sql new file mode 100644 index 0000000000..df52affe52 --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_alter_drop_column.sql @@ -0,0 +1,23 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE alter_drop_test ( + id INT, + val_to_drop STRING, + val_to_keep STRING, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +INSERT INTO alter_drop_test(id, val_to_drop, val_to_keep, ts) VALUES (1, 'a', 'x', 1672531200000); + +-- SQLNESS ARG version=latest +ALTER TABLE alter_drop_test DROP COLUMN val_to_drop; + +SHOW CREATE TABLE alter_drop_test; + +SELECT * FROM alter_drop_test ORDER BY id; + +INSERT INTO alter_drop_test(id, val_to_keep, ts) VALUES (2, 'y', 1672531201000); + +SELECT * FROM alter_drop_test ORDER BY id; + +DROP TABLE alter_drop_test; diff --git a/tests/upgrade-compat/standalone/common/test_alter_table.result b/tests/upgrade-compat/standalone/common/test_alter_table.result new file mode 100644 index 0000000000..df9bbe1a91 --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_alter_table.result @@ -0,0 +1,54 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE alter_test ( + id INT, + val STRING, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +Affected Rows: 0 + +INSERT INTO alter_test(id, val, ts) VALUES (1, 'a', 1672531200000); + +Affected Rows: 1 + +-- SQLNESS ARG version=latest +ALTER TABLE alter_test ADD COLUMN new_col INT; + +Affected Rows: 0 + +SHOW CREATE TABLE alter_test; + ++------------+-------------------------------------------+ +| Table | Create Table | ++------------+-------------------------------------------+ +| alter_test | CREATE TABLE IF NOT EXISTS "alter_test" ( | +| | "id" INT NULL, | +| | "val" STRING NULL, | +| | "ts" TIMESTAMP(3) NOT NULL, | +| | "new_col" INT NULL, | +| | TIME INDEX ("ts"), | +| | PRIMARY KEY ("id") | +| | ) | +| | | +| | ENGINE=mito | +| | | ++------------+-------------------------------------------+ + +INSERT INTO alter_test(id, val, ts, new_col) VALUES (2, 'b', 1672531201000, 100); + +Affected Rows: 1 + +SELECT * FROM alter_test ORDER BY id; + ++----+-----+---------------------+---------+ +| id | val | ts | new_col | ++----+-----+---------------------+---------+ +| 1 | a | 2023-01-01T00:00:00 | | +| 2 | b | 2023-01-01T00:00:01 | 100 | ++----+-----+---------------------+---------+ + +DROP TABLE alter_test; + +Affected Rows: 0 + diff --git a/tests/upgrade-compat/standalone/common/test_alter_table.sql b/tests/upgrade-compat/standalone/common/test_alter_table.sql new file mode 100644 index 0000000000..41b1555d8a --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_alter_table.sql @@ -0,0 +1,20 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE alter_test ( + id INT, + val STRING, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +INSERT INTO alter_test(id, val, ts) VALUES (1, 'a', 1672531200000); + +-- SQLNESS ARG version=latest +ALTER TABLE alter_test ADD COLUMN new_col INT; + +SHOW CREATE TABLE alter_test; + +INSERT INTO alter_test(id, val, ts, new_col) VALUES (2, 'b', 1672531201000, 100); + +SELECT * FROM alter_test ORDER BY id; + +DROP TABLE alter_test; diff --git a/tests/upgrade-compat/standalone/common/test_update.result b/tests/upgrade-compat/standalone/common/test_update.result new file mode 100644 index 0000000000..872878cb15 --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_update.result @@ -0,0 +1,32 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE update_test ( + id INT, + val INT, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +Affected Rows: 0 + +INSERT INTO update_test(id, val, ts) VALUES (1, 10, 1672531200000), (2, 20, 1672531201000); + +Affected Rows: 2 + +-- SQLNESS ARG version=latest +UPDATE update_test SET val = 100 WHERE id = 1; + +Error: 1001(Unsupported), SQL statement is not supported, keyword: UPDATE + +SELECT * FROM update_test ORDER BY id; + ++----+-----+---------------------+ +| id | val | ts | ++----+-----+---------------------+ +| 1 | 10 | 2023-01-01T00:00:00 | +| 2 | 20 | 2023-01-01T00:00:01 | ++----+-----+---------------------+ + +DROP TABLE update_test; + +Affected Rows: 0 + diff --git a/tests/upgrade-compat/standalone/common/test_update.sql b/tests/upgrade-compat/standalone/common/test_update.sql new file mode 100644 index 0000000000..33eedcd206 --- /dev/null +++ b/tests/upgrade-compat/standalone/common/test_update.sql @@ -0,0 +1,16 @@ +-- SQLNESS ARG version=v0.9.5 +CREATE TABLE update_test ( + id INT, + val INT, + ts TIMESTAMP TIME INDEX, + PRIMARY KEY(id) +); + +INSERT INTO update_test(id, val, ts) VALUES (1, 10, 1672531200000), (2, 20, 1672531201000); + +-- SQLNESS ARG version=latest +UPDATE update_test SET val = 100 WHERE id = 1; + +SELECT * FROM update_test ORDER BY id; + +DROP TABLE update_test;