mirror of
https://github.com/MariaDB/server.git
synced 2025-11-09 11:41:36 +03:00
added support for quiet
increased line buffer size
client/mysqltest.c
fixed memory leak
added query logging to result file
added error message logging to result file
added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh
converted tests to use mysqlmanager
Updated test results
BitKeeper/etc/ignore:
added *.reject
client/mysqlmanagerc.c:
added support for quiet
increased line buffer size
client/mysqltest.c:
fixed memory leak
added query logging to result file
added error message logging to result file
added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh:
converted tests to use mysqlmanager
mysql-test/r/alias.result:
log queries
mysql-test/r/alter_table.result:
log queries
mysql-test/r/analyse.result:
log queries
mysql-test/r/auto_increment.result:
log queries
mysql-test/r/backup.result:
log queries
mysql-test/r/bdb-crash.result:
log queries
mysql-test/r/bench_count_distinct.result:
log queries
mysql-test/r/bigint.result:
log queries
mysql-test/r/binary.result:
log queries
mysql-test/r/bulk_replace.result:
log queries
mysql-test/r/case.result:
log queries
mysql-test/r/check.result:
log queries
mysql-test/r/comments.result:
log queries
mysql-test/r/compare.result:
log queries
mysql-test/r/count_distinct.result:
log queries
mysql-test/r/count_distinct2.result:
log queries
mysql-test/r/create.result:
log queries
mysql-test/r/ctype_latin1_de.result:
log queries
mysql-test/r/delayed.result:
log queries
mysql-test/r/dirty-close.result:
log queries
mysql-test/r/distinct.result:
log queries
mysql-test/r/drop.result:
log queries
mysql-test/r/empty_table.result:
log queries
mysql-test/r/explain.result:
log queries
mysql-test/r/flush.result:
log queries
mysql-test/r/fulltext.result:
log queries
mysql-test/r/fulltext_cache.result:
log queries
mysql-test/r/fulltext_distinct.result:
log queries
mysql-test/r/fulltext_left_join.result:
log queries
mysql-test/r/fulltext_multi.result:
log queries
mysql-test/r/fulltext_order_by.result:
log queries
mysql-test/r/fulltext_update.result:
log queries
mysql-test/r/fulltext_var.result:
log queries
mysql-test/r/func_crypt.result:
log queries
mysql-test/r/func_date_add.result:
log queries
mysql-test/r/func_equal.result:
log queries
mysql-test/r/func_group.result:
log queries
mysql-test/r/func_in.result:
log queries
mysql-test/r/func_like.result:
log queries
mysql-test/r/func_math.result:
log queries
mysql-test/r/func_misc.result:
log queries
mysql-test/r/func_op.result:
log queries
mysql-test/r/func_regexp.result:
log queries
mysql-test/r/func_set.result:
log queries
mysql-test/r/func_str.result:
log queries
mysql-test/r/func_system.result:
log queries
mysql-test/r/func_test.result:
log queries
mysql-test/r/func_time.result:
log queries
mysql-test/r/func_timestamp.result:
log queries
mysql-test/r/group_by.result:
log queries
mysql-test/r/handler.result:
log queries
mysql-test/r/having.result:
log queries
mysql-test/r/heap.result:
log queries
mysql-test/r/identity.result:
log queries
mysql-test/r/ins000001.result:
log queries
mysql-test/r/insert.result:
log queries
mysql-test/r/insert_select.result:
log queries
mysql-test/r/isam.result:
log queries
mysql-test/r/join.result:
log queries
mysql-test/r/join_crash.result:
log queries
mysql-test/r/join_outer.result:
log queries
mysql-test/r/key.result:
log queries
mysql-test/r/key_diff.result:
log queries
mysql-test/r/key_primary.result:
log queries
mysql-test/r/keywords.result:
log queries
mysql-test/r/kill.result:
log queries
mysql-test/r/limit.result:
log queries
mysql-test/r/lock.result:
log queries
mysql-test/r/merge.result:
log queries
mysql-test/r/multi_update.result:
log queries
mysql-test/r/myisam.result:
log queries
mysql-test/r/null.result:
log queries
mysql-test/r/null_key.result:
log queries
mysql-test/r/odbc.result:
log queries
mysql-test/r/openssl_1.result:
log queries
mysql-test/r/openssl_2.result:
log queries
mysql-test/r/order_by.result:
log queries
mysql-test/r/order_fill_sortbuf.result:
log queries
mysql-test/r/raid.result:
log queries
mysql-test/r/range.result:
log queries
mysql-test/r/rename.result:
log queries
mysql-test/r/replace.result:
log queries
mysql-test/r/rollback.result:
log queries
mysql-test/r/rpl000001.result:
log queries
mysql-test/r/rpl000002.result:
log queries
mysql-test/r/rpl000003.result:
log queries
mysql-test/r/rpl000004.result:
log queries
mysql-test/r/rpl000005.result:
log queries
mysql-test/r/rpl000006.result:
log queries
mysql-test/r/rpl000007.result:
log queries
mysql-test/r/rpl000008.result:
log queries
mysql-test/r/rpl000009.result:
log queries
mysql-test/r/rpl000010.result:
log queries
mysql-test/r/rpl000011.result:
log queries
mysql-test/r/rpl000012.result:
log queries
mysql-test/r/rpl000013.result:
log queries
mysql-test/r/rpl000014.result:
log queries
mysql-test/r/rpl000015.result:
log queries
mysql-test/r/rpl000016.result:
log queries
mysql-test/r/rpl000017.result:
log queries
mysql-test/r/rpl000018.result:
log queries
mysql-test/r/rpl_get_lock.result:
log queries
mysql-test/r/rpl_log.result:
log queries
mysql-test/r/rpl_magic.result:
log queries
mysql-test/r/rpl_mystery22.result:
log queries
mysql-test/r/rpl_sporadic_master.result:
log queries
mysql-test/r/sel000001.result:
log queries
mysql-test/r/sel000002.result:
log queries
mysql-test/r/sel000003.result:
log queries
mysql-test/r/sel000031.result:
log queries
mysql-test/r/sel000032.result:
log queries
mysql-test/r/sel000033.result:
log queries
mysql-test/r/sel000100.result:
log queries
mysql-test/r/select.result:
log queries
mysql-test/r/select_found.result:
log queries
mysql-test/r/select_safe.result:
log queries
mysql-test/r/show_check.result:
log queries
mysql-test/r/slave-running.result:
log queries
mysql-test/r/slave-stopped.result:
log queries
mysql-test/r/status.result:
log queries
mysql-test/r/symlink.result:
log queries
mysql-test/r/tablelock.result:
log queries
mysql-test/r/temp_table.result:
log queries
mysql-test/r/truncate.result:
log queries
mysql-test/r/type_blob.result:
log queries
mysql-test/r/type_date.result:
log queries
mysql-test/r/type_datetime.result:
log queries
mysql-test/r/type_decimal.result:
log queries
mysql-test/r/type_enum.result:
log queries
mysql-test/r/type_float.result:
log queries
mysql-test/r/type_ranges.result:
log queries
mysql-test/r/type_time.result:
log queries
mysql-test/r/type_timestamp.result:
log queries
mysql-test/r/type_uint.result:
log queries
mysql-test/r/type_year.result:
log queries
mysql-test/r/union.result:
log queries
mysql-test/r/update.result:
log queries
mysql-test/r/user_var.result:
log queries
mysql-test/r/varbinary.result:
log queries
mysql-test/r/variables.result:
log queries
mysql-test/t/bench_count_distinct.test:
log queries
mysql-test/t/check.test:
log queries
mysql-test/t/count_distinct2.test:
log queries
mysql-test/t/flush.test:
log queries
mysql-test/t/isam.test:
log queries
mysql-test/t/multi_update.test:
log queries
mysql-test/t/myisam.test:
log queries
mysql-test/t/order_fill_sortbuf.test:
log queries
mysql-test/t/rpl000016.test:
log queries
tools/managertest1.nc:
test for def_exec overwrite
tools/mysqlmanager.c:
support def_exec overwrite and queries on running server
339 lines
7.1 KiB
Plaintext
339 lines
7.1 KiB
Plaintext
drop table if exists t1,t2,t3;
|
|
CREATE TABLE t1 (id int,facility char(20));
|
|
CREATE TABLE t2 (facility char(20));
|
|
INSERT INTO t1 VALUES (NULL,NULL);
|
|
INSERT INTO t1 VALUES (-1,'');
|
|
INSERT INTO t1 VALUES (0,'');
|
|
INSERT INTO t1 VALUES (1,'/L');
|
|
INSERT INTO t1 VALUES (2,'A01');
|
|
INSERT INTO t1 VALUES (3,'ANC');
|
|
INSERT INTO t1 VALUES (4,'F01');
|
|
INSERT INTO t1 VALUES (5,'FBX');
|
|
INSERT INTO t1 VALUES (6,'MT');
|
|
INSERT INTO t1 VALUES (7,'P');
|
|
INSERT INTO t1 VALUES (8,'RV');
|
|
INSERT INTO t1 VALUES (9,'SRV');
|
|
INSERT INTO t1 VALUES (10,'VMT');
|
|
INSERT INTO t2 SELECT DISTINCT FACILITY FROM t1;
|
|
select id from t1 group by id;
|
|
id
|
|
NULL
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
select * from t1 order by id;
|
|
id facility
|
|
NULL NULL
|
|
-1
|
|
0
|
|
1 /L
|
|
2 A01
|
|
3 ANC
|
|
4 F01
|
|
5 FBX
|
|
6 MT
|
|
7 P
|
|
8 RV
|
|
9 SRV
|
|
10 VMT
|
|
select id-5,facility from t1 order by "id-5";
|
|
id-5 facility
|
|
NULL NULL
|
|
-6
|
|
-5
|
|
-4 /L
|
|
-3 A01
|
|
-2 ANC
|
|
-1 F01
|
|
0 FBX
|
|
1 MT
|
|
2 P
|
|
3 RV
|
|
4 SRV
|
|
5 VMT
|
|
select id,concat(facility) from t1 group by id ;
|
|
id concat(facility)
|
|
NULL NULL
|
|
-1
|
|
0
|
|
1 /L
|
|
2 A01
|
|
3 ANC
|
|
4 F01
|
|
5 FBX
|
|
6 MT
|
|
7 P
|
|
8 RV
|
|
9 SRV
|
|
10 VMT
|
|
select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
|
|
a max(id) b
|
|
10 10 VMT
|
|
9 9 SRV
|
|
8 8 RV
|
|
7 7 P
|
|
6 6 MT
|
|
5 5 FBX
|
|
4 4 F01
|
|
3 3 ANC
|
|
2 2 A01
|
|
1 1 /L
|
|
-1 -1
|
|
0 0
|
|
NULL NULL NULL
|
|
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
|
|
grp count(*)
|
|
0 7
|
|
1 6
|
|
SELECT DISTINCT FACILITY FROM t1;
|
|
FACILITY
|
|
NULL
|
|
|
|
/L
|
|
A01
|
|
ANC
|
|
F01
|
|
FBX
|
|
MT
|
|
P
|
|
RV
|
|
SRV
|
|
VMT
|
|
SELECT FACILITY FROM t2;
|
|
FACILITY
|
|
NULL
|
|
|
|
/L
|
|
A01
|
|
ANC
|
|
F01
|
|
FBX
|
|
MT
|
|
P
|
|
RV
|
|
SRV
|
|
VMT
|
|
SELECT count(*) from t1,t2 where t1.facility=t2.facility;
|
|
count(*)
|
|
12
|
|
select count(facility) from t1;
|
|
count(facility)
|
|
12
|
|
select count(*) from t1;
|
|
count(*)
|
|
13
|
|
select count(*) from t1 where facility IS NULL;
|
|
count(*)
|
|
1
|
|
select count(*) from t1 where facility = NULL;
|
|
count(*)
|
|
0
|
|
select count(*) from t1 where facility IS NOT NULL;
|
|
count(*)
|
|
12
|
|
select count(*) from t1 where id IS NULL;
|
|
count(*)
|
|
1
|
|
select count(*) from t1 where id IS NOT NULL;
|
|
count(*)
|
|
12
|
|
drop table t1,t2;
|
|
CREATE TABLE t1 (UserId int(11) DEFAULT '0' NOT NULL);
|
|
INSERT INTO t1 VALUES (20);
|
|
INSERT INTO t1 VALUES (27);
|
|
SELECT UserId FROM t1 WHERE Userid=22;
|
|
UserId
|
|
SELECT UserId FROM t1 WHERE UserId=22 group by Userid;
|
|
UserId
|
|
SELECT DISTINCT UserId FROM t1 WHERE UserId=22 group by Userid;
|
|
UserId
|
|
SELECT DISTINCT UserId FROM t1 WHERE UserId=22;
|
|
UserId
|
|
drop table t1;
|
|
CREATE TABLE t1 (a int(10) unsigned not null primary key,b int(10) unsigned);
|
|
INSERT INTO t1 VALUES (1,1),(2,1);
|
|
CREATE TABLE t2 (a int(10) unsigned not null, key (A));
|
|
INSERT INTO t2 VALUES (1),(2);
|
|
CREATE TABLE t3 (a int(10) unsigned, key(A), b text);
|
|
INSERT INTO t3 VALUES (1,'1'),(2,'2');
|
|
SELECT DISTINCT t3.b FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
|
b
|
|
1
|
|
INSERT INTO t2 values (1),(2),(3);
|
|
INSERT INTO t3 VALUES (1,'1'),(2,'2'),(1,'1'),(2,'2');
|
|
explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
|
table type possible_keys key key_len ref rows Extra
|
|
t3 index a a 5 NULL 6 Using index; Using temporary
|
|
t2 index a a 4 NULL 5 Using index; Distinct
|
|
t1 eq_ref PRIMARY PRIMARY 4 t2.a 1 where used; Distinct
|
|
SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
|
a
|
|
1
|
|
create temporary table t4 select * from t3;
|
|
insert into t3 select * from t4;
|
|
insert into t4 select * from t3;
|
|
insert into t3 select * from t4;
|
|
insert into t4 select * from t3;
|
|
insert into t3 select * from t4;
|
|
insert into t4 select * from t3;
|
|
insert into t3 select * from t4;
|
|
explain select distinct t1.a from t1,t3 where t1.a=t3.a;
|
|
table type possible_keys key key_len ref rows Extra
|
|
t1 index PRIMARY PRIMARY 4 NULL 2 Using index; Using temporary
|
|
t3 ref a a 5 t1.a 10 Using index; Distinct
|
|
select distinct t1.a from t1,t3 where t1.a=t3.a;
|
|
a
|
|
1
|
|
2
|
|
select distinct 1 from t1,t3 where t1.a=t3.a;
|
|
1
|
|
1
|
|
drop table t1,t2,t3,t4;
|
|
CREATE TABLE t1 (name varchar(255));
|
|
INSERT INTO t1 VALUES ('aa'),('ab'),('ac'),('ad'),('ae');
|
|
SELECT DISTINCT * FROM t1 LIMIT 2;
|
|
name
|
|
aa
|
|
ab
|
|
SELECT DISTINCT name FROM t1 LIMIT 2;
|
|
name
|
|
aa
|
|
ab
|
|
SELECT DISTINCT 1 FROM t1 LIMIT 2;
|
|
1
|
|
1
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
ID int(11) NOT NULL auto_increment,
|
|
NAME varchar(75) DEFAULT '' NOT NULL,
|
|
LINK_ID int(11) DEFAULT '0' NOT NULL,
|
|
PRIMARY KEY (ID),
|
|
KEY NAME (NAME),
|
|
KEY LINK_ID (LINK_ID)
|
|
);
|
|
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0),(2,'Jack',0),(3,'Bill',0);
|
|
CREATE TABLE t2 (
|
|
ID int(11) NOT NULL auto_increment,
|
|
NAME varchar(150) DEFAULT '' NOT NULL,
|
|
PRIMARY KEY (ID),
|
|
KEY NAME (NAME)
|
|
);
|
|
SELECT DISTINCT
|
|
t2.id AS key_link_id,
|
|
t2.name AS link
|
|
FROM t1
|
|
LEFT JOIN t2 ON t1.link_id=t2.id
|
|
GROUP BY t1.id
|
|
ORDER BY link;
|
|
key_link_id link
|
|
NULL NULL
|
|
drop table t1,t2;
|
|
create table t1 (
|
|
id int not null,
|
|
name tinytext not null,
|
|
unique (id)
|
|
);
|
|
create table t2 (
|
|
id int not null,
|
|
idx int not null,
|
|
unique (id, idx)
|
|
);
|
|
create table t3 (
|
|
id int not null,
|
|
idx int not null,
|
|
unique (id, idx)
|
|
);
|
|
insert into t1 values (1,'yes'), (2,'no');
|
|
insert into t2 values (1,1);
|
|
insert into t3 values (1,1);
|
|
EXPLAIN
|
|
SELECT DISTINCT
|
|
t1.id
|
|
from
|
|
t1
|
|
straight_join
|
|
t2
|
|
straight_join
|
|
t3
|
|
straight_join
|
|
t1 as j_lj_t2 left join t2 as t2_lj
|
|
on j_lj_t2.id=t2_lj.id
|
|
straight_join
|
|
t1 as j_lj_t3 left join t3 as t3_lj
|
|
on j_lj_t3.id=t3_lj.id
|
|
WHERE
|
|
((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
|
|
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
|
|
table type possible_keys key key_len ref rows Extra
|
|
t1 index id id 4 NULL 2 Using index; Using temporary
|
|
t2 index id id 8 NULL 1 Using index; Distinct
|
|
t3 index id id 8 NULL 1 Using index; Distinct
|
|
j_lj_t2 index id id 4 NULL 2 where used; Using index; Distinct
|
|
t2_lj index id id 8 NULL 1 where used; Using index; Distinct
|
|
j_lj_t3 index id id 4 NULL 2 where used; Using index; Distinct
|
|
t3_lj index id id 8 NULL 1 where used; Using index; Distinct
|
|
SELECT DISTINCT
|
|
t1.id
|
|
from
|
|
t1
|
|
straight_join
|
|
t2
|
|
straight_join
|
|
t3
|
|
straight_join
|
|
t1 as j_lj_t2 left join t2 as t2_lj
|
|
on j_lj_t2.id=t2_lj.id
|
|
straight_join
|
|
t1 as j_lj_t3 left join t3 as t3_lj
|
|
on j_lj_t3.id=t3_lj.id
|
|
WHERE
|
|
((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
|
|
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
|
|
id
|
|
2
|
|
drop table t1,t2,t3;
|
|
drop table if exists t1;
|
|
create table t1 (a int not null, b int not null, t time);
|
|
insert into t1 values (1,1,"00:06:15"),(1,2,"00:06:15"),(1,2,"00:30:15"),(1,3,"00:06:15"),(1,3,"00:30:15");
|
|
select a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
|
|
a sec_to_time(sum(time_to_sec(t)))
|
|
1 00:06:15
|
|
1 00:36:30
|
|
1 00:36:30
|
|
select distinct a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
|
|
a sec_to_time(sum(time_to_sec(t)))
|
|
1 00:06:15
|
|
1 00:36:30
|
|
create table t2 (a int not null primary key, b int);
|
|
insert into t2 values (1,1),(2,2),(3,3);
|
|
select t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
|
|
a sec_to_time(sum(time_to_sec(t)))
|
|
1 00:06:15
|
|
1 00:36:30
|
|
1 00:36:30
|
|
select distinct t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
|
|
a sec_to_time(sum(time_to_sec(t)))
|
|
1 00:06:15
|
|
1 00:36:30
|
|
drop table t1,t2;
|
|
create table t1 (a int not null,b char(5), c text);
|
|
insert into t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
|
|
select distinct a from t1 group by b,a having a > 2 order by a desc;
|
|
a
|
|
4
|
|
3
|
|
select distinct a,c from t1 group by b,c,a having a > 2 order by a desc;
|
|
a c
|
|
4 NULL
|
|
3 NULL
|
|
drop table t1;
|