Description:
Test main.alter_table-big_myisam always fails:
$ ./mtr main.alter_table-big_myisam
...
[ 50%] main.alter_table-big_myisam [ fail ]
Test ended at 2024-07-03 13:46:23
CURRENT_TEST: main.alter_table-big_myisam
--- /Users/laurynas/vilniusdb/mysql-9.0.0/mysql-test/r/alter_table-big_myisam.result 2024-07-01 14:55:47
+++ /Users/laurynas/vilniusdb/mysql-9.0.0/_build-debug/mysql-test/var/log/alter_table-big_myisam.reject 2024-07-03 13:46:22
@@ -11,6 +11,8 @@
CREATE TABLE t1 (i INT) ENGINE=InnoDB;
CREATE TABLE t2 (i INT) ENGINE=MyISAM;
LOCK TABLES t1 WRITE, t2 WRITE;
+Warnings:
+Warning 6414 Combining the storage engines MyISAM and InnoDB is deprecated, but the statement or transaction updates both the MyISAM table test.t2 and the InnoDB table test.t1.
SET @@debug='+d,injecting_fault_writing';
ALTER TABLE t1 RENAME TO t3;
ERROR HY000: Error writing file 'binlog' ((errno: #)
@@ -51,6 +53,8 @@
CREATE TABLE t1 (i INT) ENGINE=InnoDB;
CREATE TABLE t2 (i INT) ENGINE=MyISAM;
LOCK TABLES t1 WRITE, t2 WRITE;
+Warnings:
+Warning 6414 Combining the storage engines MyISAM and InnoDB is deprecated, but the statement or transaction updates both the MyISAM table test.t2 and the InnoDB table test.t1.
SET @@debug='+d,injecting_fault_writing';
ALTER TABLE t1 ADD COLUMN j INT, RENAME TO t3, ALGORITHM=INPLACE;
ERROR HY000: Error writing file 'binlog' ((errno: #)
@@ -91,6 +95,8 @@
CREATE TABLE t2 (i INT) ENGINE=MyISAM;
CREATE DATABASE mysqltest;
LOCK TABLES t1 WRITE, t2 WRITE;
+Warnings:
+Warning 6414 Combining the storage engines MyISAM and InnoDB is deprecated, but the statement or transaction updates both the MyISAM table test.t2 and the InnoDB table test.t1.
SET @@debug='+d,injecting_fault_writing';
ALTER TABLE t1 ADD COLUMN j INT, RENAME TO t3, ALGORITHM=COPY;
ERROR HY000: Error writing file 'binlog' ((errno: #)
@@ -155,6 +161,8 @@
CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t2 (fk INT) ENGINE=MyISAM;
LOCK TABLES t2 WRITE, t1 WRITE;
+Warnings:
+Warning 6414 Combining the storage engines InnoDB and MyISAM is deprecated, but the statement or transaction updates both the InnoDB table test.t1 and the MyISAM table test.t2.
SET @@debug='+d,injecting_fault_writing';
ALTER TABLE t2 ADD FOREIGN KEY (fk) REFERENCES t1(pk), ENGINE=InnoDB, RENAME TO t3, ALGORITHM=COPY;
ERROR HY000: Error writing file 'binlog' ((errno: #)
mysqltest: Result content mismatch
How to repeat:
Should reproduce trivially. If it matters, the CMake options used were -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=ON -DWITH_SYSTEM_LIBS=ON -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF -DFORCE_COLORED_OUTPUT=ON -DWITH_ZLIB=bundled -DCMAKE_CXX_FLAGS=-Wno-unused-lambda-capture -DCMAKE_C_FLAGS_DEBUG=-g -Wno-unused-lambda-capture -DCMAKE_CXX_FLAGS_DEBUG=-g -Wno-unused-lambda-capture -DCMAKE_CXX_FLAGS_RELEASE=-O2 -g -DNDEBUG -Wno-unused-lambda-capture