diff options
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); |