diff options
| author | Monty <monty@mariadb.org> | 2021-04-06 16:37:11 +0300 |
|---|---|---|
| committer | Monty <monty@mariadb.org> | 2021-04-07 22:45:00 +0300 |
| commit | 4e2ca42225311f73745c9eec309bc941183aba30 (patch) | |
| tree | f2b3db03e4f2ee6a355a21ade963535d1a166e56 /mysql-test/main/backup_lock_binlog.test | |
| parent | 58780b5afbd00a87899c524735ec11b3534e51ee (diff) | |
| download | mariadb-git-4e2ca42225311f73745c9eec309bc941183aba30.tar.gz | |
MDEV-25334 FTWRL/Backup blocks DDL on temporary tables with binlog enabled, assertion fails in Diagnostics_area::set_error_status
Fixed by adding a MDL_BACKUP_COMMIT lock before altering temporary tables
whose creation was logged to binary log (in which case the ALTER TABLE
must also be logged)
Diffstat (limited to 'mysql-test/main/backup_lock_binlog.test')
| -rw-r--r-- | mysql-test/main/backup_lock_binlog.test | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/mysql-test/main/backup_lock_binlog.test b/mysql-test/main/backup_lock_binlog.test new file mode 100644 index 00000000000..45b3f1cfbd9 --- /dev/null +++ b/mysql-test/main/backup_lock_binlog.test @@ -0,0 +1,49 @@ +--source include/have_binlog_format_mixed_or_statement.inc + +# +# Tests involving locks and binlog +# + +--echo # +--echo # MDEV-25334 FTWRL/Backup blocks DDL on temporary tables with binlog +--echo # enabled assertion fails in Diagnostics_area::set_error_status +--echo # + +select @@binlog_format; +--connect (con1,localhost,root,,) +connection default; + +--echo # +--echo # Test 1 +--echo # + +CREATE TEMPORARY TABLE tmp (a INT); +--connection con1 +FLUSH TABLES WITH READ LOCK; +--connection default +SET lock_wait_timeout= 1; +--error ER_LOCK_WAIT_TIMEOUT +ALTER TABLE tmp; +--connection con1 +unlock tables; +--connection default +drop table tmp; + +--echo # +--echo # Test 2 (In statement format to ensure temporary table gets logged) +--echo # + +set @@binlog_format=statement; +CREATE TEMPORARY TABLE tmp (a INT); +--connection con1 +BACKUP STAGE START; +BACKUP STAGE BLOCK_COMMIT; +--connection default +SET lock_wait_timeout= 1; +--error ER_LOCK_WAIT_TIMEOUT +ALTER TABLE tmp; +--connection con1 +BACKUP STAGE end; +--connection default +drop table tmp; +--disconnect con1 |
