diff options
Diffstat (limited to '')
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/optimize_table.test | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb/t/optimize_table.test b/storage/rocksdb/mysql-test/rocksdb/t/optimize_table.test new file mode 100644 index 00000000..50df3f9c --- /dev/null +++ b/storage/rocksdb/mysql-test/rocksdb/t/optimize_table.test @@ -0,0 +1,81 @@ +--source include/have_rocksdb.inc + +# +# OPTIMIZE TABLE statements +# + +let datadir = `SELECT @@datadir`; + +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6; +--enable_warnings +create table t1 (id int primary key, value int, value2 varchar(200), index(value)) engine=rocksdb; +create table t2 (id int primary key, value int, value2 varchar(200), index(value)) engine=rocksdb; +create table t3 (id int primary key, value int, value2 varchar(200), index(value)) engine=rocksdb; +create table t4 (id int, value int, value2 varchar(200), primary key (id) comment 'rev:cf_i', index(value) comment 'rev:cf_i') engine=rocksdb; +create table t5 (id int, value int, value2 varchar(200), primary key (id) comment 'rev:cf_i', index(value) comment 'rev:cf_i') engine=rocksdb; +create table t6 (id int, value int, value2 varchar(200), primary key (id) comment 'rev:cf_i', index(value) comment 'rev:cf_i') engine=rocksdb; + +--disable_query_log +let $t = 1; +while ($t <= 6) { + let $i = 1; + while ($i <= 10000) { + let $insert = INSERT INTO t$t VALUES($i, $i, REPEAT('x', 150)); + inc $i; + eval $insert; + } + inc $t; +} +--enable_query_log + +# Disable auto compaction so that effects of optimize table are stable +let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect; +--exec echo "wait" > $restart_file +--shutdown_server +--source include/wait_until_disconnected.inc +-- exec echo "restart:--rocksdb_default_cf_options=write_buffer_size=64k;target_file_size_base=64k;max_bytes_for_level_base=1m;compression_per_level=kNoCompression;disable_auto_compactions=true;level0_stop_writes_trigger=1000 " > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +-- enable_reconnect +-- source include/wait_until_connected_again.inc + +select count(*) from t1; +select count(*) from t2; +select count(*) from t3; +select count(*) from t4; +select count(*) from t5; +select count(*) from t6; +delete from t1 where id <= 9900; +delete from t2 where id <= 9900; +delete from t3 where id <= 9900; +delete from t4 where id <= 9900; +delete from t5 where id <= 9900; +delete from t6 where id <= 9900; + +source optimize_table.inc; +optimize table t1; +source optimize_table.inc; +optimize table t3; +source optimize_table.inc; +optimize table t4; +source optimize_table.inc; +optimize table t6; +source optimize_table.inc; + +select count(*) from t1; +select count(*) from t2; +select count(*) from t3; +select count(*) from t4; +select count(*) from t5; +select count(*) from t6; + +#cleanup +optimize table t2; +optimize table t5; +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; +DROP TABLE t5; +DROP TABLE t6; +--remove_file $MYSQL_TMP_DIR/sst_size.dat + |