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