File: mrr.test

package info (click to toggle)
mariadb-10.0 10.0.16-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 416,512 kB
  • sloc: cpp: 1,351,103; ansic: 803,086; perl: 59,621; pascal: 32,136; sh: 25,156; yacc: 14,897; xml: 5,194; sql: 4,651; cs: 4,647; makefile: 4,113; python: 2,526; ruby: 2,496; lex: 1,427; asm: 295; awk: 54; php: 22; sed: 16
file content (62 lines) | stat: -rw-r--r-- 1,746 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--disable_warnings
drop table if exists t1,t2,t3;
--enable_warnings

--echo #
--echo # MDEV-5976: TokuDB: Wrong query result using mrr=on
--echo #

create table t1(a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);

CREATE TABLE t2 (
  task_id int(10) unsigned NOT NULL AUTO_INCREMENT,
  `type` tinyint(3) DEFAULT NULL,
  filler1 varchar(256),
  filler2 varchar(256),
  PRIMARY KEY (`task_id`),
  KEY `ymtasks_type` (`type`)
) ENGINE=TokuDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 `COMPRESSION`=TOKUDB_LZMA;

INSERT INTO t2 VALUES 
  (1,1,'filler-data1','filler-data2'),
  (2,1,'filler-data1','filler-data2');

CREATE TABLE t3 (
  `task_id` int(10) unsigned NOT NULL DEFAULT '0',
  `field` varchar(256) NOT NULL DEFAULT '',
  `value` varchar(4096) DEFAULT NULL,
  KEY `ymtasksoptions_task` (`task_id`),
  KEY `ymtasksoptions_field` (`field`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1 `COMPRESSION`=TOKUDB_LZMA;

INSERT INTO t3
select 1, 
       concat('field-data-', A.a*10 + B.a), 
       concat('field-data-', A.a*10 + B.a)
from t1 A, t1 B 
where 
  A.a*10 + B.a < 38;

explain
SELECT t3.task_id, t3.field  FROM
t3,t2 WHERE    t3.task_id=t2.task_id AND   t2.type NOT IN (8,11);
SELECT t3.task_id, t3.field  FROM
t3,t2 WHERE    t3.task_id=t2.task_id AND   t2.type NOT IN (8,11);

set @tmp5976_jcl=@@join_cache_level;
set @tmp5976_os=@@optimizer_switch;

set join_cache_level= 6;
set optimizer_switch='mrr=on,mrr_sort_keys=on';

explain
SELECT t3.task_id, t3.field  FROM
t3,t2 WHERE    t3.task_id=t2.task_id AND   t2.type NOT IN (8,11);
SELECT t3.task_id, t3.field  FROM
t3,t2 WHERE    t3.task_id=t2.task_id AND   t2.type NOT IN (8,11);

drop table t1,t2,t3;
set join_cache_level=@tmp5976_jcl;
set optimizer_switch=@tmp5976_os;