summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/main/alter_table.result240
-rw-r--r--mysql-test/main/analyze.result4
-rw-r--r--mysql-test/main/compress.result8
-rw-r--r--mysql-test/main/create.result8
-rw-r--r--mysql-test/main/ctype_mb.result12
-rw-r--r--mysql-test/main/fulltext.result12
-rw-r--r--mysql-test/main/grant2.result4
-rw-r--r--mysql-test/main/grant4.result6
-rw-r--r--mysql-test/main/ignore_indexes.result399
-rw-r--r--mysql-test/main/ignore_indexes.test356
-rw-r--r--mysql-test/main/information_schema.result20
-rw-r--r--mysql-test/main/invisible_field_debug.result32
-rw-r--r--mysql-test/main/join.result6
-rw-r--r--mysql-test/main/key.result12
-rw-r--r--mysql-test/main/long_unique.result421
-rw-r--r--mysql-test/main/long_unique_bugs.result14
-rw-r--r--mysql-test/main/long_unique_update.result47
-rw-r--r--mysql-test/main/long_unique_using_hash.result18
-rw-r--r--mysql-test/main/merge.result8
-rw-r--r--mysql-test/main/mix2_myisam.result30
-rw-r--r--mysql-test/main/myisam.result126
-rw-r--r--mysql-test/main/mysqldump-utf8mb4.result2
-rw-r--r--mysql-test/main/mysqldump.result2
-rw-r--r--mysql-test/main/named_pipe.result8
-rw-r--r--mysql-test/main/partition.result8
-rw-r--r--mysql-test/main/pool_of_threads.result8
-rw-r--r--mysql-test/main/ps_1general.result6
-rw-r--r--mysql-test/main/ps_ddl.result4
-rw-r--r--mysql-test/main/repair.result16
-rw-r--r--mysql-test/main/select.result8
-rw-r--r--mysql-test/main/select_jcl6.result8
-rw-r--r--mysql-test/main/select_pkeycache.result8
-rw-r--r--mysql-test/main/show_check.result41
-rw-r--r--mysql-test/main/show_explain.result8
-rw-r--r--mysql-test/main/sp.result4
-rw-r--r--mysql-test/main/ssl.result8
-rw-r--r--mysql-test/main/ssl_compress.result8
-rw-r--r--mysql-test/main/stat_tables.result60
-rw-r--r--mysql-test/main/stat_tables_innodb.result60
-rw-r--r--mysql-test/main/stat_tables_par.result4
-rw-r--r--mysql-test/main/stat_tables_par_innodb.result4
-rw-r--r--mysql-test/main/type_ranges.result30
-rw-r--r--mysql-test/main/view.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_blackhole.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is_embedded.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics.result105
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_is.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql.result156
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result308
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints.result30
-rw-r--r--mysql-test/suite/funcs_1/r/storedproc.result4
-rw-r--r--mysql-test/suite/heap/heap.result4
-rw-r--r--mysql-test/suite/heap/heap_btree.result4
-rw-r--r--mysql-test/suite/heap/heap_hash.result32
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb.result30
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats.result10
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext.result12
-rw-r--r--mysql-test/suite/innodb_gis/r/alter_spatial_index.result146
-rw-r--r--mysql-test/suite/innodb_gis/r/create_spatial_index.result38
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree.result12
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_multi_pk.result8
-rw-r--r--mysql-test/suite/maria/maria-recovery-rtree-ft.result10
-rw-r--r--mysql-test/suite/maria/maria-recovery2.result4
-rw-r--r--mysql-test/suite/maria/maria.result98
-rw-r--r--mysql-test/suite/rpl/r/rpl_ddl.result12
-rw-r--r--mysql-test/suite/s3/mysqldump.result2
-rw-r--r--mysql-test/suite/sys_vars/r/myisam_stats_method_func.result36
-rw-r--r--mysql-test/suite/vcol/r/vcol_keys_myisam.result18
-rw-r--r--sql/handler.cc6
-rw-r--r--sql/handler.h44
-rw-r--r--sql/item_func.cc2
-rw-r--r--sql/share/errmsg-utf8.txt2
-rw-r--r--sql/sql_alter.cc1
-rw-r--r--sql/sql_alter.h4
-rw-r--r--sql/sql_class.h23
-rw-r--r--sql/sql_show.cc10
-rw-r--r--sql/sql_table.cc107
-rw-r--r--sql/sql_yacc.yy22
-rw-r--r--sql/structs.h4
-rw-r--r--sql/table.cc87
-rw-r--r--sql/table.h6
-rw-r--r--sql/unireg.cc26
-rw-r--r--sql/unireg.h6
-rw-r--r--storage/connect/mysql-test/connect/r/alter.result28
-rw-r--r--storage/connect/mysql-test/connect/r/bson.result4
-rw-r--r--storage/connect/mysql-test/connect/r/json.result4
-rw-r--r--storage/connect/mysql-test/connect/r/part_file.result16
-rw-r--r--storage/connect/mysql-test/connect/r/part_table.result4
-rw-r--r--storage/innobase/handler/handler0alter.cc6
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/cardinality.result48
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/drop_index_inplace.result42
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/index.result28
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/index_key_block_size.result30
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/index_primary.result24
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/index_type_btree.result28
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/index_type_hash.result28
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_binary_indexes.result10
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_bit_indexes.result10
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_char_indexes.result10
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_date_time_indexes.result18
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_enum_indexes.result10
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_fixed_indexes.result18
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_float_indexes.result36
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/r/type_set_indexes.result18
-rw-r--r--storage/spider/spd_db_mysql.cc2
108 files changed, 2541 insertions, 1422 deletions
diff --git a/mysql-test/main/alter_table.result b/mysql-test/main/alter_table.result
index a27b54d4b48..a5f70d61def 100644
--- a/mysql-test/main/alter_table.result
+++ b/mysql-test/main/alter_table.result
@@ -126,44 +126,44 @@ key (n3, n4, n1, n2),
key (n4, n1, n2, n3) );
alter table t1 disable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 n1 1 n1 A 0 NULL NULL BTREE
-t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled
-t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled
-t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled
-t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled
-t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 n1 1 n1 A 0 NULL NULL BTREE NO
+t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 n1 1 n1 A 10 NULL NULL BTREE
-t1 1 n1_2 1 n1 A 10 NULL NULL BTREE
-t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE
-t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE
-t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE
-t1 1 n2 1 n2 A 10 NULL NULL YES BTREE
-t1 1 n2 2 n3 A 10 NULL NULL YES BTREE
-t1 1 n2 3 n4 A 10 NULL NULL YES BTREE
-t1 1 n2 4 n1 A 10 NULL NULL BTREE
-t1 1 n3 1 n3 A 10 NULL NULL YES BTREE
-t1 1 n3 2 n4 A 10 NULL NULL YES BTREE
-t1 1 n3 3 n1 A 10 NULL NULL BTREE
-t1 1 n3 4 n2 A 10 NULL NULL YES BTREE
-t1 1 n4 1 n4 A 10 NULL NULL YES BTREE
-t1 1 n4 2 n1 A 10 NULL NULL BTREE
-t1 1 n4 3 n2 A 10 NULL NULL YES BTREE
-t1 1 n4 4 n3 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 n1 1 n1 A 10 NULL NULL BTREE NO
+t1 1 n1_2 1 n1 A 10 NULL NULL BTREE NO
+t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n2 1 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n2 2 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n2 3 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n2 4 n1 A 10 NULL NULL BTREE NO
+t1 1 n3 1 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n3 2 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n3 3 n1 A 10 NULL NULL BTREE NO
+t1 1 n3 4 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n4 1 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n4 2 n1 A 10 NULL NULL BTREE NO
+t1 1 n4 3 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n4 4 n3 A 10 NULL NULL YES BTREE NO
drop table t1;
create table t1 (i int unsigned not null auto_increment primary key);
alter table t1 rename t2;
@@ -176,19 +176,19 @@ drop table t1;
create table t1 (a int, b int);
alter table t1 add unique (a,b), add key (b);
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A 3 NULL NULL YES BTREE
-t1 0 a 2 b A 300 NULL NULL YES BTREE
-t1 1 b 1 b A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 3 NULL NULL YES BTREE NO
+t1 0 a 2 b A 300 NULL NULL YES BTREE NO
+t1 1 b 1 b A 100 NULL NULL YES BTREE NO
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A 3 NULL NULL YES BTREE
-t1 0 a 2 b A 300 NULL NULL YES BTREE
-t1 1 b 1 b A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 3 NULL NULL YES BTREE NO
+t1 0 a 2 b A 300 NULL NULL YES BTREE NO
+t1 1 b 1 b A 100 NULL NULL YES BTREE NO
drop table t1;
CREATE TABLE t1 (i int(10), index(i) ) ENGINE=MyISAM;
ALTER TABLE t1 DISABLE KEYS;
@@ -204,9 +204,9 @@ ALTER TABLE t1 DISABLE KEYS;
LOCK TABLES t1 WRITE;
INSERT INTO t1 VALUES ('localhost','root'),('localhost',''),('games','monty');
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
ALTER TABLE t1 ENABLE KEYS;
UNLOCK TABLES;
CHECK TABLES t1;
@@ -221,23 +221,23 @@ KEY (Host)
) ENGINE=MyISAM;
ALTER TABLE t1 DISABLE KEYS;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
LOCK TABLES t1 WRITE;
INSERT INTO t1 VALUES ('localhost','root'),('localhost','');
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
ALTER TABLE t1 ENABLE KEYS;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 2 NULL NULL BTREE
-t1 1 Host 1 Host A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 2 NULL NULL BTREE NO
+t1 1 Host 1 Host A 1 NULL NULL BTREE NO
UNLOCK TABLES;
CHECK TABLES t1;
Table Op Msg_type Msg_text
@@ -259,10 +259,10 @@ KEY (Host)
LOCK TABLES t1 WRITE;
ALTER TABLE t1 DISABLE KEYS;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
DROP TABLE t1;
create table t1 (a int);
alter table t1 rename to ``;
@@ -444,38 +444,38 @@ drop table t1;
drop table if exists t1;
create table t1 (a int, key(a));
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
"this used not to disable the index"
alter table t1 modify a int, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a bigint, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 add b char(10), disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 add c decimal(10,2), enable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
"this however did"
alter table t1 disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
desc t1;
Field Type Null Key Default Extra
a bigint(20) YES MUL NULL
@@ -484,83 +484,83 @@ c decimal(10,2) YES NULL
alter table t1 add d decimal(15,5);
"The key should still be disabled"
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
drop table t1;
"Now will test with one unique index"
create table t1(a int, b char(10), unique(a));
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 enable keys;
"If no copy on noop change, this won't touch the data file"
"Unique index, no change"
alter table t1 modify a int, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
"Change the type implying data copy"
"Unique index, no change"
alter table t1 modify a bigint, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a bigint;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a int;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
drop table t1;
"Now will test with one unique and one non-unique index"
create table t1(a int, b char(10), unique(a), key(b));
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
"If no copy on noop change, this won't touch the data file"
"The non-unique index will be disabled"
alter table t1 modify a int, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
"Change the type implying data copy"
"The non-unique index will be disabled"
alter table t1 modify a bigint, disable keys;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
"Change again the type, but leave the indexes as_is"
alter table t1 modify a int;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
"Try the same. When data is no copied on similar tables, this is noop"
alter table t1 modify a int;
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
drop table t1;
create database mysqltest;
create table t1 (c1 int);
@@ -596,12 +596,12 @@ DROP TABLE IF EXISTS bug24219;
DROP TABLE IF EXISTS bug24219_2;
CREATE TABLE bug24219 (a INT, INDEX(a));
SHOW INDEX FROM bug24219;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-bug24219 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+bug24219 1 a 1 a A NULL NULL NULL YES BTREE NO
ALTER TABLE bug24219 RENAME TO bug24219_2, DISABLE KEYS;
SHOW INDEX FROM bug24219_2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
DROP TABLE bug24219_2;
drop table if exists table_24562;
create table table_24562(
@@ -1044,8 +1044,8 @@ Field Type Null Key Default Extra
int_field int(10) unsigned NO MUL NULL
char_field char(10) YES NULL
SHOW INDEXES FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 int_field 1 int_field A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 int_field 1 int_field A NULL NULL NULL BTREE NO
INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
"Non-copy data change - new frm, but old data and index files"
ALTER TABLE t1
diff --git a/mysql-test/main/analyze.result b/mysql-test/main/analyze.result
index dd785abcd42..a1332abd177 100644
--- a/mysql-test/main/analyze.result
+++ b/mysql-test/main/analyze.result
@@ -60,8 +60,8 @@ analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
drop table t1;
End of 4.1 tests
create table t1(a int);
diff --git a/mysql-test/main/compress.result b/mysql-test/main/compress.result
index 788eb7ab13b..24979346149 100644
--- a/mysql-test/main/compress.result
+++ b/mysql-test/main/compress.result
@@ -2097,10 +2097,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/create.result b/mysql-test/main/create.result
index e6af42db1ff..2b68e9f3e9c 100644
--- a/mysql-test/main/create.result
+++ b/mysql-test/main/create.result
@@ -980,13 +980,13 @@ CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE);
DROP TABLE t1;
CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH NO
DROP TABLE t1;
CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 c1 1 c1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 c1 1 c1 A NULL NULL NULL YES BTREE NO
DROP TABLE t1;
create user mysqltest_1@'test@test';
ERROR HY000: Malformed hostname (illegal symbol: '@')
diff --git a/mysql-test/main/ctype_mb.result b/mysql-test/main/ctype_mb.result
index 015457cc1b3..5b0291aa53c 100644
--- a/mysql-test/main/ctype_mb.result
+++ b/mysql-test/main/ctype_mb.result
@@ -32,8 +32,8 @@ t1 CREATE TABLE `t1` (
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
ALTER TABLE t1 CHANGE a a CHAR(4);
SHOW CREATE TABLE t1;
Table Create Table
@@ -42,8 +42,8 @@ t1 CREATE TABLE `t1` (
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
ALTER TABLE t1 CHANGE a a CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1;
Table Create Table
@@ -52,6 +52,6 @@ t1 CREATE TABLE `t1` (
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
DROP TABLE t1;
diff --git a/mysql-test/main/fulltext.result b/mysql-test/main/fulltext.result
index dbc08144e30..343458c4267 100644
--- a/mysql-test/main/fulltext.result
+++ b/mysql-test/main/fulltext.result
@@ -6,9 +6,9 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
('Function MATCH ... AGAINST()','is used to do a search'),
('Full-text search in MySQL', 'implements vector space model');
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Only MyISAM tables support collections
@@ -242,9 +242,9 @@ match(ttxt.inhalt) against ('foobar');
id
3
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 1 tig 1 ticket A NULL NULL NULL YES BTREE
-t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 tig 1 ticket A NULL NULL NULL YES BTREE NO
+t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT NO
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
diff --git a/mysql-test/main/grant2.result b/mysql-test/main/grant2.result
index 3f2b1d48c55..7bb8aeb9d23 100644
--- a/mysql-test/main/grant2.result
+++ b/mysql-test/main/grant2.result
@@ -708,8 +708,8 @@ a
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
SHOW KEYS FROM t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 0 PRIMARY 1 a A 0 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
#
# SHOW CREATE TABLE.
#
diff --git a/mysql-test/main/grant4.result b/mysql-test/main/grant4.result
index 29021b608aa..981bbdeddf5 100644
--- a/mysql-test/main/grant4.result
+++ b/mysql-test/main/grant4.result
@@ -94,14 +94,14 @@ use mysqltest_db1;
** SELECT FROM INFORMATION_SCHEMA.STATISTICS will succeed because any privileges will do (authentication is enough).
** but will return no rows
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='t5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
** SHOW INDEX FROM t5 will fail because we don't have any privileges on any column combination.
SHOW INDEX FROM t5;
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't5'
** SHOW INDEX FROM t6 will succeed because there exist a privilege on a column combination on t6.
SHOW INDEX FROM t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t6 1 i 1 s1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t6 1 i 1 s1 A NULL NULL NULL YES BTREE NO
** CHECK TABLE requires any privilege on any column combination and should succeed for t6:
CHECK TABLE t6;
Table Op Msg_type Msg_text
diff --git a/mysql-test/main/ignore_indexes.result b/mysql-test/main/ignore_indexes.result
new file mode 100644
index 00000000000..b3f5622501e
--- /dev/null
+++ b/mysql-test/main/ignore_indexes.result
@@ -0,0 +1,399 @@
+#
+# MDEV-7317: Make an index ignorable to the optimizer
+#
+# Test of ALTER INDEX syntax.
+CREATE TABLE t1 ( a INT, KEY (a) );
+SHOW KEYS FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+SHOW KEYS FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+SHOW KEYS FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+DROP TABLE t1;
+# Test of CREATE INDEX syntax with IGNORE indexes.
+CREATE TABLE t1 ( a INT, b INT );
+CREATE INDEX a_ignorable ON t1(a) IGNORE;
+CREATE INDEX b_not_ignorable ON t1(a) NOT IGNORE;
+Warnings:
+Note 1831 Duplicate index `b_not_ignorable`. This is deprecated and will be disallowed in a future release
+CREATE INDEX a_b_ignorable ON t1(a, b) IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a_ignorable 1 a A NULL NULL NULL YES BTREE YES
+t1 1 b_not_ignorable 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_b_ignorable 1 a A NULL NULL NULL YES BTREE YES
+t1 1 a_b_ignorable 2 b A NULL NULL NULL YES BTREE YES
+DROP TABLE t1;
+# Test that IGNORE indexes are not used.
+CREATE TABLE t1 ( a INT, KEY (a) );
+CREATE TABLE t2 ( a INT, KEY (a) IGNORE );
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO t2 SELECT * FROM t1;
+ANALYZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status Table is already up to date
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 5 Using index
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 5 Using index
+EXPLAIN SELECT a FROM t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 5
+ALTER TABLE t2 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 5 NULL 5 Using index
+DROP TABLE t1, t2;
+# Test that renaming an index does not change ignorability and vice versa.
+CREATE TABLE t1 (
+a INT, INDEX (a),
+b INT, INDEX (b) IGNORE
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 RENAME INDEX a TO a1;
+ALTER TABLE t1 RENAME INDEX b TO b1;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a1 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b1 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a1 IGNORE;
+ALTER TABLE t1 ALTER INDEX b1 NOT IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a1 1 a A NULL NULL NULL YES BTREE YES
+t1 1 b1 1 b A NULL NULL NULL YES BTREE NO
+DROP TABLE t1;
+# Test of SHOW CREATE TABLE.
+CREATE TABLE t1 (
+a INT,
+b INT,
+c INT,
+INDEX (a) NOT IGNORE,
+INDEX (b) IGNORE,
+INDEX (c)
+);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`) IGNORED,
+ KEY `c` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+# Test that primary key indexes can't be made ignorable.
+CREATE TABLE t1 ( a INT, PRIMARY KEY (a) IGNORE );
+ERROR HY000: A primary key cannot be marked as IGNORE
+CREATE TABLE t1 ( a INT PRIMARY KEY IGNORE );
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'IGNORE )' at line 1
+CREATE TABLE t1 ( a INT KEY IGNORE );
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'IGNORE )' at line 1
+ALTER TABLE t1 ALTER INDEX PRIMARY IGNORE;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRIMARY IGNORE' at line 1
+CREATE TABLE t1(a INT NOT NULL);
+ALTER TABLE t1 ADD PRIMARY KEY (a) IGNORE;
+ERROR HY000: A primary key cannot be marked as IGNORE
+DROP TABLE t1;
+CREATE TABLE t1 (
+a INT, KEY (a),
+b INT, KEY (b) IGNORE
+);
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORE;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+DROP TABLE t1;
+CREATE TABLE t1 (
+a INT, KEY (a),
+b INT, KEY (b) IGNORE
+);
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORE;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+#
+# Repeated alter actions. Should work.
+#
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALTER INDEX a NOT IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, ALTER INDEX b IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+#
+# Various combinations of RENAME INDEX and ALTER INDEX ... IGNORE.
+#
+ALTER TABLE t1 RENAME INDEX a TO x, RENAME INDEX x TO a;
+ERROR 42000: Key 'x' doesn't exist in table 't1'
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX x IGNORE;
+ERROR 42000: Key 'x' doesn't exist in table 't1'
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX a NOT IGNORE;
+ERROR 42000: Key 'a' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, RENAME INDEX a TO x;
+ERROR 42000: Key 'a' doesn't exist in table 't1'
+#
+# Various algorithms and their effects.
+#
+INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALGORITHM = COPY;
+affected rows: 3
+info: Records: 3 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE YES
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, ALGORITHM = INPLACE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE NO
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALGORITHM = DEFAULT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE YES
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE NO
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ADD INDEX ab(a, b), ALTER INDEX ab IGNORE;
+ERROR 42000: Key 'ab' doesn't exist in table 't1'
+DROP TABLE t1;
+#
+# The first NOT NULL UNIQUE index may of course be IGNORED if it is
+# not promoted to a primary key
+#
+CREATE TABLE t1 (
+a INT NOT NULL,
+b INT NOT NULL PRIMARY KEY,
+UNIQUE KEY (a) IGNORE
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A 0 NULL NULL BTREE NO
+t1 0 a 1 a A 0 NULL NULL BTREE YES
+DROP TABLE t1;
+# The check above applies only to the first NOT NULL UNIQUE index.
+CREATE TABLE t1 (
+a INT NOT NULL,
+b INT NOT NULL,
+UNIQUE KEY (a),
+UNIQUE KEY (b) IGNORE
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 0 NULL NULL BTREE NO
+t1 0 b 1 b A 0 NULL NULL BTREE YES
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT NOT NULL, UNIQUE KEY (a) IGNORE);
+ERROR HY000: A primary key cannot be marked as IGNORE
+CREATE TEMPORARY TABLE t1 ( a INT, KEY (a) IGNORE);
+INSERT INTO t1 VALUES (0), (1), (2), (3);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 4
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 4 Using index
+DROP TABLE t1;
+#
+# IGNORE fulltext indexes.
+#
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
+INSERT INTO t1 VALUES('Some data', 'for full-text search');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
+test.t1 analyze status OK
+EXPLAIN SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ("collections");
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 fulltext a a 0 1 Using where
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+EXPLAIN SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ("collections");
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1;
+#
+# IGNORE indexes on AUTO_INCREMENT columns.
+#
+CREATE TABLE t1 ( a INT AUTO_INCREMENT, KEY ( a ) );
+INSERT INTO t1 VALUES (), (), ();
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 4 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+DROP TABLE t1;
+#
+# IGNORE spatial indexes
+#
+CREATE TABLE t1 (
+fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+g GEOMETRY NOT NULL,
+SPATIAL KEY key1(g)
+);
+EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range key1 key1 34 NULL 8 Using where
+ALTER TABLE t1 ALTER INDEX key1 IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 fid A 150 NULL NULL BTREE NO
+t1 1 key1 1 g A NULL 32 NULL SPATIAL YES
+EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 150 Using where
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT GENERATED ALWAYS AS (1), KEY key1(a));
+INSERT INTO t1 VALUES (),(),();
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key1 1 a A NULL NULL NULL YES BTREE NO
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL key1 5 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX key1 IGNORE;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key1 1 a A NULL NULL NULL YES BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+DROP TABLE t1;
+#
+# Partitioning on keys with an IGNORE index, IGNORE indexes over
+# partitioned tables.
+#
+CREATE TABLE t1 (
+a CHAR(2) NOT NULL,
+b CHAR(2) NOT NULL,
+c INT(10) UNSIGNED NOT NULL,
+d VARCHAR(255) DEFAULT NULL,
+e VARCHAR(1000) DEFAULT NULL,
+KEY (a) IGNORE,
+KEY (b)
+) PARTITION BY KEY (a) PARTITIONS 20;
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 14
+EXPLAIN SELECT b FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL b 2 NULL 14 Using index
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using where
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 2 NULL 14 Using index
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref a a 2 const 2 Using where
+ALTER TABLE t1 ALTER INDEX b IGNORE;
+EXPLAIN SELECT b FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 14
+DROP TABLE t1;
+#
+# Using FORCE INDEX for an ignored index
+#
+CREATE TABLE t1(a INT, key k1(a));
+INSERT INTO t1 VALUES (1),(2),(3);
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL k1 5 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX k1 IGNORE;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `k1` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+ERROR 42000: Key 'k1' doesn't exist in table 't1'
+DROP TABLE t1;
diff --git a/mysql-test/main/ignore_indexes.test b/mysql-test/main/ignore_indexes.test
new file mode 100644
index 00000000000..e0be0ef2c41
--- /dev/null
+++ b/mysql-test/main/ignore_indexes.test
@@ -0,0 +1,356 @@
+--echo #
+--echo # MDEV-7317: Make an index ignorable to the optimizer
+--echo #
+
+
+--echo # Test of ALTER INDEX syntax.
+
+CREATE TABLE t1 ( a INT, KEY (a) );
+SHOW KEYS FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+SHOW KEYS FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+SHOW KEYS FROM t1;
+DROP TABLE t1;
+
+--echo # Test of CREATE INDEX syntax with IGNORE indexes.
+
+CREATE TABLE t1 ( a INT, b INT );
+CREATE INDEX a_ignorable ON t1(a) IGNORE;
+CREATE INDEX b_not_ignorable ON t1(a) NOT IGNORE;
+CREATE INDEX a_b_ignorable ON t1(a, b) IGNORE;
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--echo # Test that IGNORE indexes are not used.
+
+CREATE TABLE t1 ( a INT, KEY (a) );
+CREATE TABLE t2 ( a INT, KEY (a) IGNORE );
+
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO t2 SELECT * FROM t1;
+
+ANALYZE TABLE t1, t2;
+
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+
+EXPLAIN SELECT a FROM t2;
+ALTER TABLE t2 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t2;
+
+DROP TABLE t1, t2;
+
+--echo # Test that renaming an index does not change ignorability and vice versa.
+
+CREATE TABLE t1 (
+ a INT, INDEX (a),
+ b INT, INDEX (b) IGNORE
+);
+
+SHOW INDEXES FROM t1;
+
+ALTER TABLE t1 RENAME INDEX a TO a1;
+ALTER TABLE t1 RENAME INDEX b TO b1;
+
+SHOW INDEXES FROM t1;
+
+ALTER TABLE t1 ALTER INDEX a1 IGNORE;
+ALTER TABLE t1 ALTER INDEX b1 NOT IGNORE;
+
+SHOW INDEXES FROM t1;
+
+DROP TABLE t1;
+
+--echo # Test of SHOW CREATE TABLE.
+
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ c INT,
+ INDEX (a) NOT IGNORE,
+ INDEX (b) IGNORE,
+ INDEX (c)
+);
+
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+--echo # Test that primary key indexes can't be made ignorable.
+
+--error ER_PK_INDEX_CANT_BE_IGNORED
+CREATE TABLE t1 ( a INT, PRIMARY KEY (a) IGNORE );
+--error ER_PARSE_ERROR
+CREATE TABLE t1 ( a INT PRIMARY KEY IGNORE );
+--error ER_PARSE_ERROR
+CREATE TABLE t1 ( a INT KEY IGNORE );
+--error ER_PARSE_ERROR
+ALTER TABLE t1 ALTER INDEX PRIMARY IGNORE;
+
+CREATE TABLE t1(a INT NOT NULL);
+--error ER_PK_INDEX_CANT_BE_IGNORED
+ALTER TABLE t1 ADD PRIMARY KEY (a) IGNORE;
+
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (
+ a INT, KEY (a),
+ b INT, KEY (b) IGNORE
+);
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORE;
+
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (
+ a INT, KEY (a),
+ b INT, KEY (b) IGNORE
+);
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORE;
+
+
+--echo #
+--echo # Repeated alter actions. Should work.
+--echo #
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALTER INDEX a NOT IGNORE;
+SHOW INDEXES FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, ALTER INDEX b IGNORE;
+SHOW INDEXES FROM t1;
+
+
+--echo #
+--echo # Various combinations of RENAME INDEX and ALTER INDEX ... IGNORE.
+--echo #
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, RENAME INDEX x TO a;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX x IGNORE;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX a NOT IGNORE;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, RENAME INDEX a TO x;
+
+
+--echo #
+--echo # Various algorithms and their effects.
+--echo #
+
+INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
+ANALYZE TABLE t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALGORITHM = COPY;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE, ALGORITHM = INPLACE;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a IGNORE, ALGORITHM = DEFAULT;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ADD INDEX ab(a, b), ALTER INDEX ab IGNORE;
+
+DROP TABLE t1;
+
+
+--echo #
+--echo # The first NOT NULL UNIQUE index may of course be IGNORED if it is
+--echo # not promoted to a primary key
+--echo #
+
+CREATE TABLE t1 (
+ a INT NOT NULL,
+ b INT NOT NULL PRIMARY KEY,
+ UNIQUE KEY (a) IGNORE
+);
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--echo # The check above applies only to the first NOT NULL UNIQUE index.
+CREATE TABLE t1 (
+ a INT NOT NULL,
+ b INT NOT NULL,
+ UNIQUE KEY (a),
+ UNIQUE KEY (b) IGNORE
+);
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--error ER_PK_INDEX_CANT_BE_IGNORED
+CREATE TABLE t1 ( a INT NOT NULL, UNIQUE KEY (a) IGNORE);
+
+
+CREATE TEMPORARY TABLE t1 ( a INT, KEY (a) IGNORE);
+INSERT INTO t1 VALUES (0), (1), (2), (3);
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # IGNORE fulltext indexes.
+--echo #
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
+INSERT INTO t1 VALUES('Some data', 'for full-text search');
+ANALYZE TABLE t1;
+
+let $query=
+EXPLAIN SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ("collections");
+
+--eval $query
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+--eval $query
+
+DROP TABLE t1;
+
+
+--echo #
+--echo # IGNORE indexes on AUTO_INCREMENT columns.
+--echo #
+CREATE TABLE t1 ( a INT AUTO_INCREMENT, KEY ( a ) );
+INSERT INTO t1 VALUES (), (), ();
+ANALYZE TABLE t1;
+
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORE;
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # IGNORE spatial indexes
+--echo #
+
+
+CREATE TABLE t1 (
+ fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ g GEOMETRY NOT NULL,
+ SPATIAL KEY key1(g)
+);
+
+--disable_query_log
+let $1=150;
+let $2=150;
+while ($1)
+{
+ eval INSERT INTO t1 (g) VALUES (GeomFromText('LineString($1 $1, $2 $2)'));
+ dec $1;
+ inc $2;
+}
+--enable_query_log
+
+let $query= EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+
+eval $query;
+ALTER TABLE t1 ALTER INDEX key1 IGNORE;
+SHOW INDEXES FROM t1;
+eval $query;
+
+DROP TABLE t1;
+
+CREATE TABLE t1 ( a INT GENERATED ALWAYS AS (1), KEY key1(a));
+INSERT INTO t1 VALUES (),(),();
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX key1 IGNORE;
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Partitioning on keys with an IGNORE index, IGNORE indexes over
+--echo # partitioned tables.
+--echo #
+
+--source include/have_partition.inc
+
+CREATE TABLE t1 (
+ a CHAR(2) NOT NULL,
+ b CHAR(2) NOT NULL,
+ c INT(10) UNSIGNED NOT NULL,
+ d VARCHAR(255) DEFAULT NULL,
+ e VARCHAR(1000) DEFAULT NULL,
+ KEY (a) IGNORE,
+ KEY (b)
+) PARTITION BY KEY (a) PARTITIONS 20;
+
+
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343');
+
+ANALYZE TABLE t1;
+
+EXPLAIN SELECT a FROM t1;
+EXPLAIN SELECT b FROM t1;
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+ALTER TABLE t1 ALTER INDEX a NOT IGNORE;
+EXPLAIN SELECT a FROM t1;
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+
+ALTER TABLE t1 ALTER INDEX b IGNORE;
+EXPLAIN SELECT b FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Using FORCE INDEX for an ignored index
+--echo #
+
+CREATE TABLE t1(a INT, key k1(a));
+INSERT INTO t1 VALUES (1),(2),(3);
+
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+ALTER TABLE t1 ALTER INDEX k1 IGNORE;
+SHOW CREATE TABLE t1;
+--error ER_KEY_DOES_NOT_EXISTS
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+
+DROP TABLE t1;
diff --git a/mysql-test/main/information_schema.result b/mysql-test/main/information_schema.result
index fcaa0a921c9..f875c88182d 100644
--- a/mysql-test/main/information_schema.result
+++ b/mysql-test/main/information_schema.result
@@ -201,11 +201,11 @@ table_name
t1
t4
select * from information_schema.STATISTICS where TABLE_SCHEMA = "mysqltest";
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysqltest t1 1 mysqltest string_data 1 b A NULL NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysqltest t1 1 mysqltest string_data 1 b A NULL NULL NULL YES BTREE NO
show keys from t3 where Key_name = "a_data";
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a_data 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a_data 1 a A NULL NULL NULL YES BTREE NO
show tables like 't%';
Tables_in_test (t%)
t2
@@ -457,7 +457,7 @@ latin1_spanish_ci
latin1_swedish_nopad_ci
latin1_nopad_bin
show keys from v4;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
select * from information_schema.views where TABLE_NAME like "v%";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
def test v0 select `information_schema`.`schemata`.`SCHEMA_NAME` AS `c` from `information_schema`.`schemata` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
@@ -691,7 +691,7 @@ user
drop view v1;
create view vo as select 'a' union select 'a';
show index from vo;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
select * from information_schema.TABLE_CONSTRAINTS where
TABLE_NAME= "vo";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
@@ -1249,8 +1249,8 @@ describe t1;
Field Type Null Key Default Extra
f1 int(11) YES MUL NULL
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 f1 1 f1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 f1 1 f1 A NULL NULL NULL YES BTREE NO
drop table t1;
create table t1(f1 binary(32), f2 varbinary(64));
select character_maximum_length, character_octet_length
@@ -1632,9 +1632,9 @@ CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG U
select * from information_schema.schemata where schema_name = NULL;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
select * from `information_schema`.`STATISTICS` where `TABLE_SCHEMA` = NULL;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
select * from `information_schema`.`STATISTICS` where `TABLE_NAME` = NULL;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
select * from information_schema.tables where table_schema = NULL;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT MAX_INDEX_LENGTH TEMPORARY
select * from information_schema.tables where table_catalog = NULL;
diff --git a/mysql-test/main/invisible_field_debug.result b/mysql-test/main/invisible_field_debug.result
index 582c935333c..4cbdb31e155 100644
--- a/mysql-test/main/invisible_field_debug.result
+++ b/mysql-test/main/invisible_field_debug.result
@@ -249,10 +249,10 @@ b
alter table t1 add index(a);
alter table t1 add index(a,b);
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
-t1 1 a_2 1 a A NULL NULL NULL YES BTREE
-t1 1 a_2 2 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_2 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_2 2 b A NULL NULL NULL YES BTREE NO
drop table t1;
set debug_dbug= "+d,test_pseudo_invisible";
Create table t1( a int default(99) invisible, b int);
@@ -280,7 +280,7 @@ ERROR 42000: Key column 'invisible' doesn't exist in table
alter table t1 add index(b,invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
set debug_dbug= "+d,test_completely_invisible";
Create table t1( a int default(99) invisible, b int);
@@ -308,17 +308,17 @@ ERROR 42000: Key column 'invisible' doesn't exist in table
alter table t1 add index(b,invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
set debug_dbug= "+d,test_completely_invisible,test_invisible_index";
Create table t1( a int default(99) , b int,c int, index(b));
set debug_dbug=@old_debug;
Show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
select * from INFORMATION_SCHEMA.STATISTICS where TABLE_SCHEMA ='test' and table_name='t1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test b 1 b A NULL NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test b 1 b A NULL NULL NULL YES BTREE NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -359,8 +359,8 @@ invisible a b
9 7 7
set debug_dbug=@old_debug;
Show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
create index a1 on t1(invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
set debug_dbug= "+d,test_completely_invisible,test_invisible_index";
@@ -374,10 +374,10 @@ explain select * from t1 where invisible =9;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL invisible_2 NULL NULL NULL 7 Using where
show indexes in t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A NULL NULL NULL YES BTREE
-t1 1 invisible 1 c A NULL NULL NULL YES BTREE
-t1 1 invisible_2 1 invisible A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 invisible 1 c A NULL NULL NULL YES BTREE NO
+t1 1 invisible_2 1 invisible A NULL NULL NULL YES BTREE NO
drop table t1;
set @old_debug= @@debug_dbug;
CREATE TABLE t1 (i INT );
diff --git a/mysql-test/main/join.result b/mysql-test/main/join.result
index d8eb9795b4e..04b541d2040 100644
--- a/mysql-test/main/join.result
+++ b/mysql-test/main/join.result
@@ -3337,9 +3337,9 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
set myisam_stats_method=@tmp1;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1010 NULL NULL BTREE
-t1 0 a 1 a A 1010 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1010 NULL NULL BTREE NO
+t1 0 a 1 a A 1010 NULL NULL YES BTREE NO
# t1 must use eq_ref(t1.a=t0.a) and rows must be 1 (and not 45):
explain select * from t0,t1 where t0.a=t1.a;
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/mysql-test/main/key.result b/mysql-test/main/key.result
index 78a2f42c477..c35dbbc4754 100644
--- a/mysql-test/main/key.result
+++ b/mysql-test/main/key.result
@@ -148,12 +148,12 @@ a 2
drop table t1;
create table t1 (a int not null unique, b int unique, c int, d int not null primary key, key(c), e int not null unique);
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 d A 0 NULL NULL BTREE
-t1 0 a 1 a A 0 NULL NULL BTREE
-t1 0 e 1 e A 0 NULL NULL BTREE
-t1 0 b 1 b A NULL NULL NULL YES BTREE
-t1 1 c 1 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 d A 0 NULL NULL BTREE NO
+t1 0 a 1 a A 0 NULL NULL BTREE NO
+t1 0 e 1 e A 0 NULL NULL BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 c 1 c A NULL NULL NULL YES BTREE NO
drop table t1;
CREATE TABLE t1 (c CHAR(10) NOT NULL,i INT NOT NULL AUTO_INCREMENT,
UNIQUE (c,i));
diff --git a/mysql-test/main/long_unique.result b/mysql-test/main/long_unique.result
index 29cb1a881ca..744e303b198 100644
--- a/mysql-test/main/long_unique.result
+++ b/mysql-test/main/long_unique.result
@@ -38,6 +38,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -52,8 +53,8 @@ select TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,COLUMN
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA COLUMN_COMMENT IS_GENERATED GENERATION_EXPRESSION
def test t1 a 1 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob UNI NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
@@ -211,8 +212,8 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `db_row_hash_1` (`db_row_hash_1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
#add column with unique index on blob ;
alter table t1 add column a blob unique;
show create table t1;
@@ -240,9 +241,9 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES HASH NO
# try to change the blob unique datatype;
#this will change index to b tree;
alter table t1 modify column aa int ;
@@ -258,9 +259,9 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
alter table t1 add column clm blob unique;
#try changing the name ;
alter table t1 change column clm clm_changed blob;
@@ -278,10 +279,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `clm` (`clm_changed`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
-t1 0 clm 1 clm_changed A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
+t1 0 clm 1 clm_changed A NULL NULL NULL YES HASH NO
#now drop the unique key;
alter table t1 drop key clm;
show create table t1;
@@ -297,17 +298,17 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
drop table t1;
create table t1 (a TEXT CHARSET latin1 COLLATE latin1_german2_ci unique);
desc t1;
Field Type Null Key Default Extra
a text YES UNI NULL
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
insert into t1 values ('ae');
insert into t1 values ('AE');
ERROR 23000: Duplicate entry 'AE' for key 'a'
@@ -319,9 +320,9 @@ Field Type Null Key Default Extra
a int(11) NO PRI NULL
b blob YES UNI NULL
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
insert into t1 values(1,1),(2,2),(3,3);
insert into t1 values(1,1);
ERROR 23000: Duplicate entry '1' for key 'b'
@@ -356,11 +357,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `e` (`e`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -382,11 +383,11 @@ def test t1 c 3 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob UNI NE
def test t1 d 4 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text UNI NEVER NULL
def test t1 e 5 NULL YES varchar 3000 3000 NULL NULL NULL latin1 latin1_swedish_ci varchar(3000) UNI NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
-def test t1 0 test c 1 c A NULL NULL NULL YES HASH
-def test t1 0 test d 1 d A NULL NULL NULL YES HASH
-def test t1 0 test e 1 e A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
+def test t1 0 test c 1 c A NULL NULL NULL YES HASH NO
+def test t1 0 test d 1 d A NULL NULL NULL YES HASH NO
+def test t1 0 test e 1 e A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def test a def test t1 a 1 NULL NULL NULL NULL
@@ -549,11 +550,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `e` (`e`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
#add column with unique index on blob;
alter table t1 add column a blob unique;
show create table t1;
@@ -574,12 +575,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
#try to change the blob unique column name;
#this will change index to b tree;
alter table t1 modify column a int , modify column e int;
@@ -601,12 +602,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `d` (`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
alter table t1 add column clm1 blob unique,add column clm2 blob unique;
#try changing the name;
alter table t1 change column clm1 clm_changed1 blob, change column clm2 clm_changed2 blob;
@@ -632,14 +633,14 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `clm2` (`clm_changed2`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 clm1 1 clm_changed1 A NULL NULL NULL YES HASH
-t1 0 clm2 1 clm_changed2 A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 clm1 1 clm_changed1 A NULL NULL NULL YES HASH NO
+t1 0 clm2 1 clm_changed2 A NULL NULL NULL YES HASH NO
#now drop the unique key;
alter table t1 drop key clm1, drop key clm2;
show create table t1;
@@ -662,12 +663,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `d` (`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
drop table t1;
#now the table with key on multiple columns; the ultimate test;
create table t1(a blob, b int , c varchar(2000) , d text , e varchar(3000) , f longblob , g int , h text ,
@@ -703,21 +704,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -742,21 +743,21 @@ def test t1 f 6 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL
def test t1 g 7 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def test t1 h 8 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
-def test t1 0 test a 2 b A NULL NULL NULL YES HASH
-def test t1 0 test a 3 c A NULL NULL NULL YES HASH
-def test t1 0 test c 1 c A NULL NULL NULL YES HASH
-def test t1 0 test c 2 d A NULL NULL NULL YES HASH
-def test t1 0 test c 3 e A NULL NULL NULL YES HASH
-def test t1 0 test e 1 e A NULL NULL NULL YES HASH
-def test t1 0 test e 2 f A NULL NULL NULL YES HASH
-def test t1 0 test e 3 g A NULL NULL NULL YES HASH
-def test t1 0 test e 4 h A NULL NULL NULL YES HASH
-def test t1 0 test b 1 b A NULL NULL NULL YES HASH
-def test t1 0 test b 2 d A NULL NULL NULL YES HASH
-def test t1 0 test b 3 g A NULL NULL NULL YES HASH
-def test t1 0 test b 4 h A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
+def test t1 0 test a 2 b A NULL NULL NULL YES HASH NO
+def test t1 0 test a 3 c A NULL NULL NULL YES HASH NO
+def test t1 0 test c 1 c A NULL NULL NULL YES HASH NO
+def test t1 0 test c 2 d A NULL NULL NULL YES HASH NO
+def test t1 0 test c 3 e A NULL NULL NULL YES HASH NO
+def test t1 0 test e 1 e A NULL NULL NULL YES HASH NO
+def test t1 0 test e 2 f A NULL NULL NULL YES HASH NO
+def test t1 0 test e 3 g A NULL NULL NULL YES HASH NO
+def test t1 0 test e 4 h A NULL NULL NULL YES HASH NO
+def test t1 0 test b 1 b A NULL NULL NULL YES HASH NO
+def test t1 0 test b 2 d A NULL NULL NULL YES HASH NO
+def test t1 0 test b 3 g A NULL NULL NULL YES HASH NO
+def test t1 0 test b 4 h A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def test a def test t1 a 1 NULL NULL NULL NULL
@@ -859,21 +860,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
alter table t1 drop column db_row_hash_7 , drop column db_row_hash_5 ,
drop column db_row_hash_1, drop column db_row_hash_2 ;
show create table t1;
@@ -893,21 +894,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#try to change column names;
alter table t1 change column a aa blob , change column b bb blob , change column d dd blob;
show create table t1;
@@ -927,21 +928,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`bb`,`dd`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 aa A NULL NULL NULL YES HASH
-t1 0 a 2 bb A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 dd A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 bb A NULL NULL NULL YES HASH
-t1 0 b 2 dd A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 aa A NULL NULL NULL YES HASH NO
+t1 0 a 2 bb A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 dd A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 bb A NULL NULL NULL YES HASH NO
+t1 0 b 2 dd A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
alter table t1 change column aa a blob , change column bb b blob , change column dd d blob;
show create table t1;
Table Create Table
@@ -960,21 +961,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#now we will change the data type to int and varchar limit so that we no longer require hash_index;
#on key a_b_c;
alter table t1 modify column a varchar(20) , modify column b varchar(20) , modify column c varchar(20);
@@ -995,21 +996,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 a 2 b A NULL NULL NULL YES BTREE
-t1 0 a 3 c A NULL NULL NULL YES BTREE
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 a 2 b A NULL NULL NULL YES BTREE NO
+t1 0 a 3 c A NULL NULL NULL YES BTREE NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#change it back;
alter table t1 modify column a blob , modify column b blob , modify column c blob;
show create table t1;
@@ -1029,21 +1030,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#try to delete blob column in unique;
truncate table t1;
#now try to delete keys;
@@ -1063,14 +1064,14 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
drop table t1;
#now alter table containing some data basically some tests with ignore;
create table t1 (a blob);
@@ -1097,8 +1098,8 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
drop table t1;
#Now with multiple keys;
create table t1(a blob , b blob, c blob , d blob , e int);
@@ -1135,12 +1136,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 c A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 c A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
drop table t1;
#visibility of db_row_hash
create table t1 (a blob unique , b blob unique);
@@ -1248,10 +1249,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`c`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 c A NULL NULL NULL YES HASH NO
insert into t1 values(concat(repeat('sachin',10000000),'1'),concat(repeat('sachin',10000000),'1'),
concat(repeat('sachin',10000000),'1'));
insert into t1 values(concat(repeat('sachin',10000000),'2'),concat(repeat('sachin',10000000),'2'),
@@ -1269,8 +1270,8 @@ desc t1;
Field Type Null Key Default Extra
a blob YES UNI NULL
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL 3000 NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL 3000 NULL YES HASH NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -1301,11 +1302,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `c` (`c`(4500),`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL 3500 NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL 4500 NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL 3500 NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL 4500 NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
drop table t1;
disconnect newcon;
connection default;
diff --git a/mysql-test/main/long_unique_bugs.result b/mysql-test/main/long_unique_bugs.result
index 5f9715a14ee..d4bb64581de 100644
--- a/mysql-test/main/long_unique_bugs.result
+++ b/mysql-test/main/long_unique_bugs.result
@@ -82,6 +82,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
insert into t1 values(1,1);
ERROR 23000: Duplicate entry '1' for key 'a'
DROP TABLE t1;
@@ -128,6 +129,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
ALTER TABLE t1 ADD INDEX (pk);
DROP TABLE t1;
CREATE TABLE t1 (b int, a varchar(4000));
@@ -280,14 +282,14 @@ DROP TABLE t1, t2;
SET binlog_row_image= FULL;
CREATE TABLE t1 (a int, b VARCHAR(1000), UNIQUE (a,b)) ENGINE=MyISAM;
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
CREATE TABLE t2 (a varchar(900), b VARCHAR(900), UNIQUE (a,b)) ENGINE=MyISAM;
show index from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 a 1 a A NULL NULL NULL YES HASH
-t2 0 a 2 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 a 1 a A NULL NULL NULL YES HASH NO
+t2 0 a 2 b A NULL NULL NULL YES HASH NO
DROP TABLE t1,t2;
create temporary table tmp ( a int, b int, c blob not null, d int, e int default 0, f int, unique key (c)) engine=innodb;
create table t2 (x int);
diff --git a/mysql-test/main/long_unique_update.result b/mysql-test/main/long_unique_update.result
index b508583f47c..1741ec5310a 100644
--- a/mysql-test/main/long_unique_update.result
+++ b/mysql-test/main/long_unique_update.result
@@ -24,6 +24,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
insert into t1 values(1),(2),(3),(4),(5);
select * from t1;
a
@@ -69,10 +70,10 @@ drop table t1;
#test 2;
create table t1 (a int primary key, b blob unique , c int unique );
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 c 1 c A NULL NULL NULL YES BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 c 1 c A NULL NULL NULL YES BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7);
select * from t1 limit 3;
a b c
@@ -129,10 +130,10 @@ drop table t1;
#test 3;
create table t1 (a blob unique, b blob unique , c blob unique);
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7);
select * from t1 limit 3;
a b c
@@ -226,21 +227,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`,`b`,`c`,`d`,`e`,`f`,`g`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 b_2 1 b A NULL NULL NULL YES BTREE
-t1 0 b_2 2 f A NULL NULL NULL YES BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 c A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 g A NULL NULL NULL YES HASH
-t1 0 a 1 a A NULL NULL NULL HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 a 4 d A NULL NULL NULL YES HASH
-t1 0 a 5 e A NULL NULL NULL YES HASH
-t1 0 a 6 f A NULL NULL NULL YES HASH
-t1 0 a 7 g A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 b_2 1 b A NULL NULL NULL YES BTREE NO
+t1 0 b_2 2 f A NULL NULL NULL YES BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 c A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 g A NULL NULL NULL YES HASH NO
+t1 0 a 1 a A NULL NULL NULL HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 a 4 d A NULL NULL NULL YES HASH NO
+t1 0 a 5 e A NULL NULL NULL YES HASH NO
+t1 0 a 6 f A NULL NULL NULL YES HASH NO
+t1 0 a 7 g A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1,1,1,1,1),(2,2,2,2,2,2,2),(3,3,3,3,3,3,3),(4,4,4,4,4,4,4),
(5,5,5,5,5,5,5),(6,6,6,6,6,6,6),(7,7,7,7,7,7,7),(8,8,8,8,8,8,8),(9,9,9,9,9,9,9);
select * from t1 limit 3;
diff --git a/mysql-test/main/long_unique_using_hash.result b/mysql-test/main/long_unique_using_hash.result
index 987e11294ec..619b0f5baa5 100644
--- a/mysql-test/main/long_unique_using_hash.result
+++ b/mysql-test/main/long_unique_using_hash.result
@@ -13,6 +13,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
drop table t1;
create table t1(a blob , unique(a) using btree);
ERROR 42000: Specified key was too long; max key length is 1000 bytes
@@ -31,23 +32,24 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
drop table t1;
create table t1(a int ,b int , c int, unique(a, b, c) using hash);
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1);
insert into t1 values(1,1,1);
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
drop table t1;
create table t1(a int ,b int , c int, unique(a, b, c) using hash) engine=memory;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a NULL NULL NULL NULL YES HASH
-t1 0 a 2 b NULL NULL NULL NULL YES HASH
-t1 0 a 3 c NULL 0 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a NULL NULL NULL NULL YES HASH NO
+t1 0 a 2 b NULL NULL NULL NULL YES HASH NO
+t1 0 a 3 c NULL 0 NULL NULL YES HASH NO
insert into t1 values(1,1,1);
insert into t1 values(1,1,1);
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
diff --git a/mysql-test/main/merge.result b/mysql-test/main/merge.result
index 0d6f387a7bc..d1950d03939 100644
--- a/mysql-test/main/merge.result
+++ b/mysql-test/main/merge.result
@@ -760,10 +760,10 @@ a b c
1 1 1
1 1 0
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a A NULL NULL NULL YES BTREE
-t3 1 a 2 b A NULL NULL NULL YES BTREE
-t3 1 a 3 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a A NULL NULL NULL YES BTREE NO
+t3 1 a 2 b A NULL NULL NULL YES BTREE NO
+t3 1 a 3 c A NULL NULL NULL YES BTREE NO
drop table t1, t2, t3;
CREATE TABLE t1 ( a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(10), UNIQUE (b) )
ENGINE=MyISAM;
diff --git a/mysql-test/main/mix2_myisam.result b/mysql-test/main/mix2_myisam.result
index 5a228f63502..dd2af645767 100644
--- a/mysql-test/main/mix2_myisam.result
+++ b/mysql-test/main/mix2_myisam.result
@@ -170,10 +170,10 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A # NULL NULL BTREE
-t1 1 parent_id 1 parent_id A # NULL NULL BTREE
-t1 1 level 1 level A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A # NULL NULL BTREE NO
+t1 1 parent_id 1 parent_id A # NULL NULL BTREE NO
+t1 1 level 1 level A # NULL NULL BTREE NO
drop table t1;
CREATE TABLE t1 (
gesuchnr int(11) DEFAULT '0' NOT NULL,
@@ -214,8 +214,8 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 skr 1 a A # NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 skr 1 a A # NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int,b varchar(20),key(a)) engine=MyISAM;
insert into t1 values (1,""), (2,"testing");
@@ -261,13 +261,13 @@ key(a),primary key(a,b), unique(c),key(a),unique(b)) ENGINE = MyISAM;
Warnings:
Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL BTREE
-t1 0 PRIMARY 2 b A # NULL NULL BTREE
-t1 0 c 1 c A # NULL NULL BTREE
-t1 0 b 1 b A # NULL NULL BTREE
-t1 1 a 1 a A # NULL NULL BTREE
-t1 1 a_2 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 b A # NULL NULL BTREE NO
+t1 0 c 1 c A # NULL NULL BTREE NO
+t1 0 b 1 b A # NULL NULL BTREE NO
+t1 1 a 1 a A # NULL NULL BTREE NO
+t1 1 a_2 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1)) ENGINE = MEMORY;
alter table t1 engine=MyISAM;
@@ -639,8 +639,8 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (i int, j int ) ENGINE=MyISAM;
insert into t1 values (1,2);
diff --git a/mysql-test/main/myisam.result b/mysql-test/main/myisam.result
index a2a9d4854ee..0f68171c6c2 100644
--- a/mysql-test/main/myisam.result
+++ b/mysql-test/main/myisam.result
@@ -40,16 +40,16 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status Table is already up to date
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
drop table t1;
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=myisam;
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
@@ -339,13 +339,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 5 NULL NULL YES BTREE
-t1 1 c 1 c A 5 NULL NULL YES BTREE
-t1 1 a 1 a A 1 NULL NULL BTREE
-t1 1 a 2 b A 5 NULL NULL YES BTREE
-t1 1 c_2 1 c A 5 NULL NULL YES BTREE
-t1 1 c_2 2 a A 5 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 5 NULL NULL YES BTREE NO
+t1 1 c 1 c A 5 NULL NULL YES BTREE NO
+t1 1 a 1 a A 1 NULL NULL BTREE NO
+t1 1 a 2 b A 5 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 5 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 5 NULL NULL BTREE NO
explain select * from t1,t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
@@ -363,13 +363,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 10 NULL NULL YES BTREE
-t1 1 c 1 c A 10 NULL NULL YES BTREE
-t1 1 a 1 a A 10 NULL NULL BTREE
-t1 1 a 2 b A 10 NULL NULL YES BTREE
-t1 1 c_2 1 c A 10 NULL NULL YES BTREE
-t1 1 c_2 2 a A 10 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 10 NULL NULL YES BTREE NO
+t1 1 c 1 c A 10 NULL NULL YES BTREE NO
+t1 1 a 1 a A 10 NULL NULL BTREE NO
+t1 1 a 2 b A 10 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 10 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 10 NULL NULL BTREE NO
explain select * from t1,t2 where t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL b NULL NULL NULL 2 Using where
@@ -379,13 +379,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 5 NULL NULL YES BTREE
-t1 1 c 1 c A 5 NULL NULL YES BTREE
-t1 1 a 1 a A 1 NULL NULL BTREE
-t1 1 a 2 b A 5 NULL NULL YES BTREE
-t1 1 c_2 1 c A 5 NULL NULL YES BTREE
-t1 1 c_2 2 a A 5 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 5 NULL NULL YES BTREE NO
+t1 1 c 1 c A 5 NULL NULL YES BTREE NO
+t1 1 a 1 a A 1 NULL NULL BTREE NO
+t1 1 a 2 b A 5 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 5 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 5 NULL NULL BTREE NO
explain select * from t1,t2 force index(c) where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
@@ -613,29 +613,29 @@ test.t1 2924214226
drop table t1,t2;
create table t1 (a int, key (a));
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
create table t2 (a int);
set @@rand_seed1=31415926,@@rand_seed2=2718281828;
insert t1 select * from t2;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 1000 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1000 NULL NULL YES BTREE NO
alter table t1 engine=heap;
alter table t1 disable keys;
Warnings:
Note 1031 Storage engine MEMORY of the table `test`.`t1` doesn't have this option
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a NULL 500 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL 500 NULL NULL YES HASH NO
drop table t1,t2;
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
@@ -679,16 +679,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
set myisam_stats_method=nulls_equal;
set @save_use_stat_tables = @@use_stat_tables;
set @@use_stat_tables = COMPLEMENTARY;
@@ -702,16 +702,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
set @@use_stat_tables = @save_use_stat_tables;
set myisam_stats_method=DEFAULT;
show variables like 'myisam_stats_method';
@@ -724,16 +724,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
drop table t1;
set myisam_stats_method=nulls_ignored;
show variables like 'myisam_stats_method';
@@ -754,22 +754,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
delete from t1;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
set myisam_stats_method=DEFAULT;
drop table t1;
set @@use_stat_tables = @save_use_stat_tables;
@@ -1815,13 +1815,13 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
alter table t1 disable keys;
alter table t1 enable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
drop table t1;
create table t1 (c1 int) engine=myisam pack_keys=0;
create table t2 (c1 int) engine=myisam pack_keys=1;
diff --git a/mysql-test/main/mysqldump-utf8mb4.result b/mysql-test/main/mysqldump-utf8mb4.result
index 3bafd6da6c9..50c23c5efa9 100644
--- a/mysql-test/main/mysqldump-utf8mb4.result
+++ b/mysql-test/main/mysqldump-utf8mb4.result
@@ -18,7 +18,7 @@ Testing XML format output
<field Field="point" Type="varchar(10)" Null="NO" Key="PRI" Extra="" Comment="" />
<field Field="data" Type="varchar(10)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
<field Field="comment" Type="varchar(64)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="point" Collation="A" Cardinality="1" Null="" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="point" Collation="A" Cardinality="1" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
</table_structure>
<table_data name="t1">
<row>
diff --git a/mysql-test/main/mysqldump.result b/mysql-test/main/mysqldump.result
index c878a2098ee..df790546d5b 100644
--- a/mysql-test/main/mysqldump.result
+++ b/mysql-test/main/mysqldump.result
@@ -12,7 +12,7 @@ INSERT INTO t1 VALUES (1), (2);
<database name="test">
<table_structure name="t1">
<field Field="a" Type="int(11)" Null="YES" Key="MUL" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
</table_structure>
<table_data name="t1">
<row>
diff --git a/mysql-test/main/named_pipe.result b/mysql-test/main/named_pipe.result
index 9fc7abd79f5..2baa3471ec9 100644
--- a/mysql-test/main/named_pipe.result
+++ b/mysql-test/main/named_pipe.result
@@ -2091,10 +2091,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/partition.result b/mysql-test/main/partition.result
index 373522ded40..109e6b8993a 100644
--- a/mysql-test/main/partition.result
+++ b/mysql-test/main/partition.result
@@ -282,15 +282,15 @@ partition by list (a)
partition p1 values in (2));
insert into t1 values (1,1),(2,1),(2,2),(2,3);
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 2 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int)
partition by hash (a);
diff --git a/mysql-test/main/pool_of_threads.result b/mysql-test/main/pool_of_threads.result
index d4a7d9092f4..91ad7ab098f 100644
--- a/mysql-test/main/pool_of_threads.result
+++ b/mysql-test/main/pool_of_threads.result
@@ -2091,10 +2091,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/ps_1general.result b/mysql-test/main/ps_1general.result
index 46812425ebc..663aeec2e29 100644
--- a/mysql-test/main/ps_1general.result
+++ b/mysql-test/main/ps_1general.result
@@ -291,9 +291,9 @@ a int(11) NO PRI NULL
create index t2_idx on t2(b);
prepare stmt4 from ' show index from t2 from test ';
execute stmt4;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t2 1 t2_idx 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t2 1 t2_idx 1 b A NULL NULL NULL YES BTREE NO
prepare stmt4 from ' show table status from test like ''t2%'' ';
execute stmt4;
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length Temporary
diff --git a/mysql-test/main/ps_ddl.result b/mysql-test/main/ps_ddl.result
index c5c5b5a9ac0..e528252c86f 100644
--- a/mysql-test/main/ps_ddl.result
+++ b/mysql-test/main/ps_ddl.result
@@ -2295,11 +2295,11 @@ drop table if exists t1;
create table t1 (a int);
prepare stmt from "show keys from t1 where (1) in (select * from t1)";
execute stmt;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
create table t1 (x int);
execute stmt;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
deallocate prepare stmt;
#
diff --git a/mysql-test/main/repair.result b/mysql-test/main/repair.result
index 899ca1e1a32..88f5f9eb06b 100644
--- a/mysql-test/main/repair.result
+++ b/mysql-test/main/repair.result
@@ -14,16 +14,16 @@ create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st));
insert into t1 values(1, "One");
alter table t1 disable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A 1 NULL NULL BTREE
-t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 1 NULL NULL BTREE NO
+t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled NO
repair table t1 extended;
Table Op Msg_type Msg_text
test.t1 repair status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A 1 NULL NULL BTREE
-t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 1 NULL NULL BTREE NO
+t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled NO
drop table t1;
repair table t1 use_frm;
Table Op Msg_type Msg_text
@@ -47,8 +47,8 @@ REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
SET myisam_repair_threads=@@global.myisam_repair_threads;
DROP TABLE t1;
CREATE TABLE t1(a INT);
diff --git a/mysql-test/main/select.result b/mysql-test/main/select.result
index 7547b5b1347..2f051ab33bf 100644
--- a/mysql-test/main/select.result
+++ b/mysql-test/main/select.result
@@ -2088,10 +2088,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/select_jcl6.result b/mysql-test/main/select_jcl6.result
index 6a8174d124c..6a309d8aa69 100644
--- a/mysql-test/main/select_jcl6.result
+++ b/mysql-test/main/select_jcl6.result
@@ -2099,10 +2099,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/select_pkeycache.result b/mysql-test/main/select_pkeycache.result
index 7547b5b1347..2f051ab33bf 100644
--- a/mysql-test/main/select_pkeycache.result
+++ b/mysql-test/main/select_pkeycache.result
@@ -2088,10 +2088,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/show_check.result b/mysql-test/main/show_check.result
index d031c792922..f6ef7b8ccf1 100644
--- a/mysql-test/main/show_check.result
+++ b/mysql-test/main/show_check.result
@@ -76,10 +76,11 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 3 0 N 1 0 8
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 16 5 N 1 0 8
def information_schema STATISTICS STATISTICS COMMENT Comment 253 16 0 Y 0 0 8
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 1024 0 N 1 0 8
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
-t1 1 b 2 c A 5 NULL NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 3 2 N 1 0 8
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
+t1 1 b 2 c A 5 NULL NULL BTREE NO
insert into t1 values (5,5,5);
ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
-- Here we enable metadata just to check that the collation of the
@@ -169,11 +170,11 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE
-t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE
-t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE
-t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE NO
+t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE NO
+t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE NO
+t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE NO
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
@@ -186,11 +187,11 @@ def Msg_text 250 393216 2 Y 0 39 8
Table Op Msg_type Msg_text
test.t1 repair status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE
-t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE
-t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE
-t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE NO
+t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE NO
+t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE NO
+t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE NO
drop table t1;
create temporary table t1 (a int not null);
show create table t1;
@@ -660,8 +661,9 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 3 0 N 1 0 63
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 16 5 N 1 0 63
def information_schema STATISTICS STATISTICS COMMENT Comment 253 16 0 Y 0 0 63
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 1024 0 N 1 0 63
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 field1 A 0 1000 NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 3 2 N 1 0 63
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 field1 A 0 1000 NULL BTREE NO
drop table t1;
create table t1 (
c1 int NOT NULL,
@@ -930,8 +932,9 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 9 0 N 1 0 33
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 48 5 N 1 0 33
def information_schema STATISTICS STATISTICS COMMENT Comment 253 48 0 Y 0 0 33
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 3072 0 N 1 0 33
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 c A 0 NULL NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 9 2 N 1 0 33
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c A 0 NULL NULL BTREE NO
----------------------------------------------------------------
SELECT
TABLE_CATALOG,
@@ -1312,7 +1315,7 @@ show columns from `a\b` from `mysqlttest\1`;
Field Type Null Key Default Extra
a int(11) YES NULL
show keys from `mysqlttest\1`.`a\b`;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table `mysqlttest\1`.`a\b`;
drop database `mysqlttest\1`;
show engine foobar status;
diff --git a/mysql-test/main/show_explain.result b/mysql-test/main/show_explain.result
index 69dc506527b..6ad93930448 100644
--- a/mysql-test/main/show_explain.result
+++ b/mysql-test/main/show_explain.result
@@ -714,10 +714,10 @@ id select_type table type possible_keys key key_len ref rows Extra
Warnings:
Note 1003 SHOW INDEX FROM t1
connection con1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
-t1 1 c 1 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 c 1 c A NULL NULL NULL YES BTREE NO
SET debug_dbug=@old_debug;
DROP TABLE t1;
#
diff --git a/mysql-test/main/sp.result b/mysql-test/main/sp.result
index 17b0af92a40..f30283d3b1d 100644
--- a/mysql-test/main/sp.result
+++ b/mysql-test/main/sp.result
@@ -2414,7 +2414,7 @@ Level Code Message
Field Type Null Key Default Extra
id char(16) NO
data int(11) NO NULL
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
Database Table In_use Name_locked
Variable_name Value
Tables_in_test (foo)
@@ -2435,7 +2435,7 @@ Level Code Message
Field Type Null Key Default Extra
id char(16) NO
data int(11) NO NULL
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
Database Table In_use Name_locked
Variable_name Value
Tables_in_test (foo)
diff --git a/mysql-test/main/ssl.result b/mysql-test/main/ssl.result
index 40a32fdd1dd..b2ca0cf80ad 100644
--- a/mysql-test/main/ssl.result
+++ b/mysql-test/main/ssl.result
@@ -2100,10 +2100,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/ssl_compress.result b/mysql-test/main/ssl_compress.result
index 8c63c798afa..69de425cdc1 100644
--- a/mysql-test/main/ssl_compress.result
+++ b/mysql-test/main/ssl_compress.result
@@ -2097,10 +2097,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/stat_tables.result b/mysql-test/main/stat_tables.result
index a5089c609d2..22f5bfafb8e 100644
--- a/mysql-test/main/stat_tables.result
+++ b/mysql-test/main/stat_tables.result
@@ -154,10 +154,10 @@ select count(distinct o_custkey) from orders;
count(distinct o_custkey)
100
show index from orders;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE
-orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE
-orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE NO
+orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE NO
+orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE NO
select index_name, column_name, cardinality from information_schema.statistics
where table_name='orders';
index_name column_name cardinality
@@ -656,33 +656,33 @@ dbt3_s001 lineitem i_l_orderkey_quantity 1 4.0033
dbt3_s001 lineitem i_l_orderkey_quantity 2 1.0404
dbt3_s001 lineitem i_l_commitdate 1 2.7160
SHOW INDEXES FROM lineitem;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='lineitem';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT
COUNT(DISTINCT l_orderkey), COUNT(DISTINCT l_orderkey,l_linenumber),
COUNT(DISTINCT l_shipDATE),
diff --git a/mysql-test/main/stat_tables_innodb.result b/mysql-test/main/stat_tables_innodb.result
index 6fafac8776b..5b62f228b1f 100644
--- a/mysql-test/main/stat_tables_innodb.result
+++ b/mysql-test/main/stat_tables_innodb.result
@@ -186,10 +186,10 @@ select count(distinct o_custkey) from orders;
count(distinct o_custkey)
100
show index from orders;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE
-orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE
-orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE NO
+orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE NO
+orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE NO
select index_name, column_name, cardinality from information_schema.statistics
where table_name='orders';
index_name column_name cardinality
@@ -688,33 +688,33 @@ dbt3_s001 lineitem i_l_orderkey_quantity 1 4.0033
dbt3_s001 lineitem i_l_orderkey_quantity 2 1.0404
dbt3_s001 lineitem i_l_commitdate 1 2.7160
SHOW INDEXES FROM lineitem;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='lineitem';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT
COUNT(DISTINCT l_orderkey), COUNT(DISTINCT l_orderkey,l_linenumber),
COUNT(DISTINCT l_shipDATE),
diff --git a/mysql-test/main/stat_tables_par.result b/mysql-test/main/stat_tables_par.result
index 33fbe079c9e..7a95e8259b6 100644
--- a/mysql-test/main/stat_tables_par.result
+++ b/mysql-test/main/stat_tables_par.result
@@ -274,8 +274,8 @@ a b
2 2
SET DEBUG_SYNC= "now SIGNAL go";
connection default;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test a 1 a A 2 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test a 1 a A 2 NULL NULL YES BTREE NO
connection default;
disconnect con1;
set debug_sync='RESET';
diff --git a/mysql-test/main/stat_tables_par_innodb.result b/mysql-test/main/stat_tables_par_innodb.result
index c33785a9436..2b2d091444f 100644
--- a/mysql-test/main/stat_tables_par_innodb.result
+++ b/mysql-test/main/stat_tables_par_innodb.result
@@ -307,8 +307,8 @@ a b
2 2
SET DEBUG_SYNC= "now SIGNAL go";
connection default;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test a 1 a A 2 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test a 1 a A 2 NULL NULL YES BTREE NO
connection default;
disconnect con1;
set debug_sync='RESET';
diff --git a/mysql-test/main/type_ranges.result b/mysql-test/main/type_ranges.result
index 784a394d8b5..02b6c79bdf5 100644
--- a/mysql-test/main/type_ranges.result
+++ b/mysql-test/main/type_ranges.result
@@ -65,21 +65,21 @@ longblob_col longblob NULL NO '' #
options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
flags set('one','two','tree') latin1_swedish_ci NO #
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 auto A 0 NULL NULL BTREE
-t1 1 utiny 1 utiny A NULL NULL NULL BTREE
-t1 1 tiny 1 tiny A NULL NULL NULL BTREE
-t1 1 short 1 short A NULL NULL NULL BTREE
-t1 1 any_name 1 medium A NULL NULL NULL BTREE
-t1 1 longlong 1 longlong A NULL NULL NULL BTREE
-t1 1 real_float 1 real_float A NULL NULL NULL BTREE
-t1 1 ushort 1 ushort A NULL NULL NULL BTREE
-t1 1 umedium 1 umedium A NULL NULL NULL BTREE
-t1 1 ulong 1 ulong A NULL NULL NULL BTREE
-t1 1 ulonglong 1 ulonglong A NULL NULL NULL BTREE
-t1 1 ulonglong 2 ulong A NULL NULL NULL BTREE
-t1 1 options 1 options A NULL NULL NULL BTREE
-t1 1 options 2 flags A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 auto A 0 NULL NULL BTREE NO
+t1 1 utiny 1 utiny A NULL NULL NULL BTREE NO
+t1 1 tiny 1 tiny A NULL NULL NULL BTREE NO
+t1 1 short 1 short A NULL NULL NULL BTREE NO
+t1 1 any_name 1 medium A NULL NULL NULL BTREE NO
+t1 1 longlong 1 longlong A NULL NULL NULL BTREE NO
+t1 1 real_float 1 real_float A NULL NULL NULL BTREE NO
+t1 1 ushort 1 ushort A NULL NULL NULL BTREE NO
+t1 1 umedium 1 umedium A NULL NULL NULL BTREE NO
+t1 1 ulong 1 ulong A NULL NULL NULL BTREE NO
+t1 1 ulonglong 1 ulonglong A NULL NULL NULL BTREE NO
+t1 1 ulonglong 2 ulong A NULL NULL NULL BTREE NO
+t1 1 options 1 options A NULL NULL NULL BTREE NO
+t1 1 options 2 flags A NULL NULL NULL BTREE NO
CREATE UNIQUE INDEX test on t1 ( auto ) ;
CREATE INDEX test2 on t1 ( ulonglong,ulong) ;
Warnings:
diff --git a/mysql-test/main/view.result b/mysql-test/main/view.result
index 4585f370c1d..35e607ad43c 100644
--- a/mysql-test/main/view.result
+++ b/mysql-test/main/view.result
@@ -3678,7 +3678,7 @@ c1 c2
2 2
CREATE VIEW v1 AS SELECT c1, c2 FROM t1;
SHOW INDEX FROM v1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2;
ERROR 42000: Key 'PRIMARY' doesn't exist in table 'v1'
SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
index feed949a71a..965971bf85f 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
@@ -63,9 +63,9 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
('Function MATCH ... AGAINST()','is used to do a search'),
('Full-text search in MySQL', 'implements vector space model');
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Only MyISAM tables support collections
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result
index cdacf7a3d1e..b2c6041c793 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result
@@ -346,6 +346,7 @@ def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0
def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) select NEVER NULL
def information_schema STATISTICS COLUMN_NAME 8 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
+def information_schema STATISTICS IGNORED 17 '' NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
def information_schema STATISTICS INDEX_COMMENT 16 '' NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select NEVER NULL
def information_schema STATISTICS INDEX_NAME 6 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
def information_schema STATISTICS INDEX_SCHEMA 5 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
@@ -902,6 +903,7 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema STATISTICS IGNORED varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
index 5c941d279e3..a5fa891ef18 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
@@ -346,6 +346,7 @@ def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0
def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) NEVER NULL
def information_schema STATISTICS COLUMN_NAME 8 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
+def information_schema STATISTICS IGNORED 17 '' NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
def information_schema STATISTICS INDEX_COMMENT 16 '' NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) NEVER NULL
def information_schema STATISTICS INDEX_NAME 6 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
def information_schema STATISTICS INDEX_SCHEMA 5 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
@@ -902,6 +903,7 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
+3.0000 information_schema STATISTICS IGNORED varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
diff --git a/mysql-test/suite/funcs_1/r/is_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result
index 858e1b0399e..4c67ee81564 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics.result
@@ -44,6 +44,7 @@ NULLABLE varchar(3) NO
INDEX_TYPE varchar(16) NO
COMMENT varchar(16) YES NULL
INDEX_COMMENT varchar(1024) NO
+IGNORED varchar(3) NO
SHOW CREATE TABLE information_schema.STATISTICS;
Table Create Table
STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
@@ -62,7 +63,8 @@ STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
`NULLABLE` varchar(3) NOT NULL DEFAULT '',
`INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
`COMMENT` varchar(16) DEFAULT NULL,
- `INDEX_COMMENT` varchar(1024) NOT NULL DEFAULT ''
+ `INDEX_COMMENT` varchar(1024) NOT NULL DEFAULT '',
+ `IGNORED` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.STATISTICS;
Field Type Null Key Default Extra
@@ -82,6 +84,7 @@ NULLABLE varchar(3) NO
INDEX_TYPE varchar(16) NO
COMMENT varchar(16) YES NULL
INDEX_COMMENT varchar(1024) NO
+IGNORED varchar(3) NO
SELECT table_catalog, table_schema, table_name, index_schema, index_name
FROM information_schema.statistics WHERE table_catalog IS NOT NULL
ORDER BY table_schema, table_name, index_schema, index_name;
@@ -182,17 +185,17 @@ ENGINE = MEMORY;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -203,7 +206,7 @@ connect testuser1, localhost, testuser1, , test;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -213,7 +216,7 @@ connect testuser2, localhost, testuser2, , test;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
SHOW GRANTS FOR 'testuser2'@'localhost';
@@ -225,17 +228,17 @@ GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost';
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -248,13 +251,13 @@ connection testuser1;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -266,7 +269,7 @@ connection testuser2;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
SHOW GRANTS FOR 'testuser2'@'localhost';
@@ -282,11 +285,11 @@ connection testuser1;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -318,9 +321,9 @@ ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3);
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE
-def test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE NO
+def test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE NO
ALTER TABLE test.t1_1 DROP PRIMARY KEY;
SELECT table_name FROM information_schema.statistics
WHERE table_name LIKE 't1_%';
@@ -328,8 +331,8 @@ table_name
ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1);
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE NO
ALTER TABLE test.t1_1 ADD INDEX (f4);
CREATE INDEX f3_f1 ON test.t1_1 (f3,f1);
CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x);
@@ -341,14 +344,14 @@ CREATE INDEX f2_prefix ON test.t1_1 (f2(20));
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE
-def test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE
-def test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE
-def test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE
-def test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE
-def test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE
-def test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE NO
+def test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE NO
+def test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE NO
+def test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE NO
+def test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE NO
+def test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE NO
+def test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH NO
DROP TABLE test.t1_2;
SELECT DISTINCT table_name FROM information_schema.statistics
WHERE table_name = 't1_1';
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_is.result b/mysql-test/suite/funcs_1/r/is_statistics_is.result
index a4fe6054d0e..7e1d3d6a3bc 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_is.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_is.result
@@ -6,12 +6,12 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'information_schema'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'information_schema'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
index 40d5e125c0d..5a0e0865307 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
@@ -6,88 +6,88 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
-def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
-def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
index 01a98e413da..651fb286454 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
@@ -6,164 +6,164 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
-def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
-def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE
-def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE
-def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE
-def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
-def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
-def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
-def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
-def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE
-def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE
-def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints.result b/mysql-test/suite/funcs_1/r/is_table_constraints.result
index e0b861c8589..cf0e2ea0191 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result
@@ -120,16 +120,16 @@ def db_datadict my_idx2 db_datadict t1 UNIQUE
def db_datadict PRIMARY db_datadict t1 PRIMARY KEY
def db_datadict PRIMARY db_datadict t2 PRIMARY KEY
SHOW INDEXES FROM db_datadict.t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
-t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
-t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
-t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
-t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### NO
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### NO
SHOW INDEXES FROM db_datadict.t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
-t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
connect testuser1, localhost, testuser1, , db_datadict;
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
@@ -143,12 +143,12 @@ def db_datadict my_idx1 db_datadict t1 UNIQUE
def db_datadict my_idx2 db_datadict t1 UNIQUE
def db_datadict PRIMARY db_datadict t1 PRIMARY KEY
SHOW INDEXES FROM db_datadict.t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
-t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
-t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
-t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
-t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### NO
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### NO
SHOW INDEXES FROM db_datadict.t2;
ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2'
connection default;
diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result
index 4005240aa49..cb3c37c13fa 100644
--- a/mysql-test/suite/funcs_1/r/storedproc.result
+++ b/mysql-test/suite/funcs_1/r/storedproc.result
@@ -22270,8 +22270,8 @@ END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
10 30 50
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-res_t9 1 index_1 1 f1 A NULL 5 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+res_t9 1 index_1 1 f1 A NULL 5 NULL YES BTREE NO
DROP PROCEDURE sp6;
drop table res_t9;
diff --git a/mysql-test/suite/heap/heap.result b/mysql-test/suite/heap/heap.result
index 0ef38360caf..15bb9ea0b50 100644
--- a/mysql-test/suite/heap/heap.result
+++ b/mysql-test/suite/heap/heap.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key (a)) engine=heap com
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH NO
select * from t1;
a b
2 2
diff --git a/mysql-test/suite/heap/heap_btree.result b/mysql-test/suite/heap/heap_btree.result
index 5778ff0dd55..526c76a52e8 100644
--- a/mysql-test/suite/heap/heap_btree.result
+++ b/mysql-test/suite/heap/heap_btree.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key using BTREE (a)) eng
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A NULL NULL NULL BTREE NO
select * from t1;
a b
2 2
diff --git a/mysql-test/suite/heap/heap_hash.result b/mysql-test/suite/heap/heap_hash.result
index df1acdae506..6bc9ff0d527 100644
--- a/mysql-test/suite/heap/heap_hash.result
+++ b/mysql-test/suite/heap/heap_hash.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key using HASH (a)) engi
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH NO
select * from t1;
a b
2 2
@@ -327,15 +327,15 @@ explain select * from t1 ignore index (btree_idx) where name='matt';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref heap_idx heap_idx 22 const 7 Using where
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH
-t1 1 heap_idx 1 name NULL 13 NULL NULL HASH
-t1 1 btree_idx 1 name A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH NO
+t1 1 heap_idx 1 name NULL 13 NULL NULL HASH NO
+t1 1 btree_idx 1 name A NULL NULL NULL BTREE NO
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH
-t1 1 heap_idx 1 name NULL 13 NULL NULL HASH
-t1 1 btree_idx 1 name A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH NO
+t1 1 heap_idx 1 name NULL 13 NULL NULL HASH NO
+t1 1 btree_idx 1 name A NULL NULL NULL BTREE NO
create table t3
(
a varchar(20) not null,
@@ -344,13 +344,13 @@ key (a,b)
) engine=heap;
insert into t3 select name, name from t1;
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a NULL NULL NULL NULL HASH
-t3 1 a 2 b NULL 13 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a NULL NULL NULL NULL HASH NO
+t3 1 a 2 b NULL 13 NULL NULL HASH NO
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a NULL NULL NULL NULL HASH
-t3 1 a 2 b NULL 13 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a NULL NULL NULL NULL HASH NO
+t3 1 a 2 b NULL 13 NULL NULL HASH NO
explain select * from t1 ignore key(btree_idx), t3 where t1.name='matt' and t3.a = concat('',t1.name) and t3.b=t1.name;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref heap_idx heap_idx 22 const 7 Using where
diff --git a/mysql-test/suite/innodb/r/innodb-index-online.result b/mysql-test/suite/innodb/r/innodb-index-online.result
index ecdf41bca62..6ac5e897731 100644
--- a/mysql-test/suite/innodb/r/innodb-index-online.result
+++ b/mysql-test/suite/innodb/r/innodb-index-online.result
@@ -207,9 +207,9 @@ INSERT INTO mysql.innodb_index_stats SELECT * FROM t1_c2_stats;
DROP TABLE t1_c2_stats;
CREATE INDEX c2d ON t1(c2);
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE
-t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE NO
+t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE NO
EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range c2d c2d 5 NULL 32 Using where; Using index
diff --git a/mysql-test/suite/innodb/r/innodb.result b/mysql-test/suite/innodb/r/innodb.result
index 6f99dcd348d..a9cf790068a 100644
--- a/mysql-test/suite/innodb/r/innodb.result
+++ b/mysql-test/suite/innodb/r/innodb.result
@@ -175,10 +175,10 @@ Table Op Msg_type Msg_text
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A # NULL NULL BTREE
-t1 1 parent_id 1 parent_id A # NULL NULL BTREE
-t1 1 level 1 level A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A # NULL NULL BTREE NO
+t1 1 parent_id 1 parent_id A # NULL NULL BTREE NO
+t1 1 level 1 level A # NULL NULL BTREE NO
drop table t1;
CREATE TABLE t1 (
gesuchnr int(11) DEFAULT '0' NOT NULL,
@@ -220,8 +220,8 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 skr 1 a A # NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 skr 1 a A # NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int,b varchar(20),key(a)) engine=innodb;
insert into t1 values (1,""), (2,"testing");
@@ -410,13 +410,13 @@ key(a),primary key(a,b), unique(c),key(a),unique(b));
Warnings:
Note 1831 Duplicate index `a_2`. This is deprecated and will be disallowed in a future release
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL BTREE
-t1 0 PRIMARY 2 b A # NULL NULL BTREE
-t1 0 c 1 c A # NULL NULL BTREE
-t1 0 b 1 b A # NULL NULL BTREE
-t1 1 a 1 a A # NULL NULL BTREE
-t1 1 a_2 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 b A # NULL NULL BTREE NO
+t1 0 c 1 c A # NULL NULL BTREE NO
+t1 0 b 1 b A # NULL NULL BTREE NO
+t1 1 a 1 a A # NULL NULL BTREE NO
+t1 1 a_2 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
alter table t1 engine=innodb;
@@ -753,8 +753,8 @@ Table Op Msg_type Msg_text
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (i int, j int ) ENGINE=innodb;
insert into t1 values (1,2);
diff --git a/mysql-test/suite/innodb/r/innodb_mysql.result b/mysql-test/suite/innodb/r/innodb_mysql.result
index 595a56a8bef..9b0c9c427ba 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -2899,6 +2899,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
Table t1
Non_unique 0
Key_name k
@@ -2912,6 +2913,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
DROP TABLE t1;
#
# Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
diff --git a/mysql-test/suite/innodb/r/innodb_stats.result b/mysql-test/suite/innodb/r/innodb_stats.result
index d2c3bd0127e..b300af767c6 100644
--- a/mysql-test/suite/innodb/r/innodb_stats.result
+++ b/mysql-test/suite/innodb/r/innodb_stats.result
@@ -52,6 +52,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1);
ANALYZE TABLE test_innodb_stats;
@@ -104,6 +105,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1);
ANALYZE TABLE test_innodb_stats;
@@ -156,6 +158,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1);
ANALYZE TABLE test_innodb_stats;
@@ -208,6 +211,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1), (1), (1), (1), (1), (1), (1), (1);
ANALYZE TABLE test_innodb_stats;
@@ -260,6 +264,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (2);
ANALYZE TABLE test_innodb_stats;
@@ -312,6 +317,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2);
ANALYZE TABLE test_innodb_stats;
@@ -364,6 +370,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3);
ANALYZE TABLE test_innodb_stats;
@@ -416,6 +423,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2), (3), (3);
ANALYZE TABLE test_innodb_stats;
@@ -468,6 +476,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3), (4), (5), (1), (2), (3), (4), (5);
ANALYZE TABLE test_innodb_stats;
@@ -520,3 +529,4 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
diff --git a/mysql-test/suite/innodb_fts/r/fulltext.result b/mysql-test/suite/innodb_fts/r/fulltext.result
index 0e30dd0be05..85b0f69eb1b 100644
--- a/mysql-test/suite/innodb_fts/r/fulltext.result
+++ b/mysql-test/suite/innodb_fts/r/fulltext.result
@@ -6,9 +6,9 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
('Full-text search in MySQL', 'implements vector space model');
ANALYZE TABLE t1;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Full-text indexes are called collections
@@ -232,9 +232,9 @@ match(ttxt.inhalt) against ('foobar');
id
3
show keys from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 1 tig 1 ticket A 3 NULL NULL YES BTREE
-t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 tig 1 ticket A 3 NULL NULL YES BTREE NO
+t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT NO
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
diff --git a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
index 52420da2409..87485401794 100644
--- a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
@@ -130,13 +130,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
SET @g1 = ST_GeomFromText('POLYGON((20 20,30 30,40 40,50 50,40 50,30 40,30 30,20 20))');
SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1);
c1 ST_Astext(c2) ST_Astext(c4)
@@ -174,13 +174,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c44`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c22 A # 32 NULL SPATIAL
-tab 1 idx3 1 c33 A # 32 NULL SPATIAL
-tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c44 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c22 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c33 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c44 A # 10 NULL BTREE NO
ALTER TABLE tab CHANGE COLUMN c22 c2 POINT NOT NULL;
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
@@ -206,13 +206,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ALTER TABLE tab DISABLE KEYS;
Warnings:
Note 1031 Storage engine InnoDB of the table `test`.`tab` doesn't have this option
@@ -332,11 +332,11 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
DELETE FROM tab;
ALTER TABLE tab ADD PRIMARY KEY(c2);
affected rows: 0
@@ -364,14 +364,14 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c2 A # 25 NULL BTREE
-tab 0 const_1 1 c2 A # 25 NULL BTREE
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c2 A # 25 NULL BTREE NO
+tab 0 const_1 1 c2 A # 25 NULL BTREE NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -406,14 +406,14 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c5 A # 10 NULL BTREE
-tab 0 const_1 1 c5 A # 10 NULL BTREE
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c5 A # 10 NULL BTREE NO
+tab 0 const_1 1 c5 A # 10 NULL BTREE NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -540,13 +540,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)')
WHERE MBRContains(tab.c4, @g1);
@@ -577,13 +577,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ANALYZE TABLE tab;
Table Op Msg_type Msg_text
test.tab analyze status Engine-independent statistics collected
@@ -634,13 +634,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ANALYZE TABLE tab;
Table Op Msg_type Msg_text
test.tab analyze status Engine-independent statistics collected
@@ -716,12 +716,12 @@ child CREATE TABLE `child` (
SPATIAL KEY `idx2` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM parent;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-parent 0 PRIMARY 1 id A 0 25 NULL BTREE
-parent 1 idx1 1 id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+parent 0 PRIMARY 1 id A 0 25 NULL BTREE NO
+parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
SHOW INDEX FROM child;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-child 1 idx2 1 parent_id A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+child 1 idx2 1 parent_id A # 32 NULL SPATIAL NO
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ON DELETE CASCADE ;
DROP table child,parent;
@@ -748,12 +748,12 @@ child CREATE TABLE `child` (
SPATIAL KEY `idx2` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM parent;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-parent 0 PRIMARY 1 id A 0 10 NULL BTREE
-parent 1 idx1 1 id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+parent 0 PRIMARY 1 id A 0 10 NULL BTREE NO
+parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
SHOW INDEX FROM child;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL NO
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
DROP table child,parent;
create table t1 (c1 int) engine=innodb;
diff --git a/mysql-test/suite/innodb_gis/r/create_spatial_index.result b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
index 78f2a6ad04d..25a5a4dd289 100644
--- a/mysql-test/suite/innodb_gis/r/create_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
@@ -7,12 +7,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=8 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=4
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -437,11 +437,11 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=2 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=8
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -854,12 +854,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=16 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=16
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c2,c3,c4,c5)
VALUES(ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -1255,8 +1255,8 @@ tab CREATE TABLE `tab` (
CONSTRAINT `tab_const` CHECK (cast(`c1` as char charset binary) > 0)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL NO
set @g1 = ST_GeomFromText('POINT(-1 -2)');
SELECT ST_AsText(c1) FROM tab;
ST_AsText(c1)
diff --git a/mysql-test/suite/innodb_gis/r/rtree.result b/mysql-test/suite/innodb_gis/r/rtree.result
index b7cdc8ec7c9..9b91b9b9c16 100644
--- a/mysql-test/suite/innodb_gis/r/rtree.result
+++ b/mysql-test/suite/innodb_gis/r/rtree.result
@@ -37,8 +37,8 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
@@ -183,10 +183,10 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 i A # NULL NULL BTREE
-t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
-t1 1 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
diff --git a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
index 0165887a9f1..948b700aa6c 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
@@ -37,10 +37,10 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 i A # NULL NULL BTREE
-t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
-t1 1 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
diff --git a/mysql-test/suite/maria/maria-recovery-rtree-ft.result b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
index bb7d864b6b1..3a2716f29d9 100644
--- a/mysql-test/suite/maria/maria-recovery-rtree-ft.result
+++ b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
@@ -15,14 +15,14 @@ name VARCHAR(32)
,SPATIAL key (line)
) transactional=1 row_format=page engine=aria;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 line 1 line A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 line 1 line A NULL 32 NULL SPATIAL NO
CREATE TABLE t2 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)
) transactional=1 row_format=page engine=aria;
SHOW INDEX FROM t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
-t2 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t2 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
* TEST of REDO: see if recovery can reconstruct if we give it an old table
connection admin;
* copied t2 for feeding_recovery
diff --git a/mysql-test/suite/maria/maria-recovery2.result b/mysql-test/suite/maria/maria-recovery2.result
index 0ed49ab8142..dee99339a87 100644
--- a/mysql-test/suite/maria/maria-recovery2.result
+++ b/mysql-test/suite/maria/maria-recovery2.result
@@ -145,8 +145,8 @@ ok
connection default;
use mysqltest;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 1 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1 NULL NULL YES BTREE NO
select count(*) from t1;
count(*)
1
diff --git a/mysql-test/suite/maria/maria.result b/mysql-test/suite/maria/maria.result
index ac28953dff8..e367973c1f1 100644
--- a/mysql-test/suite/maria/maria.result
+++ b/mysql-test/suite/maria/maria.result
@@ -62,16 +62,16 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status Table is already up to date
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
drop table t1;
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b));
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
@@ -371,13 +371,13 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 10 NULL NULL YES BTREE
-t1 1 c 1 c A 10 NULL NULL YES BTREE
-t1 1 a 1 a A 10 NULL NULL BTREE
-t1 1 a 2 b A 10 NULL NULL YES BTREE
-t1 1 c_2 1 c A 10 NULL NULL YES BTREE
-t1 1 c_2 2 a A 10 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 10 NULL NULL YES BTREE NO
+t1 1 c 1 c A 10 NULL NULL YES BTREE NO
+t1 1 a 1 a A 10 NULL NULL BTREE NO
+t1 1 a 2 b A 10 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 10 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 10 NULL NULL BTREE NO
explain select * from t1,t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
@@ -640,29 +640,29 @@ Error 1146 Table 'test.t3' doesn't exist
drop table t1,t2;
create table t1 (a int, key (a));
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
create table t2 (a int);
set @@rand_seed1=31415926,@@rand_seed2=2718281828;
insert t1 select * from t2;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 1000 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1000 NULL NULL YES BTREE NO
alter table t1 engine=heap;
alter table t1 disable keys;
Warnings:
Note 1031 Storage engine MEMORY of the table `test`.`t1` doesn't have this option
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a NULL 500 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL 500 NULL NULL YES HASH NO
drop table t1,t2;
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
@@ -740,16 +740,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
set aria_stats_method=nulls_equal;
set @save_use_stat_tables= @@use_stat_tables;
set @@use_stat_tables= COMPLEMENTARY;
@@ -763,16 +763,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
set @@use_stat_tables= @save_use_stat_tables;
set aria_stats_method=DEFAULT;
show variables like 'aria_stats_method';
@@ -785,16 +785,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
drop table t1;
set aria_stats_method=nulls_ignored;
show variables like 'aria_stats_method';
@@ -815,22 +815,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
delete from t1;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
set @@use_stat_tables= @save_use_stat_tables;
set aria_stats_method=DEFAULT;
drop table t1;
@@ -1706,13 +1706,13 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
alter table t1 disable keys;
alter table t1 enable keys;
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
drop table t1;
connect session1,localhost,root,,;
connect session2,localhost,root,,;
diff --git a/mysql-test/suite/rpl/r/rpl_ddl.result b/mysql-test/suite/rpl/r/rpl_ddl.result
index 22ce9a288c1..27d84fea1e4 100644
--- a/mysql-test/suite/rpl/r/rpl_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_ddl.result
@@ -790,10 +790,10 @@ MAX(f1)
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
connection master;
SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
connection slave;
SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
connection master;
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
@@ -833,12 +833,12 @@ MAX(f1)
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
connection master;
SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE NO
connection slave;
SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE NO
connection master;
######## DROP DATABASE mysqltest2 ########
diff --git a/mysql-test/suite/s3/mysqldump.result b/mysql-test/suite/s3/mysqldump.result
index 995cbf5bc63..1c5b3018e06 100644
--- a/mysql-test/suite/s3/mysqldump.result
+++ b/mysql-test/suite/s3/mysqldump.result
@@ -34,7 +34,7 @@ ATER TABLE `t1` ENGINE=S3;
<table_structure name="t1">
<field Field="pk" Type="int(11)" Null="NO" Key="PRI" Extra="" Comment="" />
<field Field="a" Type="int(11)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="pk" Collation="A" Cardinality="4" Null="" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="pk" Collation="A" Cardinality="4" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
<options Name="t1" Engine="Aria" Version="10" Row_format="Page" Rows="4" Avg_row_length="4096" Data_length="16384" Max_data_length="17592186011648" Index_length="16384" Data_free="0" Create_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" Max_index_length="9007199254732800" Temporary="N" />
</table_structure>
<table_data name="t1">
diff --git a/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result b/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
index 1de1d195460..3a9ba22b6ee 100644
--- a/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
+++ b/mysql-test/suite/sys_vars/r/myisam_stats_method_func.result
@@ -23,16 +23,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
INSERT INTO t1 VALUES (11);
DELETE FROM t1 WHERE a = 11;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
'Set nulls to be equal'
SET myisam_stats_method = nulls_equal;
set @save_use_stat_tables= @@use_stat_tables;
@@ -44,16 +44,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
INSERT INTO t1 VALUES (11);
DELETE FROM t1 WHERE a = 11;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
'Set nulls to be ignored'
SET myisam_stats_method = nulls_ignored;
SHOW VARIABLES LIKE 'myisam_stats_method';
@@ -73,22 +73,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
DELETE FROM t1;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
SET myisam_stats_method = DEFAULT;
set @@use_stat_tables= @save_use_stat_tables;
DROP TABLE t1;
diff --git a/mysql-test/suite/vcol/r/vcol_keys_myisam.result b/mysql-test/suite/vcol/r/vcol_keys_myisam.result
index 1e6c854e0d9..8b89da987a1 100644
--- a/mysql-test/suite/vcol/r/vcol_keys_myisam.result
+++ b/mysql-test/suite/vcol/r/vcol_keys_myisam.result
@@ -268,9 +268,9 @@ check table t1 extended;
Table Op Msg_type Msg_text
test.t1 check status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 999 NULL NULL YES BTREE
-t1 1 i 1 d A 999 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 999 NULL NULL YES BTREE NO
+t1 1 i 1 d A 999 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
@@ -280,9 +280,9 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 998 NULL NULL YES BTREE
-t1 1 i 1 d A 998 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 998 NULL NULL YES BTREE NO
+t1 1 i 1 d A 998 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
@@ -290,9 +290,9 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A 998 NULL NULL YES BTREE
-t1 1 i 1 d A 998 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 998 NULL NULL YES BTREE NO
+t1 1 i 1 d A 998 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
diff --git a/sql/handler.cc b/sql/handler.cc
index 751a9cd0a97..8792c02194d 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -110,7 +110,7 @@ static handlerton *installed_htons[128];
#define BITMAP_STACKBUF_SIZE (128/8)
KEY_CREATE_INFO default_key_create_info=
-{ HA_KEY_ALG_UNDEF, 0, 0, {NullS, 0}, {NullS, 0}, true };
+{ HA_KEY_ALG_UNDEF, 0, 0, {NullS, 0}, {NullS, 0}, true, false };
/* number of entries in handlertons[] */
ulong total_ha= 0;
@@ -4885,7 +4885,8 @@ handler::check_if_supported_inplace_alter(TABLE *altered_table,
ALTER_PARTITIONED |
ALTER_VIRTUAL_GCOL_EXPR |
ALTER_RENAME |
- ALTER_RENAME_INDEX;
+ ALTER_RENAME_INDEX |
+ ALTER_INDEX_IGNORABILITY;
/* Is there at least one operation that requires copy algorithm? */
if (ha_alter_info->handler_flags & ~inplace_offline_operations)
@@ -4933,6 +4934,7 @@ Alter_inplace_info::Alter_inplace_info(HA_CREATE_INFO *create_info_arg,
index_drop_buffer(nullptr),
index_add_count(0),
index_add_buffer(nullptr),
+ index_altered_ignorability_count(0),
rename_keys(current_thd->mem_root),
handler_ctx(nullptr),
group_commit_ctx(nullptr),
diff --git a/sql/handler.h b/sql/handler.h
index 777a6b455ef..f9b63dd7564 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -781,6 +781,12 @@ typedef bool Log_func(THD*, TABLE*, bool, const uchar*, const uchar*);
*/
#define ALTER_COLUMN_INDEX_LENGTH (1ULL << 60)
+
+/**
+ Means that the ignorability of an index is changed.
+*/
+#define ALTER_INDEX_IGNORABILITY (1ULL << 61)
+
/*
Flags set in partition_flags when altering partitions
*/
@@ -2353,6 +2359,26 @@ struct Table_specification_st: public HA_CREATE_INFO,
/**
+ Structure describing changes to an index to be caused by ALTER TABLE.
+*/
+
+struct KEY_PAIR
+{
+ /**
+ Pointer to KEY object describing old version of index in
+ TABLE::key_info array for TABLE instance representing old
+ version of table.
+ */
+ KEY *old_key;
+ /**
+ Pointer to KEY object describing new version of index in
+ Alter_inplace_info::key_info_buffer array.
+ */
+ KEY *new_key;
+};
+
+
+/**
In-place alter handler context.
This is a superclass intended to be subclassed by individual handlers
@@ -2451,6 +2477,11 @@ public:
*/
uint *index_add_buffer;
+ KEY_PAIR *index_altered_ignorability_buffer;
+
+ /** Size of index_altered_ignorability_buffer array. */
+ uint index_altered_ignorability_count;
+
/**
Old and new index names. Used for index rename.
*/
@@ -2559,6 +2590,18 @@ public:
*/
void report_unsupported_error(const char *not_supported,
const char *try_instead) const;
+ void add_altered_index_ignorability(KEY *old_key, KEY *new_key)
+ {
+ KEY_PAIR *key_pair= index_altered_ignorability_buffer +
+ index_altered_ignorability_count++;
+ key_pair->old_key= old_key;
+ key_pair->new_key= new_key;
+ DBUG_PRINT("info", ("index had ignorability altered: %i to %i",
+ old_key->is_ignored,
+ new_key->is_ignored));
+ }
+
+
};
@@ -2575,6 +2618,7 @@ typedef struct st_key_create_information
directly by the user (set by the parser).
*/
bool check_for_duplicate_indexes;
+ bool is_ignored;
} KEY_CREATE_INFO;
diff --git a/sql/item_func.cc b/sql/item_func.cc
index e133fead665..a0ef4020aae 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -6293,7 +6293,7 @@ bool Item_func_match::fix_index()
{
if ((table->key_info[keynr].flags & HA_FULLTEXT) &&
(flags & FT_BOOL ? table->keys_in_use_for_query.is_set(keynr) :
- table->s->keys_in_use.is_set(keynr)))
+ table->s->usable_indexes(table->in_use).is_set(keynr)))
{
ft_to_key[fts]=keynr;
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt
index add46a4cc75..badaaa17716 100644
--- a/sql/share/errmsg-utf8.txt
+++ b/sql/share/errmsg-utf8.txt
@@ -7971,3 +7971,5 @@ ER_NOT_ALLOWED_IN_THIS_CONTEXT
eng "'%-.128s' is not allowed in this context"
ER_DATA_WAS_COMMITED_UNDER_ROLLBACK
eng "Engine %s does not support rollback. Changes were committed during rollback call"
+ER_PK_INDEX_CANT_BE_IGNORED
+ eng "A primary key cannot be marked as IGNORE"
diff --git a/sql/sql_alter.cc b/sql/sql_alter.cc
index 0184f6beaf4..c890a8aa561 100644
--- a/sql/sql_alter.cc
+++ b/sql/sql_alter.cc
@@ -27,6 +27,7 @@ Alter_info::Alter_info(const Alter_info &rhs, MEM_ROOT *mem_root)
key_list(rhs.key_list, mem_root),
alter_rename_key_list(rhs.alter_rename_key_list, mem_root),
create_list(rhs.create_list, mem_root),
+ alter_index_ignorability_list(rhs.alter_index_ignorability_list, mem_root),
check_constraint_list(rhs.check_constraint_list, mem_root),
flags(rhs.flags), partition_flags(rhs.partition_flags),
keys_onoff(rhs.keys_onoff),
diff --git a/sql/sql_alter.h b/sql/sql_alter.h
index 89eb4ebb3e9..1c98ac1651d 100644
--- a/sql/sql_alter.h
+++ b/sql/sql_alter.h
@@ -20,6 +20,7 @@
class Alter_drop;
class Alter_column;
class Alter_rename_key;
+class Alter_index_ignorability;
class Key;
/**
@@ -95,6 +96,8 @@ public:
List<Alter_rename_key> alter_rename_key_list;
// List of columns, used by both CREATE and ALTER TABLE.
List<Create_field> create_list;
+ // Indexes whose ignorability needs to be changed.
+ List<Alter_index_ignorability> alter_index_ignorability_list;
List<Virtual_column_info> check_constraint_list;
// Type of ALTER TABLE operation.
alter_table_operations flags;
@@ -129,6 +132,7 @@ public:
key_list.empty();
alter_rename_key_list.empty();
create_list.empty();
+ alter_index_ignorability_list.empty();
check_constraint_list.empty();
flags= 0;
partition_flags= 0;
diff --git a/sql/sql_class.h b/sql/sql_class.h
index bf7f26527b0..ff743519b1f 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -381,6 +381,29 @@ public:
};
+/* An ALTER INDEX operation that changes the ignorability of an index. */
+class Alter_index_ignorability: public Sql_alloc
+{
+public:
+ Alter_index_ignorability(const char *name, bool is_ignored) :
+ m_name(name), m_is_ignored(is_ignored)
+ {
+ assert(name != NULL);
+ }
+
+ const char *name() const { return m_name; }
+
+ /* The ignorability after the operation is performed. */
+ bool is_ignored() const { return m_is_ignored; }
+ Alter_index_ignorability *clone(MEM_ROOT *mem_root) const
+ { return new (mem_root) Alter_index_ignorability(*this); }
+
+private:
+ const char *m_name;
+ bool m_is_ignored;
+};
+
+
class Key :public Sql_alloc, public DDL_options {
public:
enum Keytype { PRIMARY, UNIQUE, MULTIPLE, FULLTEXT, SPATIAL, FOREIGN_KEY};
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index b043f83c72c..a9f1e1bacef 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2493,6 +2493,9 @@ static void store_key_options(THD *thd, String *packet, TABLE *table,
append_unescaped(packet, key_info->comment.str,
key_info->comment.length);
}
+
+ if (key_info->is_ignored)
+ packet->append(STRING_WITH_LEN(" IGNORED"));
}
}
@@ -6724,6 +6727,12 @@ static int get_schema_stat_record(THD *thd, TABLE_LIST *tables,
if (key_info->flags & HA_USES_COMMENT)
table->field[15]->store(key_info->comment.str,
key_info->comment.length, cs);
+
+ // IGNORED column
+ const char *is_ignored= key_info->is_ignored ? "YES" : "NO";
+ table->field[16]->store(is_ignored, strlen(is_ignored), cs);
+ table->field[16]->set_notnull();
+
if (schema_table_store_record(thd, table))
DBUG_RETURN(1);
}
@@ -9095,6 +9104,7 @@ ST_FIELD_INFO stat_fields_info[]=
Column("COMMENT", Varchar(16), NULLABLE, "Comment", OPEN_FRM_ONLY),
Column("INDEX_COMMENT", Varchar(INDEX_COMMENT_MAXLEN),
NOT_NULL, "Index_comment",OPEN_FRM_ONLY),
+ Column("IGNORED", Varchar(3), NOT_NULL, "Ignored", OPEN_FRM_ONLY),
CEnd()
};
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index c9e21e36b45..730aaf318ba 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -4445,7 +4445,7 @@ without_overlaps_err:
}
create_info->period_info.unique_keys++;
}
-
+ key_info->is_ignored= key->key_create_info.is_ignored;
key_info++;
}
@@ -7043,6 +7043,33 @@ Compare_keys compare_keys_but_name(const KEY *table_key, const KEY *new_key,
return result;
}
+
+/**
+ Look-up KEY object by index name using case-insensitive comparison.
+
+ @param key_name Index name.
+ @param key_start Start of array of KEYs for table.
+ @param key_end End of array of KEYs for table.
+
+ @note Case-insensitive comparison is necessary to correctly
+ handle renaming of keys.
+
+ @retval non-NULL - pointer to KEY object for index found.
+ @retval NULL - no index with such name found (or it is marked
+ as renamed).
+*/
+
+static KEY *find_key_ci(const char *key_name, KEY *key_start, KEY *key_end)
+{
+ for (KEY *key = key_start; key < key_end; key++)
+ {
+ if (!my_strcasecmp(system_charset_info, key_name, key->name.str))
+ return key;
+ }
+ return NULL;
+}
+
+
/**
Compare original and new versions of a table and fill Alter_inplace_info
describing differences between those versions.
@@ -7102,7 +7129,10 @@ static bool fill_alter_inplace_info(THD *thd, TABLE *table, bool varchar,
! (ha_alter_info->index_add_buffer=
(uint*) thd->alloc(sizeof(uint) *
alter_info->key_list.elements)) ||
- ha_alter_info->rename_keys.reserve(ha_alter_info->index_add_count))
+ ha_alter_info->rename_keys.reserve(ha_alter_info->index_add_count) ||
+ ! (ha_alter_info->index_altered_ignorability_buffer=
+ (KEY_PAIR*)thd->alloc(sizeof(KEY_PAIR) *
+ alter_info->alter_index_ignorability_list.elements)))
DBUG_RETURN(true);
/*
@@ -7507,6 +7537,29 @@ static bool fill_alter_inplace_info(THD *thd, TABLE *table, bool varchar,
}
}
+ List_iterator<Alter_index_ignorability>
+ ignorability_index_it(alter_info->alter_index_ignorability_list);
+ Alter_index_ignorability *alter_index_ignorability;
+ while((alter_index_ignorability= ignorability_index_it++))
+ {
+ const char *name= alter_index_ignorability->name();
+
+ KEY *old_key, *new_key;
+ old_key= find_key_ci(name, table->key_info, table_key_end);
+ new_key= find_key_ci(name, ha_alter_info->key_info_buffer, new_key_end);
+
+ DBUG_ASSERT(old_key != NULL);
+
+ if (new_key == NULL)
+ {
+ my_error(ER_KEY_DOES_NOT_EXISTS, MYF(0), name, table->s->table_name.str);
+ DBUG_RETURN(true);
+ }
+ new_key->is_ignored= alter_index_ignorability->is_ignored();
+ ha_alter_info->handler_flags|= ALTER_RENAME_INDEX;
+ ha_alter_info->add_altered_index_ignorability(old_key, new_key);
+ }
+
/*
Sort index_add_buffer according to how key_info_buffer is sorted.
I.e. with primary keys first - see sort_keys().
@@ -8341,6 +8394,17 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
/* New key definitions are added here */
List<Key> new_key_list;
List<Alter_rename_key> rename_key_list(alter_info->alter_rename_key_list);
+
+ /*
+ Create a deep copy of the list of visibility for indexes, as it will be
+ altered here.
+ */
+ List<Alter_index_ignorability>
+ alter_index_ignorability_list(alter_info->alter_index_ignorability_list,
+ thd->mem_root);
+
+ list_copy_and_replace_each_value(alter_index_ignorability_list, thd->mem_root);
+
List_iterator<Alter_drop> drop_it(alter_info->drop_list);
List_iterator<Create_field> def_it(alter_info->create_list);
List_iterator<Alter_column> alter_it(alter_info->alter_list);
@@ -8808,6 +8872,18 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
continue;
}
+ List_iterator<Alter_index_ignorability>
+ ignorability_index_it(alter_index_ignorability_list);
+
+ Alter_index_ignorability *index_ignorability;
+ while((index_ignorability= ignorability_index_it++))
+ {
+ const char* name= index_ignorability->name();
+ if (!my_strcasecmp(system_charset_info, key_name, name))
+ ignorability_index_it.remove();
+ }
+
+
/* If this index is to stay in the table check if it has to be renamed. */
List_iterator<Alter_rename_key> rename_key_it(rename_key_list);
Alter_rename_key *rename_key;
@@ -8956,6 +9032,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
key_create_info.parser_name= *plugin_name(key_info->parser);
if (key_info->flags & HA_USES_COMMENT)
key_create_info.comment= key_info->comment;
+ key_create_info.is_ignored= key_info->is_ignored;
/*
We're refreshing an already existing index. Since the index is not
@@ -8987,6 +9064,24 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
else
key_type= Key::MULTIPLE;
+ List_iterator<Alter_index_ignorability>
+ ignorability_index_it(alter_info->alter_index_ignorability_list);
+ Alter_index_ignorability *index_ignorability;
+ while((index_ignorability= ignorability_index_it++))
+ {
+ const char *name= index_ignorability->name();
+ if (!my_strcasecmp(system_charset_info, key_name, name))
+ {
+ if (table->s->primary_key <= MAX_KEY &&
+ table->key_info + table->s->primary_key == key_info)
+ {
+ my_error(ER_PK_INDEX_CANT_BE_IGNORED, MYF(0));
+ goto err;
+ }
+ key_create_info.is_ignored= index_ignorability->is_ignored();
+ }
+ }
+
tmp_name.str= key_name;
tmp_name.length= strlen(key_name);
/* We dont need LONG_UNIQUE_HASH_FIELD flag because it will be autogenerated */
@@ -9181,6 +9276,14 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
goto err;
}
+ if (alter_index_ignorability_list.elements)
+ {
+ my_error(ER_KEY_DOES_NOT_EXISTS, MYF(0),
+ alter_index_ignorability_list.head()->name(),
+ table->s->table_name.str);
+ goto err;
+ }
+
if (!create_info->comment.str)
{
create_info->comment.str= table->s->comment.str;
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 69d2aa9f470..5a18f62e6e6 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -1388,6 +1388,7 @@ End SQL_MODE_ORACLE_SPECIFIC */
case_stmt_body opt_bin_mod opt_for_system_time_clause
opt_if_exists_table_element opt_if_not_exists_table_element
opt_recursive opt_format_xid opt_for_portion_of_time_clause
+ ignorability
%type <object_ddl_options>
create_or_replace
@@ -7031,7 +7032,11 @@ all_key_opt:
{ Lex->last_key->key_create_info.comment= $2; }
| VISIBLE_SYM
{
- /* This is mainly for MySQL 8.0 compatiblity */
+ /* This is mainly for MySQL 8.0 compatibility */
+ }
+ | ignorability
+ {
+ Lex->last_key->key_create_info.is_ignored= $1;
}
| IDENT_sys equal TEXT_STRING_sys
{
@@ -7089,6 +7094,11 @@ btree_or_rtree:
| HASH_SYM { $$= HA_KEY_ALG_HASH; }
;
+ignorability:
+ IGNORE_SYM { $$= true; }
+ | NOT_SYM IGNORE_SYM { $$= false; }
+ ;
+
key_list:
key_list ',' key_part order_dir
{
@@ -7783,6 +7793,16 @@ alter_list_item:
if (unlikely(Lex->add_alter_list($4, $7, $3)))
MYSQL_YYABORT;
}
+ | ALTER INDEX_SYM ident ignorability
+ {
+ LEX *lex= Lex;
+ Alter_index_ignorability *ac= new (thd->mem_root)
+ Alter_index_ignorability($3.str, $4);
+ if (ac == NULL)
+ MYSQL_YYABORT;
+ lex->alter_info.alter_index_ignorability_list.push_back(ac);
+ lex->alter_info.flags|= ALTER_INDEX_IGNORABILITY;
+ }
| ALTER opt_column opt_if_exists_table_element field_ident DROP DEFAULT
{
if (unlikely(Lex->add_alter_list($4, (Virtual_column_info*) 0, $3)))
diff --git a/sql/structs.h b/sql/structs.h
index bcd38ffbdd6..e862890be9c 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -165,6 +165,10 @@ typedef struct st_key {
double actual_rec_per_key(uint i);
bool without_overlaps;
+ /*
+ TRUE if index needs to be ignored
+ */
+ bool is_ignored;
} KEY;
diff --git a/sql/table.cc b/sql/table.cc
index f4bdbdeac5a..04ff4e5b357 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -72,6 +72,7 @@ struct extra2_fields
LEX_CUSTRING application_period;
LEX_CUSTRING field_data_type_info;
LEX_CUSTRING without_overlaps;
+ LEX_CUSTRING index_flags;
void reset()
{ bzero((void*)this, sizeof(*this)); }
};
@@ -1423,6 +1424,35 @@ void TABLE_SHARE::set_overlapped_keys()
}
+/*
+ @brief
+ Set of indexes that are marked as IGNORE.
+*/
+
+void TABLE_SHARE::set_ignored_indexes()
+{
+ KEY *keyinfo= key_info;
+ for (uint i= 0; i < keys; i++, keyinfo++)
+ {
+ if (keyinfo->is_ignored)
+ ignored_indexes.set_bit(i);
+ }
+}
+
+
+/*
+ @brief
+ Set of indexes that the optimizer may use when creating an execution plan.
+*/
+
+key_map TABLE_SHARE::usable_indexes(THD *thd)
+{
+ key_map usable_indexes(keys_in_use);
+ usable_indexes.subtract(ignored_indexes);
+ return usable_indexes;
+}
+
+
bool Item_field::check_index_dependence(void *arg)
{
TABLE *table= (TABLE *)arg;
@@ -1590,6 +1620,9 @@ bool read_extra2(const uchar *frm_image, size_t len, extra2_fields *fields)
case EXTRA2_FIELD_DATA_TYPE_INFO:
fail= read_extra2_section_once(extra2, length, &fields->field_data_type_info);
break;
+ case EXTRA2_INDEX_FLAGS:
+ fail= read_extra2_section_once(extra2, length, &fields->index_flags);
+ break;
default:
/* abort frm parsing if it's an unknown but important extra2 value */
if (type >= EXTRA2_ENGINE_IMPORTANT)
@@ -1748,6 +1781,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
MEM_ROOT *old_root= thd->mem_root;
Virtual_column_info **table_check_constraints;
extra2_fields extra2;
+ bool extra_index_flags_present= FALSE;
DBUG_ENTER("TABLE_SHARE::init_from_binary_frm_image");
keyinfo= &first_keyinfo;
@@ -1902,9 +1936,13 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
share->key_parts= key_parts= disk_buff[1];
}
share->keys_for_keyread.init(0);
+ share->ignored_indexes.init(0);
share->keys_in_use.init(keys);
ext_key_parts= key_parts;
+ if (extra2.index_flags.str && extra2.index_flags.length != keys)
+ goto err;
+
len= (uint) uint2korr(disk_buff+4);
share->reclength = uint2korr(frm_image+16);
@@ -2100,9 +2138,26 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
}
share->key_block_size= uint2korr(frm_image+62);
keyinfo= share->key_info;
+
+
+ if (extra2.index_flags.str)
+ extra_index_flags_present= TRUE;
+
for (uint i= 0; i < share->keys; i++, keyinfo++)
+ {
+ if (extra_index_flags_present)
+ {
+ uchar flags= *extra2.index_flags.str++;
+ keyinfo->is_ignored= (flags & EXTRA2_IGNORED_KEY);
+ }
+ else
+ keyinfo->is_ignored= FALSE;
+
if (keyinfo->algorithm == HA_KEY_ALG_LONG_HASH)
hash_fields++;
+ }
+
+ share->set_ignored_indexes();
#ifdef WITH_PARTITION_STORAGE_ENGINE
if (par_image && plugin_data(se_plugin, handlerton*) == partition_hton)
@@ -2780,6 +2835,33 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
}
}
+ /*
+ Make sure that the primary key is not marked as IGNORE
+ This can happen in the case
+ 1) when IGNORE is mentioned in the Key specification
+ 2) When a unique NON-NULLABLE key is promted to a primary key.
+ The unqiue key could have been marked as IGNORE when there
+ was a primary key in the table.
+
+ Eg:
+ CREATE TABLE t1(a INT NOT NULL, primary key(a), UNIQUE key1(a))
+ so for this table when we try to IGNORE key1
+ then we run:
+ ALTER TABLE t1 ALTER INDEX key1 IGNORE
+ this runs successsfully and key1 is marked as IGNORE.
+
+ But lets say then we drop the primary key
+ ALTER TABLE t1 DROP PRIMARY
+ then the UNIQUE key will be promoted to become the primary key
+ but then the UNIQUE key cannot be marked as IGNORE, so an
+ error is thrown
+ */
+ if (primary_key != MAX_KEY && keyinfo && keyinfo->is_ignored)
+ {
+ my_error(ER_PK_INDEX_CANT_BE_IGNORED, MYF(0));
+ goto err;
+ }
+
if (share->use_ext_keys)
{
if (primary_key >= MAX_KEY)
@@ -8248,7 +8330,7 @@ bool TABLE_LIST::process_index_hints(TABLE *tbl)
{
/* initialize the result variables */
tbl->keys_in_use_for_query= tbl->keys_in_use_for_group_by=
- tbl->keys_in_use_for_order_by= tbl->s->keys_in_use;
+ tbl->keys_in_use_for_order_by= tbl->s->usable_indexes(tbl->in_use);
/* index hint list processing */
if (index_hints)
@@ -8302,7 +8384,8 @@ bool TABLE_LIST::process_index_hints(TABLE *tbl)
*/
if (tbl->s->keynames.type_names == 0 ||
(pos= find_type(&tbl->s->keynames, hint->key_name.str,
- hint->key_name.length, 1)) <= 0)
+ hint->key_name.length, 1)) <= 0 ||
+ (tbl->s->key_info[pos - 1].is_ignored))
{
my_error(ER_KEY_DOES_NOT_EXISTS, MYF(0), hint->key_name.str, alias.str);
return 1;
diff --git a/sql/table.h b/sql/table.h
index 27fff0dd18a..c69fe72456e 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -764,6 +764,10 @@ struct TABLE_SHARE
Excludes keys disabled by ALTER TABLE ... DISABLE KEYS.
*/
key_map keys_in_use;
+
+ /* The set of ignored indexes for a table. */
+ key_map ignored_indexes;
+
key_map keys_for_keyread;
ha_rows min_rows, max_rows; /* create information */
ulong avg_row_length; /* create information */
@@ -1151,6 +1155,8 @@ struct TABLE_SHARE
void free_frm_image(const uchar *frm);
void set_overlapped_keys();
+ void set_ignored_indexes();
+ key_map usable_indexes(THD *thd);
};
/* not NULL, but cannot be dereferenced */
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 51c4eeb4a4c..29348bfcec3 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -119,6 +119,20 @@ static uchar *extra2_write_field_properties(uchar *pos,
return pos;
}
+static uchar *extra2_write_index_properties(uchar *pos, const KEY *keyinfo,
+ uint keys)
+{
+ *pos++= EXTRA2_INDEX_FLAGS;
+ pos= extra2_write_len(pos, keys);
+ for (uint i=0; i < keys; i++)
+ {
+ *pos++= keyinfo[i].is_ignored ?
+ EXTRA2_IGNORED_KEY :
+ EXTRA2_DEFAULT_INDEX_FLAGS;
+ }
+ return pos;
+}
+
static uint16
get_fieldno_by_name(HA_CREATE_INFO *create_info, List<Create_field> &create_fields,
const Lex_ident &field_name)
@@ -403,6 +417,14 @@ LEX_CUSTRING build_frm_image(THD *thd, const LEX_CSTRING &table,
extra2_size+= 1 + extra2_str_size(create_fields.elements);
}
+ /*
+ To store the ignorability flag for each key.
+ Here 1 bytes is reserved to store the extra index flags for keys.
+ Currently only 1 bit is used, rest of the bits can be used in the future
+ */
+ if (keys)
+ extra2_size+= 1 + extra2_str_size(keys);
+
for (i= 0; i < keys; i++)
if (key_info[i].algorithm == HA_KEY_ALG_LONG_HASH)
e_unique_hash_extra_parts++;
@@ -519,6 +541,10 @@ LEX_CUSTRING build_frm_image(THD *thd, const LEX_CSTRING &table,
if (has_extra2_field_flags_)
pos= extra2_write_field_properties(pos, create_fields);
+
+ if (keys)
+ pos= extra2_write_index_properties(pos, key_info, keys);
+
int4store(pos, filepos); // end of the extra2 segment
pos+= 4;
diff --git a/sql/unireg.h b/sql/unireg.h
index dbff9ff77f8..0edb0a50ebd 100644
--- a/sql/unireg.h
+++ b/sql/unireg.h
@@ -173,6 +173,7 @@ enum extra2_frm_value_type {
EXTRA2_GIS=2,
EXTRA2_APPLICATION_TIME_PERIOD=3,
EXTRA2_PERIOD_FOR_SYSTEM_TIME=4,
+ EXTRA2_INDEX_FLAGS=5,
#define EXTRA2_ENGINE_IMPORTANT 128
@@ -186,6 +187,11 @@ enum extra2_field_flags {
VERS_OPTIMIZED_UPDATE= 1 << INVISIBLE_MAX_BITS,
};
+enum extra2_index_flags {
+ EXTRA2_DEFAULT_INDEX_FLAGS,
+ EXTRA2_IGNORED_KEY
+};
+
LEX_CUSTRING build_frm_image(THD *thd, const LEX_CSTRING &table,
HA_CREATE_INFO *create_info,
List<Create_field> &create_fields,
diff --git a/storage/connect/mysql-test/connect/r/alter.result b/storage/connect/mysql-test/connect/r/alter.result
index 77d775220ec..7de43c88329 100644
--- a/storage/connect/mysql-test/connect/r/alter.result
+++ b/storage/connect/mysql-test/connect/r/alter.result
@@ -20,12 +20,12 @@ CREATE INDEX xd ON t1(d);
DROP INDEX xd ON t1;
ALTER TABLE t1 ADD INDEX xc (c), ADD INDEX xd (d);
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 xc 1 c A NULL NULL NULL XINDEX
-t1 1 xd 1 d A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 xc 1 c A NULL NULL NULL XINDEX NO
+t1 1 xd 1 d A NULL NULL NULL XINDEX NO
ALTER TABLE t1 DROP INDEX xc, DROP INDEX xd;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
#
# Testing modifying columns inward table (not in-place)
#
@@ -92,9 +92,9 @@ t1 CREATE TABLE `t1` (
KEY `xd` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 xc 1 c A NULL NULL NULL BTREE
-t1 1 xd 1 d A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 xc 1 c A NULL NULL NULL BTREE NO
+t1 1 xd 1 d A NULL NULL NULL BTREE NO
SELECT * FROM t1;
c d
1 One
@@ -110,9 +110,9 @@ t1 CREATE TABLE `t1` (
KEY `xd` (`d`)
) ENGINE=CONNECT DEFAULT CHARSET=latin1 `TABLE_TYPE`=DBF
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 xc 1 c A NULL NULL NULL XINDEX
-t1 1 xd 1 d A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 xc 1 c A NULL NULL NULL XINDEX NO
+t1 1 xd 1 d A NULL NULL NULL XINDEX NO
SELECT * FROM t1;
c d
1 One
@@ -142,15 +142,15 @@ line
#
ALTER TABLE t1 ADD INDEX xc (c), ADD INDEX xd (d);
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 xc 1 c A NULL NULL NULL XINDEX
-t1 1 xd 1 d A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 xc 1 c A NULL NULL NULL XINDEX NO
+t1 1 xd 1 d A NULL NULL NULL XINDEX NO
SELECT d FROM t1 WHERE c = 2;
d
Two
ALTER TABLE t1 DROP INDEX xc, DROP INDEX xd;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
#
# Other alterations do not modify the file
#
diff --git a/storage/connect/mysql-test/connect/r/bson.result b/storage/connect/mysql-test/connect/r/bson.result
index fd15e020aac..8b9a92e4489 100644
--- a/storage/connect/mysql-test/connect/r/bson.result
+++ b/storage/connect/mysql-test/connect/r/bson.result
@@ -191,8 +191,8 @@ INDEX IX(ISBN)
)
ENGINE=CONNECT TABLE_TYPE=BSON FILE_NAME='bib0.json' LRECL=320 OPTION_LIST='Pretty=0';
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 IX 1 ISBN A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 IX 1 ISBN A NULL NULL NULL XINDEX NO
SELECT * FROM t1;
ISBN Language Subject AuthorFN AuthorLN Title Translation TranslatorFN TranslatorLN Publisher Location Year
9782212090819 fr applications Jean-Michel Bernadac Construire une application XML NULL NULL NULL Eyrolles Paris 1999
diff --git a/storage/connect/mysql-test/connect/r/json.result b/storage/connect/mysql-test/connect/r/json.result
index dc527acd4a3..8cc4e66c2ea 100644
--- a/storage/connect/mysql-test/connect/r/json.result
+++ b/storage/connect/mysql-test/connect/r/json.result
@@ -191,8 +191,8 @@ INDEX IX(ISBN)
)
ENGINE=CONNECT TABLE_TYPE=JSON FILE_NAME='bib0.json' LRECL=320 OPTION_LIST='Pretty=0';
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 IX 1 ISBN A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 IX 1 ISBN A NULL NULL NULL XINDEX NO
SELECT * FROM t1;
ISBN Language Subject AuthorFN AuthorLN Title Translation TranslatorFN TranslatorLN Publisher Location Year
9782212090819 fr applications Jean-Michel Bernadac Construire une application XML NULL NULL NULL Eyrolles Paris 1999
diff --git a/storage/connect/mysql-test/connect/r/part_file.result b/storage/connect/mysql-test/connect/r/part_file.result
index 3dabd946b50..79a7cac0f29 100644
--- a/storage/connect/mysql-test/connect/r/part_file.result
+++ b/storage/connect/mysql-test/connect/r/part_file.result
@@ -99,8 +99,8 @@ PARTITION `1` VALUES LESS THAN(10),
PARTITION `2` VALUES LESS THAN(50),
PARTITION `3` VALUES LESS THAN(MAXVALUE));
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A NULL NULL NULL XINDEX NO
INSERT INTO t1(id,msg) VALUES(4, 'four');
SELECT * FROM dr1 ORDER BY fname, ftype;
fname ftype
@@ -294,8 +294,8 @@ part3 .txt
#
CREATE INDEX XID ON t1(id);
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 XID 1 id A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 XID 1 id A NULL NULL NULL XINDEX NO
SELECT * FROM dr1 ORDER BY fname, ftype;
fname ftype
part1 .fnx
@@ -309,7 +309,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 1 ref XID XID 4 const 1
DROP INDEX XID ON t1;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
SELECT * FROM dr1 ORDER BY fname, ftype;
fname ftype
part1 .txt
@@ -317,8 +317,8 @@ part2 .txt
part3 .txt
ALTER TABLE t1 ADD PRIMARY KEY (id);
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A NULL NULL NULL XINDEX
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A NULL NULL NULL XINDEX NO
SELECT * FROM dr1 ORDER BY fname, ftype;
fname ftype
part1 .fnx
@@ -332,7 +332,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 1 const PRIMARY PRIMARY 4 const 1
ALTER TABLE t1 DROP PRIMARY KEY;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
SELECT * FROM dr1 ORDER BY fname, ftype;
fname ftype
part1 .txt
diff --git a/storage/connect/mysql-test/connect/r/part_table.result b/storage/connect/mysql-test/connect/r/part_table.result
index ee17a1d32b9..0cd4f0115a4 100644
--- a/storage/connect/mysql-test/connect/r/part_table.result
+++ b/storage/connect/mysql-test/connect/r/part_table.result
@@ -111,8 +111,8 @@ Warning 1105 Data repartition in 1 is unchecked
Warning 1105 Data repartition in 2 is unchecked
Warning 1105 Data repartition in 3 is unchecked
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id NULL NULL NULL NULL REMOTE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id NULL NULL NULL NULL REMOTE NO
INSERT INTO t1 VALUES(4, 'four');
INSERT INTO t1 VALUES(40, 'forty');
INSERT INTO t1 VALUES(72,'seventy two');
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc
index 0593729caae..bbdb6a429c7 100644
--- a/storage/innobase/handler/handler0alter.cc
+++ b/storage/innobase/handler/handler0alter.cc
@@ -115,7 +115,8 @@ static const alter_table_operations INNOBASE_INPLACE_IGNORE
| ALTER_DROP_CHECK_CONSTRAINT
| ALTER_RENAME
| ALTER_COLUMN_INDEX_LENGTH
- | ALTER_CHANGE_INDEX_COMMENT;
+ | ALTER_CHANGE_INDEX_COMMENT
+ | ALTER_INDEX_IGNORABILITY;
/** Operations on foreign key definitions (changing the schema only) */
static const alter_table_operations INNOBASE_FOREIGN_OPERATIONS
@@ -1998,7 +1999,8 @@ ha_innobase::check_if_supported_inplace_alter(
& ~(INNOBASE_INPLACE_IGNORE
| INNOBASE_ALTER_INSTANT
| INNOBASE_ALTER_NOREBUILD
- | INNOBASE_ALTER_REBUILD)) {
+ | INNOBASE_ALTER_REBUILD
+ | ALTER_INDEX_IGNORABILITY)) {
if (ha_alter_info->handler_flags
& ALTER_STORED_COLUMN_TYPE) {
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/cardinality.result b/storage/rocksdb/mysql-test/rocksdb/r/cardinality.result
index dcaca8b72bc..485f3045348 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/cardinality.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/cardinality.result
@@ -52,36 +52,36 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
show index in t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A 100000 NULL NULL LSMTREE
-t1 1 t1_1 1 id A 100000 NULL NULL LSMTREE
-t1 1 t1_1 2 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_2 1 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_2 2 i2 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_3 1 i2 A 11111 NULL NULL YES LSMTREE
-t1 1 t1_3 2 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_4 1 c1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_4 2 c2 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_5 1 c2 A 11111 NULL NULL YES LSMTREE
-t1 1 t1_5 2 c1 A 100000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 100000 NULL NULL LSMTREE NO
+t1 1 t1_1 1 id A 100000 NULL NULL LSMTREE NO
+t1 1 t1_1 2 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_2 1 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_2 2 i2 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_3 1 i2 A 11111 NULL NULL YES LSMTREE NO
+t1 1 t1_3 2 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_4 1 c1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_4 2 c2 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_5 1 c2 A 11111 NULL NULL YES LSMTREE NO
+t1 1 t1_5 2 c1 A 100000 NULL NULL YES LSMTREE NO
SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = DATABASE();
table_name table_rows
t1 100000
restarting...
# restart
show index in t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 id A 100000 NULL NULL LSMTREE
-t1 1 t1_1 1 id A 100000 NULL NULL LSMTREE
-t1 1 t1_1 2 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_2 1 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_2 2 i2 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_3 1 i2 A 11111 NULL NULL YES LSMTREE
-t1 1 t1_3 2 i1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_4 1 c1 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_4 2 c2 A 100000 NULL NULL YES LSMTREE
-t1 1 t1_5 1 c2 A 11111 NULL NULL YES LSMTREE
-t1 1 t1_5 2 c1 A 100000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 100000 NULL NULL LSMTREE NO
+t1 1 t1_1 1 id A 100000 NULL NULL LSMTREE NO
+t1 1 t1_1 2 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_2 1 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_2 2 i2 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_3 1 i2 A 11111 NULL NULL YES LSMTREE NO
+t1 1 t1_3 2 i1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_4 1 c1 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_4 2 c2 A 100000 NULL NULL YES LSMTREE NO
+t1 1 t1_5 1 c2 A 11111 NULL NULL YES LSMTREE NO
+t1 1 t1_5 2 c1 A 100000 NULL NULL YES LSMTREE NO
SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = DATABASE();
table_name table_rows
t1 100000
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/drop_index_inplace.result b/storage/rocksdb/mysql-test/rocksdb/r/drop_index_inplace.result
index 668f7e8f47e..0c66b405196 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/drop_index_inplace.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/drop_index_inplace.result
@@ -83,41 +83,41 @@ a b c
DROP TABLE t1;
CREATE TABLE t1 (a INT, b INT, c INT, KEY kb(b), KEY kbc(b,c), KEY kc(c), PRIMARY KEY(a)) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE
-t1 1 kb 1 b A 0 NULL NULL YES LSMTREE
-t1 1 kbc 1 b A 0 NULL NULL YES LSMTREE
-t1 1 kbc 2 c A 0 NULL NULL YES LSMTREE
-t1 1 kc 1 c A 0 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE NO
+t1 1 kb 1 b A 0 NULL NULL YES LSMTREE NO
+t1 1 kbc 1 b A 0 NULL NULL YES LSMTREE NO
+t1 1 kbc 2 c A 0 NULL NULL YES LSMTREE NO
+t1 1 kc 1 c A 0 NULL NULL YES LSMTREE NO
ALTER TABLE t1 DROP INDEX kb, DROP INDEX kbc, ALGORITHM=INPLACE;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE
-t1 1 kc 1 c A 0 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE NO
+t1 1 kc 1 c A 0 NULL NULL YES LSMTREE NO
ALTER TABLE t1 DROP PRIMARY KEY;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 kc 1 c A 0 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 kc 1 c A 0 NULL NULL YES LSMTREE NO
ALTER TABLE t1 DROP INDEX kc, ALGORITHM=INPLACE;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
DROP TABLE t1;
CREATE TABLE t1 (a INT AUTO_INCREMENT, b INT, c INT, PRIMARY KEY(a)) ENGINE=rocksdb;
ALTER TABLE t1 ADD UNIQUE INDEX kb(b);
ALTER TABLE t1 ADD UNIQUE INDEX kbc(b,c);
ALTER TABLE t1 ADD UNIQUE INDEX kc(c);
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE
-t1 0 kb 1 b A 0 NULL NULL YES LSMTREE
-t1 0 kbc 1 b A 0 NULL NULL YES LSMTREE
-t1 0 kbc 2 c A 0 NULL NULL YES LSMTREE
-t1 0 kc 1 c A 0 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE NO
+t1 0 kb 1 b A 0 NULL NULL YES LSMTREE NO
+t1 0 kbc 1 b A 0 NULL NULL YES LSMTREE NO
+t1 0 kbc 2 c A 0 NULL NULL YES LSMTREE NO
+t1 0 kc 1 c A 0 NULL NULL YES LSMTREE NO
ALTER TABLE t1 DROP INDEX kb, DROP INDEX kbc;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE
-t1 0 kc 1 c A 0 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL LSMTREE NO
+t1 0 kc 1 c A 0 NULL NULL YES LSMTREE NO
# restart
INSERT INTO t1 (b,c) VALUES (1,2);
INSERT INTO t1 (b,c) VALUES (3,4);
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/index.result b/storage/rocksdb/mysql-test/rocksdb/r/index.result
index 0920d0e01b2..aaae2c52d1a 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/index.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/index.result
@@ -4,9 +4,9 @@ pk INT PRIMARY KEY,
KEY (a)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -14,10 +14,10 @@ pk INT PRIMARY KEY,
KEY a_b (a,b) COMMENT 'a_b index'
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index
-t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index NO
+t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -26,18 +26,18 @@ KEY (a),
KEY (b)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
-t1 1 b 1 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
+t1 1 b 1 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
INSERT INTO t1 (a,b) VALUES (100,'z');
ALTER TABLE t1 ADD KEY (a) COMMENT 'simple index on a';
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a NO
ALTER TABLE t1 DROP KEY a;
DROP TABLE t1;
set global rocksdb_large_prefix=0;
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/index_key_block_size.result b/storage/rocksdb/mysql-test/rocksdb/r/index_key_block_size.result
index 5b804828e69..4695d94b3fe 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/index_key_block_size.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/index_key_block_size.result
@@ -5,9 +5,9 @@ pk INT PRIMARY KEY,
KEY (a) KEY_BLOCK_SIZE=8
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -15,9 +15,9 @@ pk INT PRIMARY KEY,
KEY ind1(b ASC) KEY_BLOCK_SIZE=0
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 ind1 1 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 ind1 1 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -26,8 +26,8 @@ PRIMARY KEY ind2(b(1) DESC) KEY_BLOCK_SIZE=32768 COMMENT 'big key_block_size val
Warnings:
Warning 1280 Name 'ind2' ignored for PRIMARY key.
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b A # 1 NULL LSMTREE big key_block_size value
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A # 1 NULL LSMTREE big key_block_size value NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -35,10 +35,10 @@ pk INT AUTO_INCREMENT PRIMARY KEY,
KEY a_b(a,b) KEY_BLOCK_SIZE=8192
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a_b 1 a A # NULL NULL YES LSMTREE
-t1 1 a_b 2 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a_b 1 a A # NULL NULL YES LSMTREE NO
+t1 1 a_b 2 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -47,7 +47,7 @@ PRIMARY KEY (b)
INSERT INTO t1 (a,b) VALUES (100,'z');
ALTER TABLE t1 ADD KEY(a) KEY_BLOCK_SIZE 8192;
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/index_primary.result b/storage/rocksdb/mysql-test/rocksdb/r/index_primary.result
index 1f4c88e5a33..79a2526baeb 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/index_primary.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/index_primary.result
@@ -3,8 +3,8 @@ CREATE TABLE t1 (a INT PRIMARY KEY,
b CHAR(8)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL LSMTREE NO
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
INSERT INTO t1 (a,b) VALUES (1,'c');
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
@@ -18,9 +18,9 @@ b CHAR(8),
PRIMARY KEY (a,b)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL LSMTREE
-t1 0 PRIMARY 2 b A # NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL LSMTREE NO
+t1 0 PRIMARY 2 b A # NULL NULL LSMTREE NO
INSERT INTO t1 (a,b) VALUES (1,'a'),(1,'b'),(2,'a'),(2,'b');
INSERT INTO t1 (a,b) VALUES (1,'b');
ERROR 23000: Duplicate entry '1-b' for key 'PRIMARY'
@@ -30,21 +30,21 @@ b CHAR(8),
KEY (b)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A # NULL NULL LSMTREE
-t1 1 b 1 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL LSMTREE NO
+t1 1 b 1 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8) PRIMARY KEY
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b A # NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A # NULL NULL LSMTREE NO
ALTER TABLE t1 ADD CONSTRAINT PRIMARY KEY pk (a);
ERROR 42000: Multiple primary key defined
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b A # NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A # NULL NULL LSMTREE NO
DROP TABLE t1;
set global rocksdb_large_prefix=0;
CREATE TABLE t1 (
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/index_type_btree.result b/storage/rocksdb/mysql-test/rocksdb/r/index_type_btree.result
index 9eaab9f53aa..0fdac385a1b 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/index_type_btree.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/index_type_btree.result
@@ -4,9 +4,9 @@ pk INT PRIMARY KEY,
KEY USING BTREE (a)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -14,10 +14,10 @@ pk INT PRIMARY KEY,
KEY a_b USING BTREE (a,b) COMMENT 'a_b index'
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index
-t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index NO
+t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -26,18 +26,18 @@ KEY USING BTREE (a),
KEY USING BTREE (b)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
-t1 1 b 1 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
+t1 1 b 1 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
INSERT INTO t1 (a,b) VALUES (100,'z');
ALTER TABLE t1 ADD KEY (a) USING BTREE COMMENT 'simple index on a';
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a NO
ALTER TABLE t1 DROP KEY a;
DROP TABLE t1;
set global rocksdb_large_prefix=0;
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/index_type_hash.result b/storage/rocksdb/mysql-test/rocksdb/r/index_type_hash.result
index bc1a96fa726..2a8f29bbe76 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/index_type_hash.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/index_type_hash.result
@@ -4,9 +4,9 @@ pk INT PRIMARY KEY,
KEY USING HASH (a)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -14,10 +14,10 @@ pk INT PRIMARY KEY,
KEY a_b USING HASH (a,b) COMMENT 'a_b index'
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index
-t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a_b 1 a A # NULL NULL YES LSMTREE a_b index NO
+t1 1 a_b 2 b A # NULL NULL YES LSMTREE a_b index NO
DROP TABLE t1;
CREATE TABLE t1 (a INT,
b CHAR(8),
@@ -26,18 +26,18 @@ KEY USING HASH (a),
KEY USING HASH (b)
) ENGINE=rocksdb;
SHOW KEYS IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE
-t1 1 b 1 b A # NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE NO
+t1 1 b 1 b A # NULL NULL YES LSMTREE NO
DROP TABLE t1;
CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=rocksdb;
INSERT INTO t1 (a,b) VALUES (100,'z');
ALTER TABLE t1 ADD KEY (a) USING HASH COMMENT 'simple index on a';
SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE
-t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A # NULL NULL LSMTREE NO
+t1 1 a 1 a A # NULL NULL YES LSMTREE simple index on a NO
ALTER TABLE t1 DROP KEY a;
DROP TABLE t1;
set global rocksdb_large_prefix=0;
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_binary_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_binary_indexes.result
index c5cffdc1a0d..f61b9950c48 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_binary_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_binary_indexes.result
@@ -7,8 +7,8 @@ v16 VARBINARY(16),
v128 VARBINARY(128)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b20 A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b20 A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (b,b20,v16,v128) VALUES ('a','char1','varchar1a','varchar1b'),('a','char2','varchar2a','varchar2b'),('b','char3','varchar1a','varchar1b'),('c','char4','varchar3a','varchar3b');
EXPLAIN SELECT HEX(b20) FROM t1 ORDER BY b20;
id select_type table type possible_keys key key_len ref rows Extra
@@ -37,9 +37,9 @@ pk VARBINARY(10) PRIMARY KEY,
INDEX (v16(10))
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 v16 1 v16 A 500 10 NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 v16 1 v16 A 500 10 NULL YES LSMTREE NO
INSERT INTO t1 (b,b20,v16,v128,pk) VALUES ('a','char1','varchar1a','varchar1b',1),('a','char2','varchar2a','varchar2b',2),('b','char3','varchar1a','varchar1b',3),('c','char4','varchar3a','varchar3b',4),('d','char5','varchar4a','varchar3b',5),('e','char6','varchar2a','varchar3b',6);
INSERT INTO t1 (b,b20,v16,v128,pk) SELECT b,b20,v16,v128,pk+100 FROM t1;
EXPLAIN SELECT HEX(SUBSTRING(v16,0,3)) FROM t1 WHERE v16 LIKE 'varchar%';
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_bit_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_bit_indexes.result
index 8da878eb0f2..9e28a402c38 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_bit_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_bit_indexes.result
@@ -8,8 +8,8 @@ c BIT(32),
d BIT(64)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 b A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (a,b,c,d) VALUES
(0,0xFFFFF,0,1),(0,256,0xAAA,0x12345),(1,16,0,0xFFFFFFF),(0,11,12,13),
(1,100,101,102),(0,12,13,14),(1,13,14,15),(0,101,201,202),(1,1000,1001,1002),
@@ -40,9 +40,9 @@ pk BIT(10) PRIMARY KEY,
INDEX(a)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 a 1 a A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 a 1 a A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (a,b,c,d,pk) VALUES
(0,0xFFFFF,0,1,1),(0,256,0xAAA,0x12345,2),(1,16,0,0xFFFFFFF,3),(0,11,12,13,4),
(1,100,101,102,5),(0,12,13,14,6),(1,13,14,15,7),(0,101,201,202,8),(1,1000,1001,1002,9),
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_char_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_char_indexes.result
index 3a99e6a1ac8..3c9c30bb617 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_char_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_char_indexes.result
@@ -8,8 +8,8 @@ v16 VARCHAR(16),
v128 VARCHAR(128)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 c20 A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c20 A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (c,c20,v16,v128) VALUES ('a','char1','varchar1a','varchar1b'),('a','char2','varchar2a','varchar2b'),('b','char3','varchar1a','varchar1b'),('c','char4','varchar3a','varchar3b');
EXPLAIN SELECT c20 FROM t1 ORDER BY c20;
id select_type table type possible_keys key key_len ref rows Extra
@@ -39,9 +39,9 @@ pk VARCHAR(64) PRIMARY KEY,
INDEX (v16)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 v16 1 v16 A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 v16 1 v16 A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (c,c20,v16,v128,pk) VALUES ('a','char1','varchar1a','varchar1b','1'),('a','char2','varchar2a','varchar2b','2'),('b','char3','varchar1a','varchar1b','3'),('c','char4','varchar3a','varchar3b','4');
EXPLAIN SELECT SUBSTRING(v16,0,3) FROM t1 WHERE v16 LIKE 'varchar%';
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_date_time_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_date_time_indexes.result
index 77d07035a96..bd40e32f94d 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_date_time_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_date_time_indexes.result
@@ -9,8 +9,8 @@ t TIME,
y YEAR
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 dt A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 dt A 1000 NULL NULL LSMTREE NO
SET @tm = '2012-04-09 05:27:00';
INSERT INTO t1 (d,dt,ts,t,y) VALUES
('2012-01-12', '2010-11-22 12:33:54', '2011-11-14 21:45:55', '00:12:33', '2000'),
@@ -49,9 +49,9 @@ pk TIME PRIMARY KEY,
INDEX (ts)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 ts 1 ts A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 ts 1 ts A 500 NULL NULL YES LSMTREE NO
SET @tm = '2012-04-09 05:27:00';
INSERT INTO t1 (d,dt,ts,t,y,pk) VALUES
('2012-01-12', '2010-11-22 12:33:54', '2011-11-14 21:45:55', '00:12:33', '2000','12:00:00'),
@@ -81,10 +81,10 @@ pk TIME PRIMARY KEY,
INDEX (y,t)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 y 1 y A 250 NULL NULL YES LSMTREE
-t1 1 y 2 t A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 y 1 y A 250 NULL NULL YES LSMTREE NO
+t1 1 y 2 t A 500 NULL NULL YES LSMTREE NO
SET @tm = '2012-04-09 05:27:00';
INSERT INTO t1 (d,dt,ts,t,y,pk) VALUES
('2012-01-12', '2010-11-22 12:33:54', '2011-11-14 21:45:55', '00:12:33', '2000','18:18:18'),
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_enum_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_enum_indexes.result
index 70bbc840454..b0bcfd7075c 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_enum_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_enum_indexes.result
@@ -10,8 +10,8 @@ INSERT INTO t1 (a,b,c) VALUES
('N.America','test1','5a'),('Europe','test1','5b'),('Europe','test2','6v'),
('Africa','test3','4z'),('Africa','test4','1j'),('Antarctica','test4','1d');
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 c A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c A 1000 NULL NULL LSMTREE NO
EXPLAIN SELECT c FROM t1 WHERE c BETWEEN '1d' AND '6u';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY PRIMARY 1 NULL # Using where; Using index
@@ -44,9 +44,9 @@ INSERT INTO t1 (a,b,c,pk) VALUES
('N.America','test1','5a',1),('Europe','test1','5b',2),('Europe','test2','6v',3),
('Africa','test3','4z',4),('Africa','test4','1j',5),('Antarctica','test4','1d',6);
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 b 1 b A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 b 1 b A 500 NULL NULL YES LSMTREE NO
EXPLAIN SELECT DISTINCT b FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 2 NULL #
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_fixed_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_fixed_indexes.result
index 3f6a0f5d2b9..38f4b82c4fa 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_fixed_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_fixed_indexes.result
@@ -8,8 +8,8 @@ n1 NUMERIC,
n2 NUMERIC(65,4)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 d1 A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 d1 A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (d1,d2,n1,n2) VALUES
(10.22,60.12345,123456,14.3456),
(10.0,60.12345,123456,14),
@@ -54,10 +54,10 @@ pk NUMERIC PRIMARY KEY,
UNIQUE INDEX n1_n2 (n1,n2)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 0 n1_n2 1 n1 A 500 NULL NULL YES LSMTREE
-t1 0 n1_n2 2 n2 A 1000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 0 n1_n2 1 n1 A 500 NULL NULL YES LSMTREE NO
+t1 0 n1_n2 2 n2 A 1000 NULL NULL YES LSMTREE NO
INSERT INTO t1 (d1,d2,n1,n2,pk) VALUES
(10.22,60.12345,123456,14.3456,1),
(10.0,60.12345,123456,14,2),
@@ -90,9 +90,9 @@ pk DECIMAL(20,10) PRIMARY KEY,
INDEX (d2)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 d2 1 d2 A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 d2 1 d2 A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (d1,d2,n1,n2,pk) VALUES
(10.22,60.12345,123456,14.3456,1),
(10.0,60.12345,123456,14,2),
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_float_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_float_indexes.result
index ca6ed6d5d18..89dc65e56f8 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_float_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_float_indexes.result
@@ -8,8 +8,8 @@ d DOUBLE,
dp DOUBLE PRECISION (64,10)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 f A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (f,r,d,dp) VALUES
(1.2345,1422.22,1.2345,1234567.89),
(0,0,0,0),
@@ -46,10 +46,10 @@ pk DOUBLE PRIMARY KEY,
UNIQUE KEY r_dp (r,dp)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 0 r_dp 1 r A 500 NULL NULL YES LSMTREE
-t1 0 r_dp 2 dp A 1000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 0 r_dp 1 r A 500 NULL NULL YES LSMTREE NO
+t1 0 r_dp 2 dp A 1000 NULL NULL YES LSMTREE NO
INSERT INTO t1 (f,r,d,dp,pk) VALUES
(1.2345,1422.22,1.2345,1234567.89,1),
(0,0,0,0,2),
@@ -74,9 +74,9 @@ pk FLOAT PRIMARY KEY,
UNIQUE KEY(d)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 0 d 1 d A 1000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 0 d 1 d A 1000 NULL NULL YES LSMTREE NO
INSERT INTO t1 (f,r,d,dp,pk) VALUES
(1.2345,1422.22,1.2345,1234567.89,1),
(0,0,0,0,2),
@@ -103,9 +103,9 @@ pk FLOAT PRIMARY KEY,
KEY(d)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 d 1 d A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 d 1 d A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (f,r,d,dp,pk) VALUES
(1.2345,1422.22,1.2345,1234567.89,1),
(0,0,0,0,2),
@@ -132,9 +132,9 @@ pk FLOAT PRIMARY KEY,
UNIQUE KEY(f)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 0 f 1 f A 1000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 0 f 1 f A 1000 NULL NULL YES LSMTREE NO
INSERT INTO t1 (f,r,d,dp,pk) VALUES
(1.2345,1422.22,1.2345,1234567.89,1),
(0,0,0,0,2),
@@ -164,9 +164,9 @@ pk FLOAT PRIMARY KEY,
KEY(f)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 f 1 f A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 f 1 f A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (f,r,d,dp,pk) VALUES
(1.2345,1422.22,1.2345,1234567.89,1),
(0,0,0,0,2),
diff --git a/storage/rocksdb/mysql-test/rocksdb/r/type_set_indexes.result b/storage/rocksdb/mysql-test/rocksdb/r/type_set_indexes.result
index 391649e0e3b..a4135004414 100644
--- a/storage/rocksdb/mysql-test/rocksdb/r/type_set_indexes.result
+++ b/storage/rocksdb/mysql-test/rocksdb/r/type_set_indexes.result
@@ -7,8 +7,8 @@ b SET('test1','test2','test3','test4','test5'),
c SET('01','22','23','33','34','39','40','44','50','63','64') PRIMARY KEY
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 c A 1000 NULL NULL LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c A 1000 NULL NULL LSMTREE NO
INSERT INTO t1 (a,b,c) VALUES
('','test2,test3','01,34,44,23'),
('',5,2),
@@ -56,9 +56,9 @@ pk SET('1','2','3','4','5','6','7','8','9') PRIMARY KEY,
INDEX(a)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 1 a 1 a A 500 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 1 a 1 a A 500 NULL NULL YES LSMTREE NO
INSERT INTO t1 (a,b,c,pk) VALUES
('','test2,test3','01,34,44,23',1),
('',5,2,2),
@@ -85,10 +85,10 @@ pk SET('1','2','3','4','5','6','7','8','9') PRIMARY KEY,
UNIQUE INDEX b_a (b,a)
) ENGINE=rocksdb;
SHOW INDEX IN t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE
-t1 0 b_a 1 b A 500 NULL NULL YES LSMTREE
-t1 0 b_a 2 a A 1000 NULL NULL YES LSMTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1000 NULL NULL LSMTREE NO
+t1 0 b_a 1 b A 500 NULL NULL YES LSMTREE NO
+t1 0 b_a 2 a A 1000 NULL NULL YES LSMTREE NO
INSERT INTO t1 (a,b,c,pk) VALUES
('','test2,test3','01,34,44,23',1),
('',5,2,2),
diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
index 15538e4b975..89f92d84b2a 100644
--- a/storage/spider/spd_db_mysql.cc
+++ b/storage/spider/spd_db_mysql.cc
@@ -1235,7 +1235,7 @@ int spider_db_mbase_result::fetch_table_cardinality(
if (mode == 1)
{
uint num_fields = this->num_fields();
- if (num_fields < 12 || num_fields > 13)
+ if (num_fields < 12 || num_fields > 14)
{
DBUG_PRINT("info",("spider num_fields < 12 || num_fields > 13"));
DBUG_RETURN(ER_SPIDER_INVALID_REMOTE_TABLE_INFO_NUM);