summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2021-02-25 19:59:51 +0530
committerVarun Gupta <varun.gupta@mariadb.com>2021-03-04 22:50:00 +0530
commitf691d9865becfd242ba44cc632034433336af1e7 (patch)
tree8d30254398f114e7b61d3ecfbcb328e45ec3b946
parent71d30d01aa1426183526f9bdbc6d2a718fac75ac (diff)
downloadmariadb-git-f691d9865becfd242ba44cc632034433336af1e7.tar.gz
MDEV-7317: Make an index ignorable to the optimizer
This feature adds the functionality of ignorability for indexes. Indexes are not ignored be default. To control index ignorability explicitly for a new index, use IGNORE or NOT IGNORE as part of the index definition for CREATE TABLE, CREATE INDEX, or ALTER TABLE. Primary keys (explicit or implicit) cannot be made ignorable. The table INFORMATION_SCHEMA.STATISTICS get a new column named IGNORED that would store whether an index needs to be ignored or not.
-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);