1--source include/have_rocksdb.inc
2
3#
4# SHOW ENGINE STATUS command
5# Checking that the command doesn't produce an error.
6# If it starts producing an actual result, the result file
7# will need to be updated, and possibly masked.
8
9--disable_warnings
10DROP TABLE IF EXISTS t1;
11DROP TABLE IF EXISTS t2;
12DROP TABLE IF EXISTS t3;
13DROP TABLE IF EXISTS t4;
14--enable_warnings
15
16CREATE TABLE t1 (i INT, PRIMARY KEY (i) COMMENT 'cf_t1') ENGINE = ROCKSDB;
17CREATE TABLE t2 (j INT, PRIMARY KEY (j) COMMENT 'rev:cf_t2') ENGINE = ROCKSDB;
18CREATE TABLE t3 (k INT, PRIMARY KEY (k) COMMENT 'cf_t1') ENGINE = ROCKSDB;
19
20# With partition based column family creation we now expect all the partitions
21# to belong to a default column family because mapping wasn't specified in
22# this case.
23CREATE TABLE t4 (l INT, PRIMARY KEY (l) COMMENT 'cf_t4') ENGINE = ROCKSDB
24    PARTITION BY KEY(l) PARTITIONS 4;
25
26SET @save.rocksdb_max_background_jobs= @@global.rocksdb_max_background_jobs;
27SET GLOBAL rocksdb_max_background_jobs= 1;
28
29INSERT INTO t1 VALUES (1), (2), (3);
30SELECT COUNT(*) FROM t1;
31
32INSERT INTO t2 VALUES (1), (2), (3), (4);
33SELECT COUNT(*) FROM t2;
34
35INSERT INTO t4 VALUES (1), (2), (3), (4), (5);
36SELECT COUNT(*) FROM t4;
37
38SET GLOBAL rocksdb_force_flush_memtable_now=1;
39SET GLOBAL rocksdb_compact_cf="cf_t1";
40--replace_column 2 # 3 #
41SHOW ENGINE rocksdb STATUS;
42
43# Fetch data from information schema as well
44--replace_column 3 #
45SELECT * FROM INFORMATION_SCHEMA.ROCKSDB_CFSTATS;
46
47--replace_column 2 #
48SELECT * FROM INFORMATION_SCHEMA.ROCKSDB_DBSTATS;
49
50--sorted_result
51SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, COUNT(STAT_TYPE)
52FROM INFORMATION_SCHEMA.ROCKSDB_PERF_CONTEXT
53WHERE TABLE_SCHEMA = 'test'
54GROUP BY TABLE_NAME, PARTITION_NAME;
55
56--replace_column 3 #
57SELECT * FROM INFORMATION_SCHEMA.ROCKSDB_CF_OPTIONS;
58
59DROP TABLE t1;
60DROP TABLE t2;
61DROP TABLE t3;
62DROP TABLE t4;
63
64SHOW ENGINE rocksdb MUTEX;
65# For SHOW ALL MUTEX even the number of lines is volatile, so the result logging is disabled
66--disable_result_log
67SHOW ENGINE ALL MUTEX;
68--enable_result_log
69# Restore old values
70SET GLOBAL rocksdb_max_background_jobs= @save.rocksdb_max_background_jobs;
71