test: add upgrade compatibility tests (#6863)

test: add upgrade compatibility tests (#5188)

Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com>
This commit is contained in:
WaterWhisperer
2025-09-03 05:16:00 +08:00
committed by GitHub
parent b7f507cb37
commit 7fbcae1ef8
6 changed files with 207 additions and 0 deletions

View File

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

View File

@@ -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;

View File

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

View File

@@ -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;

View File

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

View File

@@ -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;