DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t2; DROP TABLE IF EXISTS t3; select * from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO; TYPE NAME VALUE MAX_INDEX_ID MAX_INDEX_ID max_index_id CF_FLAGS 0 default [0] CF_FLAGS 1 __system__ [0] select count(*) from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO; count(*) 3 select VALUE into @keysIn from INFORMATION_SCHEMA.XENGINE_COMPACTION_STATS where CF_NAME = 'default' and LEVEL = 'Sum' and TYPE = 'KeyIn'; CREATE TABLE t1 (i1 INT, i2 INT, PRIMARY KEY (i1)) ENGINE = XENGINE; INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3); select * from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO; TYPE NAME VALUE BINLOG FILE master-bin.000001 BINLOG POS 1066 BINLOG GTID uuid:5 MAX_INDEX_ID MAX_INDEX_ID max_index_id CF_FLAGS 0 default [0] CF_FLAGS 1 __system__ [0] select count(*) from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO; count(*) 6 set global xengine_force_flush_memtable_now = true; set global xengine_compact_cf='default'; select case when VALUE-@keysIn >= 3 then 'true' else 'false' end from INFORMATION_SCHEMA.XENGINE_COMPACTION_STATS where CF_NAME = 'default' and LEVEL = 'Sum' and TYPE = 'KeyIn'; case when VALUE-@keysIn >= 3 then 'true' else 'false' end true CREATE INDEX tindex1 on t1 (i1); CREATE INDEX tindex2 on t1 (i2); select * from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO where TYPE = 'CF_FLAGS'; TYPE NAME VALUE CF_FLAGS 0 default [0] CF_FLAGS 1 __system__ [0] CREATE TABLE t2 ( a int, b int, c int, d int, e int, PRIMARY KEY (a) COMMENT "cf_a", KEY (b) COMMENT "cf_b", KEY (c) COMMENT "cf_c", KEY (d) COMMENT "$per_index_cf", KEY (e) COMMENT "rev:cf_d") ENGINE=XENGINE; select * from INFORMATION_SCHEMA.XENGINE_GLOBAL_INFO where TYPE = 'CF_FLAGS'; TYPE NAME VALUE CF_FLAGS 0 default [0] CF_FLAGS 1 __system__ [0] CF_FLAGS 2 cf_a [0] CF_FLAGS 3 cf_b [0] CF_FLAGS 4 cf_c [0] CF_FLAGS 5 test.t2.d [2] CF_FLAGS 6 rev:cf_d [1] CREATE TABLE t3 (a INT, PRIMARY KEY (a)) ENGINE=XENGINE; insert into t3 (a) values (1), (2), (3); SET @ORIG_XENGINE_PAUSE_BACKGROUND_WORK = @@GLOBAL.XENGINE_PAUSE_BACKGROUND_WORK; SHOW GLOBAL VARIABLES LIKE 'XENGINE_PAUSE_BACKGROUND_WORK'; Variable_name Value xengine_pause_background_work OFF SET GLOBAL XENGINE_PAUSE_BACKGROUND_WORK=1; SHOW GLOBAL VARIABLES LIKE 'XENGINE_PAUSE_BACKGROUND_WORK'; Variable_name Value xengine_pause_background_work ON SET GLOBAL XENGINE_PAUSE_BACKGROUND_WORK=1; SHOW GLOBAL VARIABLES LIKE 'XENGINE_PAUSE_BACKGROUND_WORK'; Variable_name Value xengine_pause_background_work ON DROP TABLE t3; cf_id:0,index_id:268 SET GLOBAL XENGINE_PAUSE_BACKGROUND_WORK=0; SHOW GLOBAL VARIABLES LIKE 'XENGINE_PAUSE_BACKGROUND_WORK'; Variable_name Value xengine_pause_background_work OFF next line shouldn't cause assertion to fail SET GLOBAL XENGINE_PAUSE_BACKGROUND_WORK=0; SHOW GLOBAL VARIABLES LIKE 'XENGINE_PAUSE_BACKGROUND_WORK'; Variable_name Value xengine_pause_background_work OFF SET GLOBAL XENGINE_PAUSE_BACKGROUND_WORK = @ORIG_XENGINE_PAUSE_BACKGROUND_WORK; DROP TABLE t1; DROP TABLE t2;