summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/innodb')
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_bugs.result12
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.combinations5
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_bugs.test13
3 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/instant_alter_bugs.result b/mysql-test/suite/innodb/r/instant_alter_bugs.result
index 02376a3cc79..79f1b0eb068 100644
--- a/mysql-test/suite/innodb/r/instant_alter_bugs.result
+++ b/mysql-test/suite/innodb/r/instant_alter_bugs.result
@@ -439,4 +439,16 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
drop table t1;
+#
+# MDEV-24072 Assertion 'ib_table.n_v_cols' failed
+# in instant_alter_column_possible()
+#
+CREATE TABLE t (a BLOB) ENGINE=InnoDB;
+INSERT INTO t VALUES ('a');
+ALTER TABLE t ADD c INT GENERATED ALWAYS AS (a+1) VIRTUAL, ADD KEY(c);
+ERROR 22007: Truncated incorrect DOUBLE value: 'a'
+ALTER TABLE t ADD d INT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+DROP TABLE t;
SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency;
diff --git a/mysql-test/suite/innodb/t/foreign_key.combinations b/mysql-test/suite/innodb/t/foreign_key.combinations
new file mode 100644
index 00000000000..53d4cff5ca7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/foreign_key.combinations
@@ -0,0 +1,5 @@
+[read-ahead]
+--innodb-random-read-ahead=ON
+
+[normal]
+--innodb-random-read-ahead=OFF
diff --git a/mysql-test/suite/innodb/t/instant_alter_bugs.test b/mysql-test/suite/innodb/t/instant_alter_bugs.test
index ad4343a056d..ec9f609138c 100644
--- a/mysql-test/suite/innodb/t/instant_alter_bugs.test
+++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test
@@ -454,4 +454,17 @@ select * from t1;
check table t1;
drop table t1;
+--echo #
+--echo # MDEV-24072 Assertion 'ib_table.n_v_cols' failed
+--echo # in instant_alter_column_possible()
+--echo #
+CREATE TABLE t (a BLOB) ENGINE=InnoDB;
+INSERT INTO t VALUES ('a');
+--error ER_TRUNCATED_WRONG_VALUE
+ALTER TABLE t ADD c INT GENERATED ALWAYS AS (a+1) VIRTUAL, ADD KEY(c);
+--enable_info
+ALTER TABLE t ADD d INT;
+--disable_info
+DROP TABLE t;
+
SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency;