mariadb/mysql-test/main/long_unique_using_hash.result
Varun Gupta f691d9865b 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.
2021-03-04 22:50:00 +05:30

56 lines
1.6 KiB
Text

create table t1(a blob , unique(a) using hash);
show keys from t1;;
Table t1
Non_unique 0
Key_name a
Seq_in_index 1
Column_name a
Collation A
Cardinality NULL
Sub_part NULL
Packed NULL
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
create table t1(a int , unique(a) using hash);
show keys from t1;;
Table t1
Non_unique 0
Key_name a
Seq_in_index 1
Column_name a
Collation A
Cardinality NULL
Sub_part NULL
Packed NULL
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 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 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'
drop table t1;