1#
2# MDEV-14843: Assertion `s_tx_list.size() == 0' failed in myrocks::Rdb_transaction::term_mutex
3#
4INSTALL SONAME 'ha_rocksdb';
5connect  con1,localhost,root,,test;
6CREATE TABLE t1 (i INT) ENGINE=RocksDB;
7insert into t1 values (1);
8DROP TABLE t1;
9connection default;
10UNINSTALL SONAME 'ha_rocksdb';
11Warnings:
12Warning	1620	Plugin is busy and will be uninstalled on shutdown
13SELECT ENGINE, SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='ROCKSDB';
14ENGINE	SUPPORT
15ROCKSDB	NO
16disconnect con1;
17#
18# MDEV-15686: Loading MyRocks plugin back after it has been unloaded causes a crash
19#
20call mtr.add_suppression("Plugin 'ROCKSDB.*' init function returned error.");
21call mtr.add_suppression("Plugin 'ROCKSDB.*' registration as a INFORMATION SCHEMA failed.");
22call mtr.add_suppression("Plugin 'ROCKSDB' registration as a STORAGE ENGINE failed");
23#
24# There are two possible scenarios:
25#  ha_rocksdb.{dll,so} is still loaded into mysqld's address space. Its
26#  global variables are in the state that doesn't allow it to be
27#  initialized back (this is what MDEV-15686 is about). This is handled
28#  by intentionally returning an error from rocksdb_init_func.
29#
30#  The second case is when ha_rocksdb.{ddl,so} has been fully unloaded
31#  and so it will be now loaded as if it happens for the first time.
32INSTALL SONAME 'ha_rocksdb';
33# Whatever happened on the previous step, restore things to the way they
34# were at testcase start.
35UNINSTALL SONAME 'ha_rocksdb';
36