mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
120 lines
5.9 KiB
Text
120 lines
5.9 KiB
Text
drop view if exists v1;
|
|
drop table if exists t1,t4;
|
|
create table t4 (
|
|
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
|
|
) engine=innodb;
|
|
insert into t4 (a1, a2, b, c, d) values
|
|
('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
|
|
('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
|
|
('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
|
|
('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
|
|
('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
|
|
('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
|
|
('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
|
|
('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
|
|
('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
|
|
('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
|
|
('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
|
|
('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
|
|
('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
|
|
('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
|
|
('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
|
|
('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4'),
|
|
('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
|
|
('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
|
|
('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
|
|
('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
|
|
('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
|
|
('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
|
|
('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
|
|
('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
|
|
('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
|
|
('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
|
|
('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
|
|
('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
|
|
('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
|
|
('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
|
|
('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
|
|
('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4');
|
|
create index idx12672_0 on t4 (a1);
|
|
create index idx12672_1 on t4 (a1,a2,b,c);
|
|
create index idx12672_2 on t4 (a1,a2,b);
|
|
analyze table t4;
|
|
Table Op Msg_type Msg_text
|
|
test.t4 analyze status OK
|
|
select distinct a1 from t4 where pk_col not in (1,2,3,4);
|
|
a1
|
|
a
|
|
b
|
|
c
|
|
d
|
|
drop table t4;
|
|
create table t1 (
|
|
a varchar(30), b varchar(30), primary key(a), key(b)
|
|
) engine=innodb;
|
|
select distinct a from t1;
|
|
a
|
|
drop table t1;
|
|
create table t1(a int, key(a)) engine=innodb;
|
|
insert into t1 values(1);
|
|
select a, count(a) from t1 group by a with rollup;
|
|
a count(a)
|
|
1 1
|
|
NULL 1
|
|
drop table t1;
|
|
create table t1 (f1 int, f2 char(1), primary key(f1,f2)) engine=innodb;
|
|
insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
|
|
alter table t1 drop primary key, add primary key (f2, f1);
|
|
explain select distinct f1 a, f1 b from t1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index; Using temporary
|
|
explain select distinct f1, f2 from t1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index
|
|
drop table t1;
|
|
create table t1(pk int primary key) engine=innodb;
|
|
create view v1 as select pk from t1 where pk < 20;
|
|
insert into t1 values (1), (2), (3), (4);
|
|
select distinct pk from v1;
|
|
pk
|
|
1
|
|
2
|
|
3
|
|
4
|
|
insert into t1 values (5), (6), (7);
|
|
select distinct pk from v1;
|
|
pk
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
drop view v1;
|
|
drop table t1;
|
|
End of 5.1 tests
|
|
#
|
|
# Bug#12540545 61101: ASSERTION FAILURE IN THREAD 1256741184 IN
|
|
# FILE /BUILDDIR/BUILD/BUILD/MYSQ
|
|
#
|
|
CREATE TABLE t1 (a CHAR(1), b CHAR(1), PRIMARY KEY (a,b)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES ('a', 'b'), ('c', 'd');
|
|
EXPLAIN SELECT COUNT(DISTINCT a) FROM t1 WHERE b = 'b';
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 index NULL PRIMARY 2 NULL 2 Using where; Using index
|
|
SELECT COUNT(DISTINCT a) FROM t1 WHERE b = 'b';
|
|
COUNT(DISTINCT a)
|
|
1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a CHAR(1) NOT NULL, b CHAR(1) NOT NULL, UNIQUE KEY (a,b))
|
|
ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES ('a', 'b'), ('c', 'd');
|
|
EXPLAIN SELECT COUNT(DISTINCT a) FROM t1 WHERE b = 'b';
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 index NULL a 2 NULL 2 Using where; Using index
|
|
SELECT COUNT(DISTINCT a) FROM t1 WHERE b = 'b';
|
|
COUNT(DISTINCT a)
|
|
1
|
|
DROP TABLE t1;
|
|
End of 5.5 tests
|