mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
af3b08c585
Moved the InnoDB related test from func_group.test to innodb_mysql.test mysql-test/r/func_group.result: Moved a test to innodb_mysql mysql-test/r/innodb_mysql.result: moved a test to innodb_mysql mysql-test/t/func_group.test: Moved a test to innodb_mysql mysql-test/t/innodb_mysql.test: Moved a test to innodb_mysql
131 lines
3.7 KiB
Text
131 lines
3.7 KiB
Text
-- source include/have_innodb.inc
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
|
|
# BUG#16798: Uninitialized row buffer reads in ref-or-null optimizer
|
|
# (repeatable only w/innodb).
|
|
create table t1 (
|
|
c_id int(11) not null default '0',
|
|
org_id int(11) default null,
|
|
unique key contacts$c_id (c_id),
|
|
key contacts$org_id (org_id)
|
|
) engine=innodb;
|
|
insert into t1 values
|
|
(2,null),(120,null),(141,null),(218,7), (128,1),
|
|
(151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3),
|
|
(246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4);
|
|
|
|
create table t2 (
|
|
slai_id int(11) not null default '0',
|
|
owner_tbl int(11) default null,
|
|
owner_id int(11) default null,
|
|
sla_id int(11) default null,
|
|
inc_web int(11) default null,
|
|
inc_email int(11) default null,
|
|
inc_chat int(11) default null,
|
|
inc_csr int(11) default null,
|
|
inc_total int(11) default null,
|
|
time_billed int(11) default null,
|
|
activedate timestamp null default null,
|
|
expiredate timestamp null default null,
|
|
state int(11) default null,
|
|
sla_set int(11) default null,
|
|
unique key t2$slai_id (slai_id),
|
|
key t2$owner_id (owner_id),
|
|
key t2$sla_id (sla_id)
|
|
) engine=innodb;
|
|
insert into t2(slai_id, owner_tbl, owner_id, sla_id) values
|
|
(1,3,1,1), (3,3,10,2), (4,3,3,6), (5,3,2,5), (6,3,8,3), (7,3,9,7),
|
|
(8,3,6,8), (9,3,4,9), (10,3,5,10), (11,3,11,11), (12,3,7,12);
|
|
|
|
flush tables;
|
|
select si.slai_id
|
|
from t1 c join t2 si on
|
|
((si.owner_tbl = 3 and si.owner_id = c.org_id) or
|
|
( si.owner_tbl = 2 and si.owner_id = c.c_id))
|
|
where
|
|
c.c_id = 218 and expiredate is null;
|
|
|
|
select * from t1 where org_id is null;
|
|
select si.slai_id
|
|
from t1 c join t2 si on
|
|
((si.owner_tbl = 3 and si.owner_id = c.org_id) or
|
|
( si.owner_tbl = 2 and si.owner_id = c.c_id))
|
|
where
|
|
c.c_id = 218 and expiredate is null;
|
|
|
|
drop table t1, t2;
|
|
|
|
#
|
|
# Bug #12882 min/max inconsistent on empty table
|
|
#
|
|
|
|
--disable_warnings
|
|
create table t1m (a int) engine=myisam;
|
|
create table t1i (a int) engine=innodb;
|
|
create table t2m (a int) engine=myisam;
|
|
create table t2i (a int) engine=innodb;
|
|
--enable_warnings
|
|
insert into t2m values (5);
|
|
insert into t2i values (5);
|
|
|
|
# test with MyISAM
|
|
select min(a) from t1m;
|
|
select min(7) from t1m;
|
|
select min(7) from DUAL;
|
|
explain select min(7) from t2m join t1m;
|
|
select min(7) from t2m join t1m;
|
|
|
|
select max(a) from t1m;
|
|
select max(7) from t1m;
|
|
select max(7) from DUAL;
|
|
explain select max(7) from t2m join t1m;
|
|
select max(7) from t2m join t1m;
|
|
|
|
select 1, min(a) from t1m where a=99;
|
|
select 1, min(a) from t1m where 1=99;
|
|
select 1, min(1) from t1m where a=99;
|
|
select 1, min(1) from t1m where 1=99;
|
|
|
|
select 1, max(a) from t1m where a=99;
|
|
select 1, max(a) from t1m where 1=99;
|
|
select 1, max(1) from t1m where a=99;
|
|
select 1, max(1) from t1m where 1=99;
|
|
|
|
# test with InnoDB
|
|
select min(a) from t1i;
|
|
select min(7) from t1i;
|
|
select min(7) from DUAL;
|
|
explain select min(7) from t2i join t1i;
|
|
select min(7) from t2i join t1i;
|
|
|
|
select max(a) from t1i;
|
|
select max(7) from t1i;
|
|
select max(7) from DUAL;
|
|
explain select max(7) from t2i join t1i;
|
|
select max(7) from t2i join t1i;
|
|
|
|
select 1, min(a) from t1i where a=99;
|
|
select 1, min(a) from t1i where 1=99;
|
|
select 1, min(1) from t1i where a=99;
|
|
select 1, min(1) from t1i where 1=99;
|
|
|
|
select 1, max(a) from t1i where a=99;
|
|
select 1, max(a) from t1i where 1=99;
|
|
select 1, max(1) from t1i where a=99;
|
|
select 1, max(1) from t1i where 1=99;
|
|
|
|
# mixed MyISAM/InnoDB test
|
|
explain select count(*), min(7), max(7) from t1m, t1i;
|
|
select count(*), min(7), max(7) from t1m, t1i;
|
|
|
|
explain select count(*), min(7), max(7) from t1m, t2i;
|
|
select count(*), min(7), max(7) from t1m, t2i;
|
|
|
|
explain select count(*), min(7), max(7) from t2m, t1i;
|
|
select count(*), min(7), max(7) from t2m, t1i;
|
|
|
|
drop table t1m, t1i, t2m, t2i;
|
|
|