diff options
-rw-r--r-- | sql/sql_reload.cc | 2 | ||||
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/r/mariadb_port_fixes.result | 7 | ||||
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/mariadb_port_fixes.test | 10 |
3 files changed, 19 insertions, 0 deletions
diff --git a/sql/sql_reload.cc b/sql/sql_reload.cc index 5d11387fbfe..ce3ff5964e2 100644 --- a/sql/sql_reload.cc +++ b/sql/sql_reload.cc @@ -30,6 +30,7 @@ #include "sql_show.h" #include "debug_sync.h" #include "des_key_file.h" +#include "transaction.h" static void disable_checkpoints(THD *thd); @@ -593,6 +594,7 @@ bool flush_tables_with_read_lock(THD *thd, TABLE_LIST *all_tables) return FALSE; error_reset_bits: + trans_rollback_stmt(thd); close_thread_tables(thd); thd->variables.option_bits&= ~OPTION_TABLE_LOCK; error: diff --git a/storage/rocksdb/mysql-test/rocksdb/r/mariadb_port_fixes.result b/storage/rocksdb/mysql-test/rocksdb/r/mariadb_port_fixes.result index 27b1fd1e9af..9674b2b0c15 100644 --- a/storage/rocksdb/mysql-test/rocksdb/r/mariadb_port_fixes.result +++ b/storage/rocksdb/mysql-test/rocksdb/r/mariadb_port_fixes.result @@ -81,3 +81,10 @@ ROCKSDB_DDL Gamma ROCKSDB_INDEX_FILE_MAP Gamma ROCKSDB_LOCKS Gamma ROCKSDB_TRX Gamma +# +# MDEV-12466 : Assertion `thd->transaction.stmt.is_empty() || thd->in_sub_stmt || ... +# +CREATE TABLE t1 (i INT) ENGINE=RocksDB; +FLUSH TABLE t1 FOR EXPORT; +ERROR HY000: Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option +DROP TABLE t1; diff --git a/storage/rocksdb/mysql-test/rocksdb/t/mariadb_port_fixes.test b/storage/rocksdb/mysql-test/rocksdb/t/mariadb_port_fixes.test index 980f2e302b2..681e3d2d63f 100644 --- a/storage/rocksdb/mysql-test/rocksdb/t/mariadb_port_fixes.test +++ b/storage/rocksdb/mysql-test/rocksdb/t/mariadb_port_fixes.test @@ -73,3 +73,13 @@ set global rocksdb_strict_collation_check=@tmp_rscc; --echo # select plugin_name, plugin_maturity from information_schema.plugins where plugin_name like '%rocksdb%'; + +--echo # +--echo # MDEV-12466 : Assertion `thd->transaction.stmt.is_empty() || thd->in_sub_stmt || ... +--echo # + +CREATE TABLE t1 (i INT) ENGINE=RocksDB; +--error ER_ILLEGAL_HA +FLUSH TABLE t1 FOR EXPORT; +DROP TABLE t1; + |