1--source include/have_rocksdb.inc
2--source include/have_debug.inc
3--source include/have_debug_sync.inc
4
5--disable_warnings
6DROP TABLE IF EXISTS t1;
7--enable_warnings
8
9# Test that fast secondary index creation updates cardinality properly
10CREATE TABLE t1 (i INT PRIMARY KEY, j INT) ENGINE = ROCKSDB;
11INSERT INTO t1 VALUES (1,2), (2,4), (3,6), (4,8), (5,10);
12
13SET debug_sync= 'rocksdb.commit_in_place_alter_table WAIT_FOR flushed';
14send ALTER TABLE t1 ADD INDEX kj(j), ALGORITHM=INPLACE;
15
16connect (con1,localhost,root,,);
17
18# Flush memtable out to SST
19SET GLOBAL rocksdb_force_flush_memtable_now = 1;
20SET debug_sync= 'now SIGNAL flushed';
21
22connection default;
23reap;
24
25# Return the data for the primary key of t1
26--replace_column 1 # 2 # 3 SSTNAME 5 # 6 # 7 # 8 # 9 #
27SELECT * FROM INFORMATION_SCHEMA.ROCKSDB_INDEX_FILE_MAP
28WHERE INDEX_NUMBER =
29    (SELECT INDEX_NUMBER FROM INFORMATION_SCHEMA.ROCKSDB_DDL
30     WHERE TABLE_NAME = 't1' AND INDEX_NAME = "PRIMARY");
31
32# Return the data for the secondary index of t1
33--replace_column 1 # 2 # 3 SSTNAME 5 # 6 # 7 # 8 # 9 #
34SELECT * FROM INFORMATION_SCHEMA.ROCKSDB_INDEX_FILE_MAP
35WHERE INDEX_NUMBER =
36    (SELECT INDEX_NUMBER FROM INFORMATION_SCHEMA.ROCKSDB_DDL
37     WHERE TABLE_NAME = 't1' AND INDEX_NAME = "kj");
38
39disconnect con1;
40SET debug_sync='RESET';
41
42# cleanup
43DROP TABLE t1;
44
45