2 DROP
TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11;
3 DROP DATABASE IF EXISTS world;
12 --source include/world_schema1.inc
17 --source include/world.inc
22 SELECT COUNT(*) FROM Country;
23 SELECT COUNT(*) FROM City;
24 SELECT COUNT(*) FROM CountryLanguage;
26 show variables like 'join_buffer_size';
29 SELECT City.Name, Country.Name FROM City,Country
30 WHERE City.Country=Country.Code AND
31 Country.Name LIKE 'L%' AND City.Population > 100000;
34 SELECT City.Name, Country.Name FROM City,Country
35 WHERE City.Country=Country.Code AND
36 Country.Name LIKE 'L%' AND City.Population > 100000;
39 SELECT City.Name, Country.Name, CountryLanguage.Language
40 FROM City,Country,CountryLanguage
41 WHERE City.Country=Country.Code AND
42 CountryLanguage.Country=Country.Code AND
43 City.Name LIKE 'L%' AND Country.Population > 3000000 AND
44 CountryLanguage.Percentage > 50;
47 SELECT City.Name, Country.Name, CountryLanguage.Language
48 FROM City,Country,CountryLanguage
49 WHERE City.Country=Country.Code AND
50 CountryLanguage.Country=Country.Code AND
51 City.Name LIKE 'L%' AND Country.Population > 3000000 AND
52 CountryLanguage.Percentage > 50;
54 set join_buffer_size=256;
55 show variables like 'join_buffer_size';
58 SELECT City.Name, Country.Name FROM City,Country
59 WHERE City.Country=Country.Code AND
60 Country.Name LIKE 'L%' AND City.Population > 100000;
63 SELECT City.Name, Country.Name FROM City,Country
64 WHERE City.Country=Country.Code AND
65 Country.Name LIKE 'L%' AND City.Population > 100000;
68 SELECT City.Name, Country.Name, CountryLanguage.Language
69 FROM City,Country,CountryLanguage
70 WHERE City.Country=Country.Code AND
71 CountryLanguage.Country=Country.Code AND
72 City.Name LIKE 'L%' AND Country.Population > 3000000 AND
73 CountryLanguage.Percentage > 50;
76 SELECT City.Name, Country.Name, CountryLanguage.Language
77 FROM City,Country,CountryLanguage
78 WHERE City.Country=Country.Code AND
79 CountryLanguage.Country=Country.Code AND
80 City.Name LIKE 'L%' AND Country.Population > 3000000 AND
81 CountryLanguage.Percentage > 50;
83 set join_buffer_size=default;
84 show variables like 'join_buffer_size';
89 CREATE DATABASE world;
93 --source include/world_schema.inc
98 --source include/world.inc
103 show variables like 'join_buffer_size';
106 SELECT City.Name, Country.Name FROM City,Country
107 WHERE City.Country=Country.Code AND
108 Country.Name LIKE 'L%' AND City.Population > 100000;
111 SELECT City.Name, Country.Name FROM City,Country
112 WHERE City.Country=Country.Code AND
113 Country.Name LIKE 'L%' AND City.Population > 100000;
115 --replace_result 185
# 188 #
117 SELECT City.Name, Country.Name, CountryLanguage.Language
118 FROM City,Country,CountryLanguage
119 WHERE City.Country=Country.Code AND
120 CountryLanguage.Country=Country.Code AND
121 City.Name LIKE
'L%' AND Country.Population > 3000000 AND
122 CountryLanguage.Percentage > 50;
125 SELECT City.Name, Country.Name, CountryLanguage.Language
126 FROM City,Country,CountryLanguage
127 WHERE City.Country=Country.Code AND
128 CountryLanguage.Country=Country.Code AND
129 City.Name LIKE
'L%' AND Country.Population > 3000000 AND
130 CountryLanguage.Percentage > 50;
133 SELECT Name FROM City
134 WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE
'L%') AND
135 City.Population > 100000;
138 SELECT Name FROM City
139 WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE
'L%') AND
140 City.Population > 100000;
143 SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
144 FROM Country LEFT
JOIN CountryLanguage ON
145 (CountryLanguage.Country=Country.Code AND Language='English')
147 Country.Population > 10000000;
150 SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
151 FROM Country LEFT
JOIN CountryLanguage ON
152 (CountryLanguage.Country=Country.Code AND Language='English')
154 Country.Population > 10000000;
156 set join_buffer_size=256;
157 show variables like 'join_buffer_size';
160 SELECT City.Name, Country.Name FROM City,Country
161 WHERE City.Country=Country.Code AND
162 Country.Name LIKE 'L%' AND City.Population > 100000;
165 SELECT City.Name, Country.Name FROM City,Country
166 WHERE City.Country=Country.Code AND
167 Country.Name LIKE 'L%' AND City.Population > 100000;
169 --replace_result 185
# 188 #
171 SELECT City.Name, Country.Name, CountryLanguage.Language
172 FROM City,Country,CountryLanguage
173 WHERE City.Country=Country.Code AND
174 CountryLanguage.Country=Country.Code AND
175 City.Name LIKE
'L%' AND Country.Population > 3000000 AND
176 CountryLanguage.Percentage > 50;
179 SELECT City.Name, Country.Name, CountryLanguage.Language
180 FROM City,Country,CountryLanguage
181 WHERE City.Country=Country.Code AND
182 CountryLanguage.Country=Country.Code AND
183 City.Name LIKE
'L%' AND Country.Population > 3000000 AND
184 CountryLanguage.Percentage > 50;
187 SELECT Name FROM City
188 WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE
'L%') AND
189 City.Population > 100000;
192 SELECT Name FROM City
193 WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE
'L%') AND
194 City.Population > 100000;
196 set join_buffer_size=
default;
197 show variables like
'join_buffer_size';
200 SELECT City.Name, Country.Name FROM City,Country
201 WHERE City.Country=Country.Code AND City.Population > 3000000;
203 set join_buffer_size=256;
207 SELECT City.Name, Country.Name FROM City,Country
208 WHERE City.Country=Country.Code AND City.Population > 3000000;
211 SELECT City.Name, Country.Name FROM City,Country
212 WHERE City.Country=Country.Code AND City.Population > 3000000;
214 set join_buffer_size=
default;
216 ALTER
TABLE Country MODIFY Name varchar(52) NOT NULL default '';
219 SELECT City.Name, Country.Name FROM City,Country
220 WHERE City.Country=Country.Code AND
221 Country.Name LIKE 'L%' AND City.Population > 100000;
223 ALTER
TABLE Country MODIFY Name varchar(300) NOT NULL default '';
226 SELECT City.Name, Country.Name FROM City,Country
227 WHERE City.Country=Country.Code AND
228 Country.Name LIKE 'L%' AND City.Population > 100000;
230 ALTER
TABLE Country ADD COLUMN PopulationBar text;
232 SET PopulationBar=REPEAT('x', CAST(Population/100000 AS
unsigned int));
235 SELECT City.Name, Country.Name, Country.PopulationBar FROM City,Country
236 WHERE City.Country=Country.Code AND
237 Country.Name LIKE 'L%' AND City.Population > 100000;
239 set join_buffer_size=256;
242 SELECT City.Name, Country.Name, Country.PopulationBar FROM City,Country
243 WHERE City.Country=Country.Code AND
244 Country.Name LIKE 'L%' AND City.Population > 100000;
246 set join_buffer_size=default;
253 # Bug #35685: assertion abort when initializing a BKA cache
257 affiliatetometaid
int NOT NULL
default '0',
258 uniquekey
int NOT NULL
default '0',
259 metaid
int NOT NULL
default '0',
260 affiliateid
int NOT NULL
default '0',
262 isactive
char(1) NOT NULL
default 'Y',
263 PRIMARY
KEY (affiliatetometaid)
265 CREATE UNIQUE INDEX t1_uniquekey ON t1(uniquekey);
266 CREATE INDEX t1_affiliateid ON t1(affiliateid);
267 CREATE INDEX t1_metaid on t1 (metaid);
268 INSERT INTO t1 VALUES
269 (1616, 1571693233, 1391, 2, NULL,
'Y'), (1943, 1993216749, 1726, 2, NULL,
'Y');
272 metaid
int NOT NULL
default '0',
273 name varchar(80) NOT NULL
default '',
274 dateadded timestamp NOT NULL ,
276 status
int default NULL,
277 origin
int default NULL,
278 gid
int NOT NULL
default '1',
279 formattypeid
int default NULL,
282 CREATE INDEX t2_status ON t2(status);
283 CREATE INDEX t2_gid ON t2(gid);
284 CREATE INDEX t2_formattypeid ON t2(formattypeid);
285 INSERT INTO t2 VALUES
286 (1391,
"I Just Died",
"2003-10-02 10:07:37",
"", 1, NULL, 3, NULL),
287 (1726,
"Me, Myself & I",
"2003-12-05 11:24:36",
" ", 1, NULL, 3, NULL);
290 mediaid
int NOT NULL ,
291 metaid
int NOT NULL
default '0',
292 formatid
int NOT NULL
default '0',
293 status
int default NULL,
294 path varchar(100) NOT NULL
default '',
295 datemodified timestamp NOT NULL ,
296 resourcetype
int NOT NULL
default '1',
298 signature
int default NULL,
299 quality
int NOT NULL
default '255',
300 PRIMARY
KEY (mediaid)
302 CREATE INDEX t3_metaid ON t3(metaid);
303 CREATE INDEX t3_formatid ON t3(formatid);
304 CREATE INDEX t3_status ON t3(status);
305 CREATE INDEX t3_metaidformatid ON t3(metaid,formatid);
306 CREATE INDEX t3_signature ON t3(signature);
307 CREATE INDEX t3_quality ON t3(quality);
308 INSERT INTO t3 VALUES
309 (6, 4, 8, 0,
"010101_anastacia_spmidi.mid",
"2004-03-16 13:40:00", 1, NULL, NULL, 255),
310 (3343, 3, 8, 1,
"010102_4VN4bsPwnxRQUJW5Zp1RhG2IL9vvl_8.mid",
"2004-03-16 13:40:00", 1, NULL, NULL, 255);
313 formatid
int NOT NULL ,
314 name varchar(60) NOT NULL
default '',
315 formatclassid
int NOT NULL
default '0',
316 mime varchar(60)
default NULL,
317 extension varchar(10)
default NULL,
318 priority
int NOT NULL
default '0',
319 canaddtocapability
char(1) NOT NULL
default 'Y',
320 PRIMARY
KEY (formatid)
322 CREATE INDEX t4_formatclassid ON t4(formatclassid);
323 CREATE INDEX t4_formats_idx ON t4(canaddtocapability);
324 INSERT INTO t4 VALUES
325 (19,
"XHTML", 11,
"text/html",
"xhtml", 10,
'Y'),
326 (54,
"AMR (wide band)", 13,
"audio/amr-wb",
"awb", 0,
'Y');
329 formatclassid
int NOT NULL ,
330 name varchar(60) NOT NULL
default '',
331 priority
int NOT NULL
default '0',
332 formattypeid
int NOT NULL
default '0',
333 PRIMARY
KEY (formatclassid)
335 CREATE INDEX t5_formattypeid on t5(formattypeid);
336 INSERT INTO t5 VALUES
337 (11,
"Info", 0, 4), (13,
"Digital Audio", 0, 2);
340 formattypeid
int NOT NULL ,
341 name varchar(60) NOT NULL
default '',
342 priority
int default NULL,
343 PRIMARY
KEY (formattypeid)
345 INSERT INTO t6 VALUES
349 metaid
int NOT NULL
default '0',
350 artistid
int NOT NULL
default '0',
351 PRIMARY
KEY (metaid,artistid)
353 INSERT INTO t7 VALUES
357 artistid
int NOT NULL ,
358 name varchar(80) NOT NULL
default '',
359 PRIMARY
KEY (artistid)
361 INSERT INTO t8 VALUES
362 (5,
"Anastacia"), (4,
"John Mayer");
365 subgenreid
int NOT NULL
default '0',
366 metaid
int NOT NULL
default '0',
367 PRIMARY
KEY (subgenreid,metaid)
369 CREATE INDEX t9_subgenreid ON t9(subgenreid);
370 CREATE INDEX t9_metaid ON t9(metaid);
371 INSERT INTO t9 VALUES
375 subgenreid
int NOT NULL ,
376 genreid
int NOT NULL
default '0',
377 name varchar(80) NOT NULL
default '',
378 PRIMARY
KEY (subgenreid)
380 CREATE INDEX t10_genreid ON t10(genreid);
381 INSERT INTO t10 VALUES
382 (138, 19,
''), (31, 3,
'');
385 genreid
int NOT NULL
default '0',
386 name char(80) NOT NULL
default '',
387 priority
int NOT NULL
default '0',
388 masterclip
char(1)
default NULL,
389 PRIMARY
KEY (genreid)
391 CREATE INDEX t11_masterclip ON t11( masterclip);
392 INSERT INTO t11 VALUES
393 (19,
"Pop & Dance", 95,
'Y'), (3,
"Rock & Alternative", 100,
'Y');
396 SELECT t1.uniquekey, t1.xml AS affiliateXml,
397 t8.name AS artistName, t8.artistid,
398 t11.name AS genreName, t11.genreid, t11.priority AS genrePriority,
399 t10.subgenreid, t10.name AS subgenreName,
400 t2.name AS metaName, t2.metaid, t2.xml AS metaXml,
401 t4.priority + t5.priority + t6.priority AS overallPriority,
402 t3.path AS path, t3.mediaid,
403 t4.formatid, t4.name AS formatName,
404 t5.formatclassid, t5.name AS formatclassName,
405 t6.formattypeid, t6.name AS formattypeName
406 FROM t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11
407 WHERE t7.metaid = t2.metaid AND t7.artistid = t8.artistid AND
408 t9.metaid = t2.metaid AND t9.subgenreid = t10.subgenreid AND
409 t10.genreid = t11.genreid AND t3.metaid = t2.metaid AND
410 t3.formatid = t4.formatid AND t4.formatclassid = t5.formatclassid AND
411 t4.canaddtocapability =
'Y' AND t5.formattypeid = t6.formattypeid AND
412 t6.formattypeid IN (2) AND (t3.formatid IN (31, 8, 76)) AND
413 t1.metaid = t2.metaid AND t1.affiliateid = '2';
415 SELECT t1.uniquekey, t1.xml AS affiliateXml,
416 t8.
name AS artistName, t8.artistid,
417 t11.
name AS genreName, t11.genreid, t11.priority AS genrePriority,
418 t10.subgenreid, t10.
name AS subgenreName,
419 t2.
name AS metaName, t2.metaid, t2.xml AS metaXml,
420 t4.priority + t5.priority + t6.priority AS overallPriority,
421 t3.path AS path, t3.mediaid,
422 t4.formatid, t4.
name AS formatName,
423 t5.formatclassid, t5.
name AS formatclassName,
424 t6.formattypeid, t6.
name AS formattypeName
425 FROM t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11
426 WHERE t7.metaid = t2.metaid AND t7.artistid = t8.artistid AND
427 t9.metaid = t2.metaid AND t9.subgenreid = t10.subgenreid AND
428 t10.genreid = t11.genreid AND t3.metaid = t2.metaid AND
429 t3.formatid = t4.formatid AND t4.formatclassid = t5.formatclassid AND
430 t4.canaddtocapability = 'Y' AND t5.formattypeid = t6.formattypeid AND
431 t6.formattypeid IN (2) AND (t3.formatid IN (31, 8, 76)) AND
432 t1.metaid = t2.metaid AND t1.affiliateid = '2';
434 DROP
TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11;
437 # Bug #37131: 3-way join query with BKA used with a small buffer and
438 # only for the third table
441 CREATE
TABLE t1 (a1
int, filler1
char(64)
default ' ' );
443 a2
int, b2
int, filler2
char(64)
default ' ',
444 PRIMARY
KEY idx(a2,b2,filler2)
446 CREATE
TABLE t3 (b3
int, c3
int, INDEX idx(b3));
448 INSERT INTO t1(a1) VALUES
449 (4), (7), (1), (9), (8), (5), (3), (6), (2);
450 INSERT INTO t2(a2,b2) VALUES
451 (1,30), (3,40), (2,61), (6,73), (8,92), (9,27), (4,18), (5,84), (7,56),
452 (4,14), (6,76), (8,98), (7,55), (1,39), (2,68), (3,45), (9,21), (5,81),
453 (5,88), (2,65), (6,74), (9,23), (1,37), (3,44), (4,17), (8,99), (7,51),
454 (9,28), (7,52), (1,33), (4,13), (5,87), (3,43), (8,91), (2,62), (6,79),
455 (3,49), (8,93), (7,34), (5,82), (6,78), (2,63), (1,32), (9,22), (4,11);
456 INSERT INTO t3 VALUES
457 (30,302), (92,923), (18,187), (45,459), (30,309),
458 (39,393), (68,685), (45,458), (21,210), (81,817),
459 (40,405), (61,618), (73,738), (92,929), (27,275),
460 (18,188), (84,846), (56,564), (14,144), (76,763),
461 (98,982), (55,551), (17,174), (99,998), (51,513),
462 (28,282), (52,527), (33,336), (13,138), (87,878),
463 (43,431), (91,916), (62,624), (79,797), (49,494),
464 (93,933), (34,347), (82,829), (78,780), (63,634),
465 (32,329), (22,228), (11,114), (74,749), (23,236);
468 SELECT a1<>a2, a1, a2, b2, b3, c3,
469 SUBSTR(filler1,1,1) AS s1, SUBSTR(filler2,1,1) AS s2
470 FROM t1,t2,t3 WHERE a1=a2 AND b2=b3 AND MOD(c3,10)>7;
473 SELECT a1<>a2, a1, a2, b2, b3, c3,
474 SUBSTR(filler1,1,1) AS s1, SUBSTR(filler2,1,1) AS s2
475 FROM t1,t2,t3 WHERE a1=a2 AND b2=b3 AND MOD(c3,10)>7;
477 set join_buffer_size=512;
480 SELECT a1<>a2, a1, a2, b2, b3, c3,
481 SUBSTR(filler1,1,1) AS s1, SUBSTR(filler2,1,1) AS s2
482 FROM t1,t2,t3 WHERE a1=a2 AND b2=b3 AND MOD(c3,10)>7;
485 SELECT a1<>a2, a1, a2, b2, b3, c3,
486 SUBSTR(filler1,1,1) AS s1, SUBSTR(filler2,1,1) AS s2
487 FROM t1,t2,t3 WHERE a1=a2 AND b2=b3 AND MOD(c3,10)>7;
492 # Bug #37690: crash with a tiny buffer when using BKA_JOIN_CACHE_UNIQUE
495 CREATE
TABLE t1 (a
int, b
int, INDEX idx(b));
496 CREATE
TABLE t2 (a
int, b
int, INDEX idx(a));
497 INSERT INTO t1 VALUES (5,30), (3,20), (7,40), (2,10), (8,30), (1,10), (4,20);
498 INSERT INTO t2 VALUES (7,10), (1,20), (2,20), (8,20), (8,10), (1,20);
499 INSERT INTO t2 VALUES (1,10), (4,20), (3,20), (7,20), (7,10), (1,20);
501 set join_buffer_size=32;
503 EXPLAIN SELECT * FROM t1,t2 WHERE t1.a=t2.a AND t1.b >= 30;
505 SELECT * FROM t1,t2 WHERE t1.a=t2.a AND t1.b >= 30;
510 --echo BUG#40136: Group by is ignored when join buffer is used
for an outer join
512 create
table t1(a
int PRIMARY
KEY, b
int);
513 insert into t1 values
514 (5, 10), (2, 70), (7, 80), (6, 20), (1, 50), (9, 40), (8, 30), (3, 60);
515 create
table t2 (p
int, a
int, INDEX i_a(a));
516 insert into t2 values
517 (103, 7), (109, 3), (102, 3), (108, 1), (106, 3),
518 (107, 7), (105, 1), (101, 3), (100, 7), (110, 1);
520 select t1.a, count(t2.p) as count
521 from t1 left join t2 on t1.a=t2.a and t2.p % 2 = 1
group by t1.a;
522 select t1.a, count(t2.p) as count
523 from t1 left join t2 on t1.a=t2.a and t2.p % 2 = 1
group by t1.a;
527 --echo # Bug #40134: outer join with not exists optimization and join buffer
530 set join_buffer_size=
default;
532 CREATE
TABLE t1 (a
int NOT NULL);
533 INSERT INTO t1 VALUES (2), (4), (3), (5), (1);
534 CREATE
TABLE t2 (a
int NOT NULL, b
int NOT NULL, INDEX i_a(a));
535 INSERT INTO t2 VALUES (4,10), (2,10), (2,30), (2,20), (4,20);
538 SELECT * FROM t1 LEFT
JOIN t2 ON t1.a=t2.a WHERE t2.b IS NULL;
539 SELECT * FROM t1 LEFT
JOIN t2 ON t1.a=t2.a WHERE t2.b IS NULL;
544 --echo # BUG#40268: Nested outer join with not null-rejecting where condition
545 --echo # over an inner
table which is not the last in the nest
548 CREATE
TABLE t2 (a
int, b
int, c
int);
549 CREATE
TABLE t3 (a
int, b
int, c
int);
550 CREATE
TABLE t4 (a
int, b
int, c
int);
552 INSERT INTO t2 VALUES (3,3,0), (4,2,0), (5,3,0);
553 INSERT INTO t3 VALUES (1,2,0), (2,2,0);
554 INSERT INTO t4 VALUES (3,2,0), (4,2,0);
557 SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
558 FROM t2 LEFT
JOIN (t3, t4) ON t2.b=t4.b
559 WHERE t3.a+2<t2.a OR t3.c IS NULL;
561 DROP
TABLE t2, t3, t4;
564 --echo # Bug #40192: outer join with where clause when
using BNL
567 create
table t1 (a
int, b
int);
568 insert into t1 values (2, 20), (3, 30), (1, 10);
569 create
table t2 (a
int, c
int);
570 insert into t2 values (1, 101), (3, 102), (1, 100);
573 select * from t1 left join t2 on t1.a=t2.a;
574 explain select * from t1 left join t2 on t1.a=t2.a where t2.c=102 or t2.c is null;
576 select * from t1 left join t2 on t1.a=t2.a where t2.c=102 or t2.c is null;
581 --echo # Bug #40317: outer join with with constant on expression equal
to FALSE
584 create
table t1 (a
int);
585 insert into t1 values (30), (40), (20);
586 create
table t2 (b
int);
587 insert into t2 values (200), (100);
589 select * from t1 left join t2 on (1=0);
590 explain select * from t1 left join t2 on (1=0) where a=40;
591 select * from t1 left join t2 on (1=0) where a=40;
596 --echo # Bug #41204: small buffer with big rec_per_key
for ref access
599 CREATE
TABLE t1 (a
int);
601 INSERT INTO t1 VALUES (0);
602 INSERT INTO t1(a) SELECT a FROM t1;
603 INSERT INTO t1(a) SELECT a FROM t1;
604 INSERT INTO t1(a) SELECT a FROM t1;
605 INSERT INTO t1(a) SELECT a FROM t1;
606 INSERT INTO t1(a) SELECT a FROM t1;
607 INSERT INTO t1(a) SELECT a FROM t1;
608 INSERT INTO t1(a) SELECT a FROM t1;
609 INSERT INTO t1(a) SELECT a FROM t1;
610 INSERT INTO t1(a) SELECT a FROM t1;
611 INSERT INTO t1(a) SELECT a FROM t1;
612 INSERT INTO t1(a) SELECT a FROM t1;
613 INSERT INTO t1 VALUES (20000), (10000);
615 CREATE
TABLE t2 (pk
int AUTO_INCREMENT PRIMARY
KEY, b
int, c
int, INDEX idx(b));
616 INSERT INTO t2(b,c) VALUES (10000, 3), (20000, 7), (20000, 1), (10000, 9), (20000, 5);
617 INSERT INTO t2(b,c) SELECT b,c FROM t2;
618 INSERT INTO t2(b,c) SELECT b,c FROM t2;
619 INSERT INTO t2(b,c) SELECT b,c FROM t2;
620 INSERT INTO t2(b,c) SELECT b,c FROM t2;
621 INSERT INTO t2(b,c) SELECT b,c FROM t2;
622 INSERT INTO t2(b,c) SELECT b,c FROM t2;
623 INSERT INTO t2(b,c) SELECT b,c FROM t2;
624 INSERT INTO t2(b,c) SELECT b,c FROM t2;
630 set join_buffer_size=1024;
632 EXPLAIN SELECT AVG(c) FROM t1,t2 WHERE t1.a=t2.b;
633 SELECT AVG(c) FROM t1,t2 WHERE t1.a=t2.b;
635 set join_buffer_size=default;
640 --echo # Bug #41894: big join buffer of
level 7 used
to join records
641 --echo # with null values in place of varchar strings
644 CREATE
TABLE t1 (a
int NOT NULL AUTO_INCREMENT PRIMARY KEY,
645 b varchar(127) DEFAULT NULL);
647 INSERT INTO t1(a) VALUES (1);
648 INSERT INTO t1(b) SELECT b FROM t1;
649 INSERT INTO t1(b) SELECT b FROM t1;
650 INSERT INTO t1(b) SELECT b FROM t1;
651 INSERT INTO t1(b) SELECT b FROM t1;
652 INSERT INTO t1(b) SELECT b FROM t1;
653 INSERT INTO t1(b) SELECT b FROM t1;
654 INSERT INTO t1(b) SELECT b FROM t1;
655 INSERT INTO t1(b) SELECT b FROM t1;
656 INSERT INTO t1(b) SELECT b FROM t1;
657 INSERT INTO t1(b) SELECT b FROM t1;
658 INSERT INTO t1(b) SELECT b FROM t1;
659 INSERT INTO t1(b) SELECT b FROM t1;
660 INSERT INTO t1(b) SELECT b FROM t1;
661 INSERT INTO t1(b) SELECT b FROM t1;
663 CREATE
TABLE t2 (a
int NOT NULL PRIMARY KEY, b varchar(127) DEFAULT NULL);
664 INSERT INTO t2 SELECT * FROM t1;
666 CREATE
TABLE t3 (a
int NOT NULL PRIMARY KEY, b varchar(127) DEFAULT NULL);
667 INSERT INTO t3 SELECT * FROM t1;
669 set join_buffer_size=1024*1024;
672 SELECT COUNT(*) FROM t1,t2,t3
673 WHERE t1.a=t2.a AND t2.a=t3.a AND
674 t1.b IS NULL AND t2.b IS NULL AND t3.b IS NULL;
676 SELECT COUNT(*) FROM t1,t2,t3
677 WHERE t1.a=t2.a AND t2.a=t3.a AND
678 t1.b IS NULL AND t2.b IS NULL AND t3.b IS NULL;
680 set join_buffer_size=default;
685 --echo # Bug #42020: join buffer is used
for outer join with fields of
686 --echo # several outer tables in join buffer
693 INSERT INTO t1 VALUES
701 INSERT INTO t2 VALUES
702 (2,30), (2,40), (2,50), (2,60), (2,70), (2,80),
703 (1,10), (1, 20), (1,30), (1,40), (1,50);
706 pk bigint NOT NULL AUTO_INCREMENT,
709 val bigint DEFAULT
'0',
713 INSERT INTO t3(a,b) VALUES
714 (2,30), (2,40), (2,50), (2,60), (2,70), (2,80),
715 (4,30), (4,40), (4,50), (4,60), (4,70), (4,80),
716 (5,30), (5,40), (5,50), (5,60), (5,70), (5,80),
717 (7,30), (7,40), (7,50), (7,60), (7,70), (7,80);
720 SELECT t1.a, t2.a, t3.a, t2.b, t3.b, t3.val
721 FROM (t1,t2) LEFT
JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b)
724 set join_buffer_size=256;
727 SELECT t1.a, t2.a, t3.a, t2.b, t3.b, t3.val
728 FROM (t1,t2) LEFT
JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b)
731 SELECT t1.a, t2.a, t3.a, t2.b, t3.b, t3.val
732 FROM (t1,t2) LEFT
JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b)
735 DROP INDEX idx ON t3;
738 SELECT t1.a, t2.a, t3.a, t2.b, t3.b, t3.val
739 FROM (t1,t2) LEFT
JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b)
743 SELECT t1.a, t2.a, t3.a, t2.b, t3.b, t3.val
744 FROM (t1,t2) LEFT
JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b)
747 set join_buffer_size=default;
751 # WL#4424 Full index condition pushdown with batched key access join
753 create
table t1(f1
int, f2
int);
754 insert into t1 values (1,1),(2,2),(3,3);
755 create
table t2(f1
int not null, f2
int not null, f3
char(200), key(f1,f2));
756 insert into t2 values (1,1,
'qwerty'),(1,2,
'qwerty'),(1,3,
'qwerty');
757 insert into t2 values (2,1,
'qwerty'),(2,2,
'qwerty'),(2,3,
'qwerty'),
758 (2,4,
'qwerty'),(2,5,
'qwerty');
759 insert into t2 values (3,1,
'qwerty'),(3,4,
'qwerty');
760 insert into t2 values (4,1,
'qwerty'),(4,2,
'qwerty'),(4,3,
'qwerty'),
762 insert into t2 values (1,1,
'qwerty'),(1,2,
'qwerty'),(1,3,
'qwerty');
763 insert into t2 values (2,1,
'qwerty'),(2,2,
'qwerty'),(2,3,
'qwerty'),
764 (2,4,
'qwerty'),(2,5,
'qwerty');
765 insert into t2 values (3,1,
'qwerty'),(3,4,
'qwerty');
766 insert into t2 values (4,1,
'qwerty'),(4,2,
'qwerty'),(4,3,
'qwerty'),
770 select t2.f1, t2.f2, t2.f3 from t1,t2
771 where t1.f1=t2.f1 and t2.f2 between t1.f1 and t1.f2 and t2.f2 + 1 >= t1.f1 + 1;
773 explain select t2.f1, t2.f2, t2.f3 from t1,t2
774 where t1.f1=t2.f1 and t2.f2 between t1.f1 and t2.f2;
779 --echo # Bug #42955: join with GROUP BY/
ORDER BY and when BKA is enabled
782 create
table t1 (d
int, id1
int,
index idx1 (d, id1));
783 insert into t1 values
784 (3, 20), (2, 40), (3, 10), (1, 10), (3, 20), (1, 40), (2, 30), (3, 30);
786 create
table t2 (id1
int, id2
int,
index idx2 (id1));
787 insert into t2 values
788 (20, 100), (30, 400), (20, 400), (30, 200), (10, 300), (10, 200), (40, 100),
789 (40, 200), (30, 300), (10, 400), (20, 200), (20, 300);
792 select t1.id1, sum(t2.id2) from t1 join t2 on t1.id1=t2.id1
793 where t1.d=3
group by t1.id1;
795 select t1.id1, sum(t2.id2) from t1 join t2 on t1.id1=t2.id1
796 where t1.d=3
group by t1.id1;
799 select t1.id1 from t1 join t2 on t1.id1=t2.id1
800 where t1.d=3 and t2.id2 > 200 order by t1.id1;
802 select t1.id1 from t1 join t2 on t1.id1=t2.id1
803 where t1.d=3 and t2.id2 > 200 order by t1.id1;
808 --echo # Bug #44019: star-like multi-join
query executed optimizer_join_cache_level=6
811 create
table t1 (a
int, b
int, c
int, d
int);
812 create
table t2 (b
int, e varchar(16),
index idx(b));
813 create
table t3 (d
int, f varchar(16),
index idx(d));
814 create
table t4 (c
int, g varchar(16),
index idx(c));
816 insert into t1 values
817 (5, 50, 500, 5000), (3, 30, 300, 3000), (9, 90, 900, 9000),
818 (2, 20, 200, 2000), (4, 40, 400, 4000), (8, 80, 800, 800),
820 insert into t2 values
821 (30,
'bbb'), (10,
'b'), (70,
'bbbbbbb'), (60,
'bbbbbb'),
822 (31,
'bbb'), (11,
'b'), (71,
'bbbbbbb'), (61,
'bbbbbb'),
823 (32,
'bbb'), (12,
'b'), (72,
'bbbbbbb'), (62,
'bbbbbb');
824 insert into t3 values
825 (4000,
'dddd'), (3000,
'ddd'), (1000,
'd'), (8000,
'dddddddd'),
826 (4001,
'dddd'), (3001,
'ddd'), (1001,
'd'), (8001,
'dddddddd'),
827 (4002,
'dddd'), (3002,
'ddd'), (1002,
'd'), (8002,
'dddddddd');
828 insert into t4 values
829 (200,
'cc'), (600,
'cccccc'), (300,
'ccc'), (500,
'ccccc'),
830 (201,
'cc'), (601,
'cccccc'), (301,
'ccc'), (501,
'ccccc'),
831 (202,
'cc'), (602,
'cccccc'), (302,
'ccc'), (502,
'ccccc');
835 analyze
table t2,t3,t4;
840 select t1.a, t1.b, t1.c, t1.d, t2.e, t3.f, t4.g from t1,t2,t3,t4
841 where t2.b=t1.b and t3.d=t1.d and t4.c=t1.c;
843 select t1.a, t1.b, t1.c, t1.d, t2.e, t3.f, t4.g from t1,t2,t3,t4
844 where t2.b=t1.b and t3.d=t1.d and t4.c=t1.c;
846 drop
table t1,t2,t3,t4;
849 --echo # Bug #44250: Corruption of linked join buffers when
using BKA
853 id1 bigint(20) DEFAULT NULL,
854 id2 bigint(20) DEFAULT NULL,
855 id3 bigint(20) DEFAULT NULL,
856 num1 bigint(20) DEFAULT NULL,
857 num2
int(11) DEFAULT NULL,
858 num3 bigint(20) DEFAULT NULL
862 id3 bigint(20) NOT NULL DEFAULT
'0',
863 id4 bigint(20) DEFAULT NULL,
864 enum1
enum(
'Enabled',
'Disabled',
'Paused') DEFAULT NULL,
869 id4 bigint(20) NOT NULL DEFAULT
'0',
875 id2 bigint(20) NOT NULL DEFAULT
'0',
876 dummy
int(11) DEFAULT
'0',
881 id1 bigint(20) NOT NULL DEFAULT
'0',
882 id2 bigint(20) NOT NULL DEFAULT
'0',
883 enum2
enum(
'Active',
'Deleted',
'Paused') DEFAULT NULL,
884 PRIMARY KEY (id1,id2)
891 INSERT INTO t1 VALUES
892 (228172702,72485641,2667134182,10,1,14),(228172702,94266195,2667134182,134,0,134),
893 (228172702,94266195,2667134182,15,0,15),(228172702,94266195,2667134182,2,0,3),
894 (228172702,818095880,2667134182,1,1,1),(228172702,1004959639,2667134182,3,0,3),
895 (228172702,1297484422,2667134182,1,2,1),(228172702,1730911800,2667134182,11,0,28),
896 (228172702,1730911800,2667134182,4,0,4),(228172702,2182755982,2667134182,5,0,15),
897 (228172702,2182755982,2667134182,1,0,1),(228172702,2968841184,2667134182,1,0,1),
898 (228172702,4765525626,2667134182,2,0,3),(228172702,4765525626,2667134182,29,0,38),
899 (228172702,4765525626,2667134182,7,0,7),(228172702,4765525626,2667134182,7,0,8),
900 (228172702,5330573302,2667134182,1,0,1),(228512602,191149872,935692942,3,0,17),
901 (228512602,259118753,935692942,13,7,13),(228512602,259118753,935692942,83,33,83),
902 (228512602,585705465,935692942,1,0,1),(228512602,585716775,935692942,1,0,1),
903 (228512602,585716775,935692942,6,6,6),(228512602,585716775,935692942,1,1,1),
904 (228512602,1105371172,935692942,2,0,3),(228512602,1105371172,935692942,7,2,7),
905 (228512602,1314223462,935692942,1,0,1),(228512602,1314223642,935692942,1,1,1),
906 (228512602,1411060522,935692942,1,0,1),(228512602,1467398182,935692942,1,0,1),
907 (228512602,1467398182,935692942,3,0,4),(228512602,1467398242,935692942,10,0,41),
908 (228512602,1467398242,935692942,28,0,40),(228512602,1467398242,935692942,0,0,0),
909 (228512602,1467398242,935692942,29,2,33),(228512602,1734178942,935692942,1,0,1),
910 (228512602,1734179122,935692942,1,0,4),(228512602,1734179122,935692942,3,0,6),
911 (228512602,1953612870,935692942,1,0,1),(228512602,2271510562,935692942,1,1,1),
912 (228512602,2271525022,935692942,0,0,0),(228512602,3058831402,935692942,1,1,1),
913 (228512602,3723638842,935692942,1,1,1),(228512602,3723638842,935692942,4,3,4),
914 (228512602,3723836602,935692942,1,1,1),(228512602,3723836842,935692942,1,1,1),
915 (228512602,3723836962,935692942,1,1,1),(228512602,3723988102,935692942,11,4,11),
916 (228512602,3723989182,935692942,8,3,8),(228512602,5920283002,935692942,1,0,1),
917 (228512602,5920314232,935692942,1,0,1),(228512602,191149872,1241589892,0,0,0),
918 (228512602,191149872,1241589892,2,0,4),(228512602,191149872,1241589892,0,0,0),
919 (228512602,259118753,1241589892,8,4,8),(228512602,259118753,1241589892,70,33,70),
920 (228512602,259118753,1241589892,1,1,1),(228512602,585716775,1241589892,8,7,8),
921 (228512602,1105371172,1241589892,1,0,1),(228512602,1105371172,1241589892,9,0,9),
922 (228512602,1314223462,1241589892,1,0,1),(228512602,1411060522,1241589892,1,1,1),
923 (228512602,1467398182,1241589892,1,0,1),(228512602,1467398182,1241589892,4,1,4),
924 (228512602,1467398182,1241589892,1,0,1),(228512602,1467398242,1241589892,10,0,28),
925 (228512602,1467398242,1241589892,37,1,78),(228512602,1467398242,1241589892,28,9,30),
926 (228512602,1467398242,1241589892,5,0,6),(228512602,1734179122,1241589892,3,1,18),
927 (228512602,1734179122,1241589892,1,1,1),(228512602,1734179122,1241589892,2,0,3),
928 (228512602,1953611430,1241589892,1,1,1),(228512602,1953611430,1241589892,1,1,1),
929 (228512602,1953612870,1241589892,1,0,1),(228512602,2026844250,1241589892,1,0,1),
930 (228512602,2271510562,1241589892,1,1,1),(228512602,2271525022,1241589892,1,0,1),
931 (228512602,2941612417,1241589892,1,0,1),(228512602,3723988102,1241589892,1,0,1);
932 INSERT INTO t1 VALUES
933 (228512602,3723988102,1241589892,11,4,11),(228512602,3723989002,1241589892,1,0,1),
934 (228512602,3752960902,1241589892,2,2,4),(228808822,17304242,935693782,6,0,17),
935 (228808822,17304242,935693782,28,1,50),(228808822,17304242,935693782,29,3,61),
936 (228808822,17304242,935693782,6,0,13),(228808822,30931012,935693782,21,0,60),
937 (228808822,30931012,935693782,5,0,13),(228808822,37254452,935693782,3,0,3),
938 (228808822,42726891,935693782,1,0,4),(228808822,42726891,935693782,3,0,6),
939 (228808822,76261151,935693782,8,0,18),(228808822,88240139,935693782,1,0,1),
940 (228808822,88240139,935693782,3,0,3),(228808822,94730895,935693782,2,0,4),
941 (228808822,179737402,935693782,10,0,13),(228808822,179737402,935693782,7,0,8),
942 (228808822,179737402,935693782,3,0,4),(228808822,271288782,935693782,1,0,6),
943 (228808822,304690943,935693782,5,2,10),(228808822,304691183,935693782,4,0,16),
944 (228808822,568994960,935693782,1,0,1),(228808822,631705925,935693782,1,0,1),
945 (228808822,631745165,935693782,1,0,1),(228808822,631749605,935693782,1,0,4),
946 (228808822,1057787002,935693782,1,0,1),(228808822,1057787002,935693782,2,1,4),
947 (228808822,1057787002,935693782,12,1,20),(228808822,1057788022,935693782,2,0,40),
948 (228808822,1057788022,935693782,2,1,3),(228808822,1057788022,935693782,9,2,16),
949 (228808822,1335646822,935693782,3,1,6),(228808822,1335646882,935693782,1,0,3),
950 (228808822,1335646882,935693782,1,0,3),(228808822,1335646942,935693782,7,2,15),
951 (228808822,5510586183,935693782,1,1,1),(228808822,17304242,2482416112,11,0,28),
952 (228808822,17304242,2482416112,34,0,62),(228808822,17304242,2482416112,43,2,89),
953 (228808822,17304242,2482416112,9,0,19),(228808822,30931012,2482416112,32,2,84),
954 (228808822,30931012,2482416112,6,0,14),(228808822,30931012,2482416112,2,0,9),
955 (228808822,37254452,2482416112,1,1,1),(228808822,42726891,2482416112,2,0,10),
956 (228808822,76261151,2482416112,11,0,26),(228808822,88240139,2482416112,3,0,3),
957 (228808822,88240139,2482416112,1,0,1),(228808822,88240139,2482416112,3,0,4),
958 (228808822,94730895,2482416112,1,0,3),(228808822,125469602,2482416112,0,0,0),
959 (228808822,179737402,2482416112,4,0,10),(228808822,179737402,2482416112,8,1,9),
960 (228808822,179737402,2482416112,7,1,9),(228808822,179737402,2482416112,1,0,1),
961 (228808822,271288782,2482416112,2,0,14),(228808822,304690943,2482416112,3,0,6),
962 (228808822,304691183,2482416112,1,0,4),(228808822,555689643,2482416112,2,1,8),
963 (228808822,555689643,2482416112,1,0,4),(228808822,631705925,2482416112,1,0,1),
964 (228808822,631712555,2482416112,1,0,1),(228808822,631745165,2482416112,1,0,1),
965 (228808822,710348755,2482416112,1,0,1),(228808822,753718113,2482416112,1,0,1),
966 (228808822,1057787002,2482416112,1,0,4),(228808822,1057787002,2482416112,1,0,1),
967 (228808822,1057787002,2482416112,4,1,7),(228808822,1057788022,2482416112,7,0,12),
968 (228808822,1057788022,2482416112,3,0,37),(228808822,1057788022,2482416112,0,0,0),
969 (228808822,1057788022,2482416112,12,0,15),(228808822,1335646822,2482416112,14,1,28),
970 (228808822,1335646882,2482416112,1,1,3),(228808822,1335646942,2482416112,5,1,9),
971 (228808822,1335646942,2482416112,1,0,1),(230941762,16069490,2691187582,0,0,0),
972 (230941762,16705991,2691187582,16,0,30),(230941762,16705991,2691187582,12,3,12);
973 INSERT INTO t1 VALUES
974 (230941762,16705991,2691187582,1,0,1),(230941762,27714032,2691187582,6,0,16),
975 (230941762,27714032,2691187582,1,0,1),(230941762,27714032,2691187582,9,0,14),
976 (230941762,28676710,2691187582,3,1,4),(230941762,370319272,2691187582,7,0,7),
977 (230941762,1409814802,2691187582,1,0,3),(230941762,1409814982,2691187582,1,0,1),
978 (230941762,1409814982,2691187582,1,1,1),(230941762,2069703256,2691187582,1,0,3),
979 (230941762,16705991,2691187672,8,1,20),(230941762,16705991,2691187672,11,6,11),
980 (230941762,16705991,2691187672,1,0,1),(230941762,27714032,2691187672,5,0,20),
981 (230941762,27714032,2691187672,1,0,10),(230941762,27714032,2691187672,12,2,17),
982 (230941762,28676710,2691187672,1,0,1),(230941762,142889951,2691187672,2,0,10),
983 (230941762,172526592,2691187672,1,1,1),(230941762,293109282,2691187672,1,0,1),
984 (230941762,370319272,2691187672,10,0,10),(230941762,1409814802,2691187672,1,0,3),
985 (230941762,1409814922,2691187672,1,0,1),(230941762,1409814982,2691187672,1,0,1),
986 (230941762,16069490,2694472582,1,1,1),(230941762,16069490,2694472582,1,1,1),
987 (230941762,16705991,2694472582,15,0,45),(230941762,16705991,2694472582,13,2,15),
988 (230941762,27714032,2694472582,9,0,34),(230941762,27714032,2694472582,2,0,4),
989 (230941762,27714032,2694472582,10,2,14),(230941762,28676710,2694472582,4,0,12),
990 (230941762,28676710,2694472582,1,0,1),(230941762,172526592,2694472582,1,0,4),
991 (230941762,293109282,2694472582,1,0,1),(230941762,370319272,2694472582,6,0,6),
992 (230941762,1409814802,2694472582,1,0,3),(230941762,1409814862,2694472582,1,0,4),
993 (230941762,1409814982,2694472582,1,0,1),(230941762,2680867980,2694472582,1,0,3),
994 (230942122,25451690,935695702,1,0,9),(230942122,31549341,935695702,2,0,18),
995 (230942122,31549341,935695702,2,0,4),(230942122,38900150,935695702,4,0,29),
996 (230942122,38900150,935695702,4,1,13),(230942122,906919252,935695702,39,0,271),
997 (230942122,906919252,935695702,20,0,83),(230942122,906919252,935695702,2,1,9),
998 (230942122,1409816782,935695702,3,0,18),(230942122,1409816842,935695702,1,0,7),
999 (230942122,1409816842,935695702,1,0,3),(230942122,1409816902,935695702,1,0,6),
1000 (230942122,2145075862,935695702,4,1,4),(230942122,25451690,935695822,2,0,16),
1001 (230942122,38900150,935695822,3,0,26),(230942122,38900150,935695822,1,0,3),
1002 (230942122,906919252,935695822,24,0,176),(230942122,906919252,935695822,20,0,74),
1003 (230942122,906919252,935695822,1,0,3),(230942122,1409816782,935695822,2,0,21),
1004 (230942122,1409816782,935695822,2,0,21),(230942122,1409816842,935695822,1,0,3),
1005 (230942122,1409816902,935695822,1,0,7),(231112162,1413675742,935696902,1,0,1),
1006 (231112162,1413675742,935696962,0,0,0),(231112162,1413675742,935696962,4,2,4),
1007 (231112162,1413675922,935696962,1,0,1),(231112162,1413675922,935696962,1,0,1),
1008 (231112162,1413675742,1248588922,1,0,1),(231112162,1413675922,1248588922,3,0,3),
1009 (233937022,12641121,935697562,2,0,13),(233937022,12653871,935697562,1,0,1),
1010 (233937022,12693551,935697562,1,0,1),(233937022,12910461,935697562,2,0,6),
1011 (233937022,12910461,935697562,26,0,65),(233937022,12910461,935697562,44,8,45),
1012 (233937022,12910481,935697562,12,0,19),(233937022,12910481,935697562,7,2,9),
1013 (233937022,12910481,935697562,1,0,1),(233937022,12910511,935697562,8,0,8);
1014 INSERT INTO t1 VALUES
1015 (233937022,12910511,935697562,20,6,22),(233937022,30879781,935697562,34,0,34),
1016 (233937022,30879781,935697562,3,0,4),(233937022,30879781,935697562,1,0,1),
1017 (233937022,45631730,935697562,8,0,39),(233937022,54079090,935697562,12,0,12),
1018 (233937022,54079090,935697562,7,0,11),(233937022,54079090,935697562,14,0,16),
1019 (233937022,94431735,935697562,6,0,31),(233937022,96876131,935697562,3,0,4),
1020 (233937022,105436492,935697562,4,0,4),(233937022,128981555,935697562,3,0,3),
1021 (233937022,145211004,935697562,1,0,1),(233937022,146382622,935697562,1,0,1),
1022 (233937022,175678702,935697562,1,0,4),(233937022,298998998,935697562,1,0,1),
1023 (233937022,335995773,935697562,3,0,3),(233937022,335995773,935697562,2,0,3),
1024 (233937022,347447636,935697562,0,0,0),(233937022,459295955,935697562,3,0,3),
1025 (233937022,459376625,935697562,1,0,1),(233937022,495877773,935697562,1,0,1),
1026 (233937022,497008702,935697562,1,0,3),(233937022,561944105,935697562,1,0,1),
1027 (233937022,561944105,935697562,1,0,1),(233937022,586535965,935697562,3,0,3),
1028 (233937022,631549775,935697562,1,0,7),(233937022,647138479,935697562,1,0,1),
1029 (233937022,655870453,935697562,4,0,7),(233937022,694832725,935697562,1,0,1),
1030 (233937022,864475057,935697562,1,0,1),(233937022,1010757503,935697562,1,0,4),
1031 (233937022,1010847736,935697562,2,0,9),(233937022,1287437116,935697562,2,0,4),
1032 (233937022,1337693056,935697562,1,0,1),(233937022,1569279742,935697562,1,1,1),
1033 (233937022,1569280102,935697562,2,0,7),(233937022,1569280882,935697562,2,1,3),
1034 (233937022,1569281062,935697562,1,0,1),(233937022,1569281962,935697562,1,0,3),
1035 (233937022,2823580588,935697562,2,0,8),(233937022,2823580588,935697562,3,1,10),
1036 (233937022,2842066134,935697562,1,0,1),(233937022,2904542181,935697562,1,0,1),
1037 (233937022,3058483627,935697562,1,0,1),(233937022,4507287318,935697562,1,0,1),
1038 (233937022,5283489892,935697562,1,0,1),(233937022,11890554322,935697562,16,0,16),
1039 (233937022,11890756102,935697562,3,1,3),(233937022,12641121,953996482,1,0,7),
1040 (233937022,12641851,953996482,1,0,1),(233937022,12641851,953996482,1,0,1),
1041 (233937022,12910461,953996482,4,0,14),(233937022,12910461,953996482,20,2,23),
1042 (233937022,12910461,953996482,43,5,43),(233937022,12910461,953996482,1,0,1),
1043 (233937022,12910481,953996482,17,2,30),(233937022,12910511,953996482,7,1,8),
1044 (233937022,12910511,953996482,23,5,23),(233937022,14913951,953996482,2,0,3),
1045 (233937022,21835210,953996482,1,1,1),(233937022,26481052,953996482,1,1,1),
1046 (233937022,26481052,953996482,1,0,1),(233937022,30879781,953996482,2,0,3),
1047 (233937022,30879781,953996482,22,0,22),(233937022,35617681,953996482,1,0,1),
1048 (233937022,45631730,953996482,3,0,11),(233937022,54079090,953996482,13,0,13),
1049 (233937022,54079090,953996482,11,0,16),(233937022,54079090,953996482,29,0,34),
1050 (233937022,94431735,953996482,3,0,9),(233937022,96876131,953996482,3,0,4),
1051 (233937022,105436492,953996482,1,0,1),(233937022,105437952,953996482,3,1,3),
1052 (233937022,123639716,953996482,1,0,6),(233937022,145211004,953996482,2,0,3),
1053 (233937022,145211004,953996482,2,1,3),(233937022,146382622,953996482,1,0,1),
1054 (233937022,146382622,953996482,1,0,1),(233937022,155454324,953996482,1,0,1);
1055 INSERT INTO t1 VALUES
1056 (233937022,298998998,953996482,1,1,1),(233937022,335995773,953996482,1,0,1),
1057 (233937022,335995773,953996482,7,2,9),(233937022,459295955,953996482,2,0,4),
1058 (233937022,561944105,953996482,1,0,1),(233937022,655870453,953996482,5,0,9),
1059 (233937022,694832725,953996482,1,0,1),(233937022,694832725,953996482,1,0,1),
1060 (233937022,864475057,953996482,4,1,4),(233937022,897886118,953996482,1,0,1),
1061 (233937022,897886118,953996482,1,0,3),(233937022,1005147016,953996482,1,0,1),
1062 (233937022,1010757503,953996482,1,0,1),(233937022,1082217873,953996482,1,0,1),
1063 (233937022,1286925326,953996482,1,0,1),(233937022,1337693056,953996482,4,0,4),
1064 (233937022,1407236408,953996482,2,0,3),(233937022,1569280102,953996482,1,0,6),
1065 (233937022,1569280222,953996482,1,0,1),(233937022,1569281062,953996482,1,0,1),
1066 (233937022,1569284362,953996482,1,0,3),(233937022,2823580588,953996482,1,0,3),
1067 (233937022,2904542181,953996482,3,0,7),(233937022,4371581485,953996482,1,0,1),
1068 (233937022,5283491332,953996482,1,0,1),(233937022,7300486013,953996482,1,1,1),
1069 (233937022,11890554322,953996482,16,0,16),(233937022,11890754392,953996482,1,0,1),
1070 (233937022,11890754392,953996482,0,0,0);
1072 INSERT INTO t2 VALUES
1073 (2667134182,2567095402,
'Enabled'),(935692942,826927822,
'Enabled'),
1074 (1241589892,1130891152,
'Enabled'),(935693782,826928662,
'Enabled'),
1075 (2482416112,2381969632,
'Enabled'),(2691187582,2591198842,
'Enabled'),
1076 (2691187672,2591198932,
'Enabled'),(2694472582,2594492212,
'Paused'),
1077 (935695702,826930582,
'Enabled'),(935695822,826930702,
'Enabled'),
1078 (935696902,826931782,
'Enabled'),(935696962,826931842,
'Enabled'),
1079 (1248588922,1137805582,
'Enabled'),(935697562,826932442,
'Paused'),
1080 (953996482,845181202,
'Enabled'),(2702549092,2602579882,
'Enabled'),
1081 (2702549182,2602579972,
'Enabled'),(2702550712,2602581502,
'Enabled'),
1082 (1125312412,1015179502,
'Enabled'),(2708245462,2608290202,
'Enabled'),
1083 (2708247262,2608292002,
'Enabled'),(935699242,826934122,
'Enabled'),
1084 (1125312502,1015179592,
'Enabled'),(1125312592,1015179682,
'Enabled'),
1085 (2711450452,2611502302,
'Enabled'),(2711452252,2611504102,
'Enabled'),
1086 (935699902,826934782,
'Enabled'),(935700262,826935142,
'Enabled'),
1087 (1215381442,1104677032,
'Enabled'),(2503848082,2403457762,
'Enabled'),
1088 (935701762,826936642,
'Enabled'),(935701822,826936702,
'Enabled'),
1089 (1468810282,1355227402,
'Enabled'),(935702842,826937722,
'Enabled'),
1090 (1125312682,1015179772,
'Enabled'),(2713816102,2613869392,
'Enabled'),
1091 (2688452032,2588455012,
'Enabled'),(2688452212,2588455192,
'Enabled'),
1092 (2701527412,2601556942,
'Enabled'),(1623918712,1510242412,
'Enabled'),
1093 (2701521922,2601551452,
'Enabled'),(2701527772,2601557302,
'Enabled');
1095 INSERT INTO `t3` VALUES
1096 (2567095402,
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'),
1097 (826927822,
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'),(1130891152,
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'),
1098 (826928662,
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'),
1099 (2381969632,
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'),
1100 (2591198842,
'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD'),
1101 (2591198932,
'EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE'),
1102 (2594492212,
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'),
1103 (826930582,
'GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG'),
1104 (826930702,
'GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG'),
1105 (826931782,
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'),
1106 (826931842,
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'),
1107 (1137805582,
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
1109 INSERT INTO t4 VALUES
1110 (12618121,0),(12641121,0),(12641851,0),(12653871,0),(12665801,0),(12666811,0),
1111 (12693551,0),(12910461,0),(12910481,0),(12910511,0),(14787251,0),(14913941,0),
1112 (14913951,0),(16069490,0),(16705901,0),(16705991,0),(17291062,0),(17304242,0),
1113 (20737411,0),(21524370,0),(21835210,0),(25300361,0),(25451690,0),(25728842,0),
1114 (26481052,0),(27714032,0),(28676710,0),(30879781,0),(30931012,0),(31549341,0),
1115 (35617681,0),(37254452,0),(38619430,0),(38895490,0),(38900150,0),(39798990,0),
1116 (42726891,0),(42867050,0),(43439030,0),(45631730,0),(47171711,0),(49539832,0),
1117 (54079090,0),(60442241,0),(65320501,0),(72485641,0),(76261151,0),(87949714,0),
1118 (88240139,0),(94266195,0),(94431735,0),(94730895,0),(96876131,0);
1120 INSERT INTO t5 VALUES
1121 (228172702,72485641,
'Active'),(228172702,94266195,
'Active'),
1122 (228172702,818095880,
'Active'),(228172702,1004959639,
'Active'),
1123 (228172702,1297484242,
'Active'),(228172702,1297484422,
'Active'),
1124 (228172702,1730911800,
'Active'),(228172702,1808277389,
'Active'),
1125 (228172702,2182755982,
'Active'),(228172702,2968841184,
'Active'),
1126 (228172702,3015116542,
'Active'),(228172702,3752383170,
'Active'),
1127 (228172702,4765525626,
'Active'),(228172702,5330573302,
'Active'),
1128 (228512602,191149872,
'Active'),(228512602,259118753,
'Active'),
1129 (228512602,585705465,
'Active'),(228512602,585716775,
'Active'),
1130 (228512602,1105371172,
'Active'),(228512602,1314223462,
'Active'),
1131 (228512602,1314223642,
'Active'),(228512602,1411060522,
'Active'),
1132 (228512602,1467398182,
'Active'),(228512602,1467398242,
'Active'),
1133 (228512602,1734178942,
'Active'),(228512602,1734179122,
'Active'),
1134 (228512602,1953612870,
'Active'),(228512602,2271510562,
'Active'),
1135 (228512602,2271525022,
'Active'),(228512602,2941612417,
'Active'),
1136 (228512602,3058831402,
'Active'),(228512602,3723638842,
'Active'),
1137 (228512602,3723836602,
'Active'),(228512602,3723836842,
'Active'),
1138 (228512602,3723836962,
'Active'),(228512602,3723988102,
'Active'),
1139 (228512602,3723989182,
'Active'),(228512602,5920283002,
'Active'),
1140 (228512602,5920314232,
'Active'),(228512602,585717615,
'Active'),
1141 (228512602,1953611430,
'Active'),(228512602,2026844250,
'Active'),
1142 (228512602,3058831462,
'Active'),(228512602,3723836902,
'Active'),
1143 (228512602,3723989002,
'Active'),(228512602,3752960902,
'Active'),
1144 (228808822,17304242,
'Active'),(228808822,30931012,
'Active'),
1145 (228808822,37254452,
'Active'),(228808822,42726891,
'Active'),
1146 (228808822,76261151,
'Active'),(228808822,88240139,
'Active'),
1147 (228808822,94730895,
'Active'),(228808822,125469622,
'Active'),
1148 (228808822,179737402,
'Active'),(228808822,271288782,
'Active'),
1149 (228808822,304690943,
'Active'),(228808822,304691183,
'Active'),
1150 (228808822,496123368,
'Active'),(228808822,555689643,
'Active'),
1151 (228808822,568994960,
'Active'),(228808822,631705925,
'Active'),
1152 (228808822,631745165,
'Active'),(228808822,631749605,
'Active'),
1153 (228808822,1057787002,
'Active'),(228808822,1057788022,
'Active'),
1154 (228808822,1335646822,
'Active'),(228808822,1335646882,
'Active'),
1155 (228808822,1335646942,
'Active'),(228808822,1612792238,
'Active'),
1156 (228808822,5510586183,
'Active'),(228808822,47171711,
'Active'),
1157 (228808822,125469602,
'Active'),(228808822,631712555,
'Active'),
1158 (228808822,710348755,
'Active'),(228808822,753718113,
'Active'),
1159 (230941762,16069490,
'Active'),(230941762,16705991,
'Active'),
1160 (230941762,27714032,
'Active'),(230941762,28676710,
'Active');
1161 INSERT INTO t5 VALUES
1162 (230941762,370319272,
'Active'),(230941762,1409814802,
'Active'),
1163 (230941762,1409814982,
'Active'),(230941762,2069703256,
'Active'),
1164 (230941762,142889951,
'Active'),(230941762,172526592,
'Active'),
1165 (230941762,293109282,
'Active'),(230941762,1409814922,
'Active'),
1166 (230941762,1409814862,
'Active'),(230941762,2680867980,
'Active'),
1167 (230942122,25451690,
'Active'),(230942122,31549341,
'Active'),
1168 (230942122,38900150,
'Active'),(230942122,464554745,
'Active'),
1169 (230942122,906919252,
'Active'),(230942122,1409816782,
'Active'),
1170 (230942122,1409816842,
'Active'),(230942122,1409816902,
'Active'),
1171 (230942122,2145075862,
'Active'),(231112162,1413675742,
'Active'),
1172 (231112162,1413675922,
'Active'),(231112162,1413675562,
'Active'),
1173 (231112162,1413675802,
'Active'),(233937022,12641121,
'Active'),
1174 (233937022,12653871,
'Active'),(233937022,12693551,
'Active'),
1175 (233937022,12910461,
'Active'),(233937022,12910481,
'Active'),
1176 (233937022,12910511,
'Active'),(233937022,14913941,
'Active'),
1177 (233937022,30879781,
'Active'),(233937022,45631730,
'Active'),
1178 (233937022,54079090,
'Active'),(233937022,65320501,
'Active'),
1179 (233937022,94431735,
'Active'),(233937022,96876131,
'Active'),
1180 (233937022,105436492,
'Active'),(233937022,105437952,
'Active'),
1181 (233937022,128981555,
'Active'),(233937022,145211004,
'Active'),
1182 (233937022,146382622,
'Active'),(233937022,148832422,
'Active'),
1183 (233937022,175678702,
'Active'),(233937022,260507673,
'Active'),
1184 (233937022,298998998,
'Active'),(233937022,335995773,
'Active'),
1185 (233937022,347447636,
'Active'),(233937022,459295955,
'Active'),
1186 (233937022,459376625,
'Active'),(233937022,495877773,
'Active'),
1187 (233937022,497008702,
'Active'),(233937022,561944105,
'Active'),
1188 (233937022,586535965,
'Active'),(233937022,631549775,
'Active'),
1189 (233937022,647138479,
'Active'),(233937022,655870453,
'Active'),
1190 (233937022,694832725,
'Active'),(233937022,835712045,
'Active'),
1191 (233937022,864475057,
'Active'),(233937022,864484777,
'Active'),
1192 (233937022,1010757503,
'Active'),(233937022,1010847736,
'Active'),
1193 (233937022,1091554836,
'Active'),(233937022,1287437116,
'Active'),
1194 (233937022,1337693056,
'Active'),(233937022,1569279742,
'Active'),
1195 (233937022,1569280102,
'Active'),(233937022,1569280222,
'Active'),
1196 (233937022,1569280582,
'Active'),(233937022,1569280882,
'Active'),
1197 (233937022,1569281062,
'Active'),(233937022,1569281962,
'Active'),
1198 (233937022,1569284362,
'Active'),(233937022,1743317015,
'Active'),
1199 (233937022,2698799002,
'Active'),(233937022,2698800742,
'Active'),
1200 (233937022,2823580588,
'Active'),(233937022,2842066134,
'Active'),
1201 (233937022,2904542181,
'Active'),(233937022,3058483627,
'Active');
1202 INSERT INTO t5 VALUES
1203 (233937022,4507287318,
'Active'),(233937022,5283489892,
'Active'),
1204 (233937022,11890554322,
'Active'),(233937022,11890756102,
'Active'),
1205 (233937022,12641851,
'Active'),(233937022,14913951,
'Active'),
1206 (233937022,21835210,
'Active'),(233937022,26481052,
'Active'),
1207 (233937022,35617681,
'Active'),(233937022,123639716,
'Active'),
1208 (233937022,155454324,
'Active'),(233937022,299001668,
'Active'),
1209 (233937022,897886118,
'Active'),(233937022,1005147016,
'Active'),
1210 (233937022,1082217873,
'Active'),(233937022,1286925326,
'Active'),
1211 (233937022,1407236408,
'Active'),(233937022,4371581485,
'Active'),
1212 (233937022,5283491332,
'Active'),(233937022,7300486013,
'Active'),
1213 (233937022,11890754392,
'Active');
1219 set join_buffer_size=2048;
1222 SELECT STRAIGHT_JOIN t1.id1, t1.num3, t3.text1, t3.id4, t2.id3, t4.dummy
1224 WHERE t1.id1=t5.id1 AND t1.id2=t5.id2 and t4.id2=t1.id2 AND
1225 t5.enum2=
'Active' AND t3.id4=t2.id4 AND t2.id3=t1.id3 AND t3.text1<
'D';
1228 SELECT STRAIGHT_JOIN t1.id1, t1.num3, t3.text1, t3.id4, t2.id3, t4.dummy
1230 WHERE t1.id1=t5.id1 AND t1.id2=t5.id2 and t4.id2=t1.id2 AND
1231 t5.enum2=
'Active' AND t3.id4=t2.id4 AND t2.id3=t1.id3 AND t3.text1<
'D';
1233 set join_buffer_size=
default;
1235 DROP
TABLE t1,t2,t3,t4,t5;
1238 --echo # Bug #46328: Use of aggregate
function without GROUP BY clause
1239 --echo # returns many rows (vs. one )
1243 int_key
int(11) NOT NULL,
1244 KEY int_key (int_key)
1247 INSERT INTO t1 VALUES
1248 (0),(2),(2),(2),(3),(4),(5),(5),(6),(6),(8),(8),(9),(9);
1251 int_key
int(11) NOT NULL,
1252 KEY int_key (int_key)
1255 INSERT INTO t2 VALUES (2),(3);
1259 --echo # The
query shall
return 1
record with a max value 9 and one of the
1260 --echo # int_key values inserted above (undefined which one).
A changed
1261 --echo # execution
plan may change the value in the second column
1262 SELECT MAX(t1.int_key), t1.int_key
1263 FROM t1 STRAIGHT_JOIN t2
1264 ORDER BY t1.int_key;
1269 SELECT MAX(t1.int_key), t1.int_key
1270 FROM t1 STRAIGHT_JOIN t2
1271 ORDER BY t1.int_key;
1278 --echo # Bug #45019: join buffer contains two blob columns one of which is
1279 --echo # used in the key employed
to access the joined
table
1282 CREATE
TABLE t1 (c1
int, c2
int, key (c2));
1283 INSERT INTO t1 VALUES (1,1);
1284 INSERT INTO t1 VALUES (2,2);
1286 CREATE
TABLE t2 (c1 text, c2 text);
1287 INSERT INTO t2 VALUES(
'tt',
'uu');
1288 INSERT INTO t2 VALUES(
'zzzz',
'xxxxxxxxx');
1290 --disable_result_log
1291 ANALYZE
TABLE t1,t2;
1294 SELECT t1.*, t2.*, LENGTH(t2.c1), LENGTH(t2.c2) FROM t1,t2
1295 WHERE t1.c2=LENGTH(t2.c2) and t1.c1=LENGTH(t2.c1);
1300 --echo # Regression test
for
1301 --echo # Bug#46733 - NULL value not returned
for aggregate on empty result
1302 --echo #
set w/ semijoin on
1305 v varchar(1) DEFAULT NULL,
1309 INSERT INTO t1 VALUES (10,
'a'),(11,
'b'),(12,
'c'),(13,
'd');
1313 v varchar(1) DEFAULT NULL,
1317 INSERT INTO t2 VALUES (1,
'x'),(2,
'y');
1322 FROM t1
JOIN t2 ON t2.v
1329 FROM t1
JOIN t2 ON t2.v
1337 --echo # Bug#51092: Linked join buffer gives wrong result
1338 --echo #
for 3-way cross join
1341 CREATE
TABLE t1 (a INT, b INT);
1342 INSERT INTO t1 VALUES (1,1),(2,2);
1344 CREATE
TABLE t2 (a INT, b INT);
1345 INSERT INTO t2 VALUES (1,1),(2,2);
1347 CREATE
TABLE t3 (a INT, b INT);
1348 INSERT INTO t3 VALUES (1,1),(2,2);
1350 EXPLAIN SELECT t1.* FROM t1,t2,t3;
1351 SELECT t1.* FROM t1,t2,t3;
1353 DROP
TABLE t1,t2,t3;
1356 --echo # BUG#52394 Segfault in JOIN_CACHE::get_offset () at sql_select.h:445
1359 CREATE
TABLE C(a
int);
1360 INSERT INTO C VALUES(1),(2),(3),(4),(5);
1362 CREATE
TABLE D (a
int(11), b varchar(1));
1363 INSERT INTO D VALUES (6,
'r'),(27,
'o');
1365 CREATE
TABLE E (a
int(11) primary key, b varchar(1));
1366 INSERT INTO
E VALUES
1367 (14,
'd'),(15,
'z'),(16,
'e'),(17,
'h'),(18,
'b'),(19,
's'),(20,
'e'),(21,
'j'),(22,
'e'),(23,
'f'),(24,
'v'),(25,
'x'),(26,
'm'),(27,
'c');
1369 SELECT 1 FROM C,D,
E WHERE D.a =
E.a AND D.b =
E.b;
1373 --echo # BUG#52540 Crash in JOIN_CACHE::set_match_flag_if_none () at sql_join_cache.cc:1883
1376 CREATE
TABLE t1 (a
int);
1377 INSERT INTO t1 VALUES (2);
1378 CREATE
TABLE t2 (a varchar(10));
1379 INSERT INTO t2 VALUES (
'f'),(
'x');
1380 CREATE
TABLE t3 (pk
int(11) PRIMARY KEY);
1381 INSERT INTO t3 VALUES (2);
1382 CREATE
TABLE t4 (a varchar(10));
1386 ((t1
JOIN t3 ON t1.a = t3.pk)
1392 ((t1
JOIN t3 ON t1.a = t3.pk)
1396 DROP
TABLE t1,t2,t3,t4;
1399 --echo # Bug#51084: Batched key access crashes
for SELECT with
1407 INSERT INTO t1 VALUES (1,11),(1,12),(2,13);
1413 INSERT INTO t2 VALUES (2008,21),(2008,22);
1416 carrier
int PRIMARY KEY,
1419 INSERT INTO t3 VALUES (1,31);
1423 INDEX carrier_id(carrier_id)
1425 INSERT INTO t4 VALUES (31),(32);
1429 FROM (t2
JOIN t1) LEFT
JOIN (t3
JOIN t4 ON t3.
id = t4.carrier_id)
1430 ON t3.carrier = t1.carrier;
1435 FROM (t2
JOIN t1) LEFT
JOIN (t3
JOIN t4 ON t3.
id = t4.carrier_id)
1436 ON t3.carrier = t1.carrier;
1438 DROP
TABLE t1,t2,t3,t4;
1441 --echo # Bug#45267: Incomplete check caused wrong result.
1444 `pk`
int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
1447 `pk`
int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
1449 INSERT INTO t3 VALUES
1450 (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),
1451 (16),(17),(18),(19),(20);
1453 `pk`
int(11) NOT NULL AUTO_INCREMENT,
1454 `int_nokey`
int(11) NOT NULL,
1455 `time_key` time NOT NULL,
1457 KEY `time_key` (`time_key`)
1459 INSERT INTO t2 VALUES (10,9,
'22:36:46'),(11,0,
'08:46:46');
1461 SELECT DISTINCT t1.`pk`
1462 FROM t1 RIGHT
JOIN t2 STRAIGHT_JOIN t3 ON t2.`int_nokey` ON t2.`time_key`
1465 DROP
TABLE IF EXISTS t1, t2, t3;
1468 --echo # BUG#52636 6.0 allowing JOINs on NULL values w/ optimizer_join_cache_level = 5-8
1471 CREATE
TABLE t1 (b
int);
1472 INSERT INTO t1 VALUES (NULL),(3);
1474 CREATE
TABLE t2 (a
int, b
int, KEY (b));
1475 INSERT INTO t2 VALUES (100,NULL),(150,200);
1477 let $query= SELECT t2.a FROM t1 LEFT
JOIN t2 FORCE INDEX (b) ON t2.b = t1.b;
1478 --eval EXPLAIN $query
1482 # test crash when no key is worth collecting by BKA for t2's ref
1484 INSERT INTO t1 VALUES (NULL),(NULL);
1486 --eval EXPLAIN $query
1493 CREATE
TABLE t1 (b varchar(100));
1494 INSERT INTO t1 VALUES (NULL),(
"some varchar");
1496 CREATE
TABLE t2 (a
int, b varchar(100), KEY (b));
1497 INSERT INTO t2 VALUES (100,NULL),(150,
"varchar"),(200,NULL),(250,
"long long varchar");
1499 explain SELECT t2.a FROM t1 LEFT
JOIN t2 ON t2.b = t1.b;
1501 SELECT t2.a FROM t1 LEFT
JOIN t2 ON t2.b = t1.b;
1506 --echo # BUG#54359
"Extra rows with join_cache_level=7,8 and two joins
1507 --echo # --and multi-column index"
1511 `pk`
int(11) NOT NULL,
1512 `col_int_key`
int(11) DEFAULT NULL,
1513 `col_varchar_key` varchar(1) DEFAULT NULL,
1514 `col_varchar_nokey` varchar(1) DEFAULT NULL,
1515 KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`))
1518 INSERT INTO t1 VALUES (4,9,
'k',
'k');
1519 INSERT INTO t1 VALUES (12,5,
'k',
'k');
1521 let $query_i= SELECT table2 .`col_int_key` FROM t1 table2,
1522 t1 table3 force
index (`col_varchar_key`)
1523 where table3 .`pk` and table3 .`col_int_key` >= table2 .`pk`
1524 and table3 .`col_varchar_key` = table2 .`col_varchar_nokey`;
1526 eval explain $query_i;
1532 --echo # BUG#54481
"GROUP BY loses effect with JOIN + ORDER BY + LIMIT
1533 --echo # and join_cache_level=5-8"
1538 `col_datetime` datetime,
1539 KEY `col_int_key` (`col_int_key`)
1542 INSERT INTO t1 VALUES (2,
'2003-02-11 21:19:41');
1543 INSERT INTO t1 VALUES (3,
'2009-10-18 02:27:49');
1544 INSERT INTO t1 VALUES (0,
'2000-09-26 07:45:57');
1549 KEY `col_int_key` (`col_int_key`)
1552 INSERT INTO t2 VALUES (14,1);
1553 INSERT INTO t2 VALUES (98,1);
1555 # The WHERE clause is true for all rows of t2
1556 # but is needed to trigger the desired plan.
1558 let $query=SELECT t1.col_int_key, t1.col_datetime
1560 WHERE t2.col_int_key = 1 AND t2.col_int >= 3
1561 GROUP BY t1.col_int_key
1562 ORDER BY t1.col_int_key, t1.col_datetime
1565 eval explain $query;
1568 # by disabling one index and forcing another, we hit
1569 # block-nested-loop join and see the same bug
1570 let $query=SELECT t1.col_int_key, t1.col_datetime
1571 FROM t1 force
index (col_int_key), t2 ignore
index (col_int_key)
1572 WHERE t2.col_int_key = 1 AND t2.col_int >= 3
1573 GROUP BY t1.col_int_key
1574 ORDER BY t1.col_int_key, t1.col_datetime
1577 eval explain $query;
1583 --echo
# Bug#11766522 "59651: ASSERTION `TABLE_REF->HAS_RECORD' FAILED
1584 --echo # WITH JOIN_CACHE_LEVEL=3
"
1590 INSERT INTO t1 VALUES ('1'),('1');
1595 INSERT INTO t4 VALUES (''),('pf');
1600 INSERT INTO t6 VALUES ('2010-11-07 01:04:45'),('2010-12-13 01:36:32');
1603 col319 timestamp NOT NULL,
1604 UNIQUE KEY idx263 (col319)
1606 # zero rows would do, if there was no const-table optimization
1607 insert into t7 values("2000-01-01
"),("2000-01-02
");
1610 col582 char(230) CHARACTER SET utf8 DEFAULT NULL
1612 # one single row would do, if there was no const-table optimization
1613 INSERT INTO t3 VALUES ('cymej'),('spb');
1618 # zero rows would do, if there was no const-table optimization
1619 insert into t5 values(0),(0);
1625 INSERT INTO t8 VALUES ('tmqcb','pwk');
1630 # one single row would do, if there was no const-table optimization
1631 INSERT INTO t2 VALUES (''),('');
1633 # Small buffer, to trigger "full buffer
" in both caches of t8 and t6.
1634 # Setting to 1 will actually set to the smallest allowed value,
1635 # with a "rounding
" warning message.
1636 set join_buffer_size=1;
1637 select @@join_buffer_size;
1640 select count(*) from
1641 (t1 join t2 join t3)
1643 left join t5 on 1 like t4.col253
1644 left join t6 on t5.col712 is null
1645 left join t7 on t1.b <=>t7.col319
1646 left join t8 on t3.col582 <= 1;
1649 drop table t1,t2,t3,t4,t5,t6,t7,t8;
1652 --echo # Bug#12616131 - JCL: NULL VS DATE + TWICE AS MANY ROWS
1653 --echo # RETURNED WHEN JCL>=7
1656 CREATE TABLE t1 (t1a int, t1b int);
1657 INSERT INTO t1 VALUES (99, NULL),(99, 3),(99,0);
1659 CREATE TABLE t2 (t2a int, t2b int, KEY idx (t2b));
1660 INSERT INTO t2 VALUES (100,0),(150,200),(999, 0),(999, NULL);
1662 let $query1= SELECT * FROM t1 LEFT JOIN t2 force index (idx) ON t2.t2b = t1.t1b;
1663 let $query2= SELECT * FROM t1 LEFT JOIN t2 force index (idx) ON t2.t2b <=> t1.t1b;
1666 --echo # t2b is NULL-able
1668 --eval EXPLAIN $query1
1671 --eval EXPLAIN $query2
1677 CREATE TABLE t2 (t2a int, t2b int NOT NULL, KEY idx (t2b));
1678 INSERT INTO t2 VALUES (100,0),(150,200),(999, 0);
1681 --echo # t2b is NOT NULL
1683 --eval EXPLAIN $query1
1686 --eval EXPLAIN $query2
1693 --echo # BUG#12619399 - JCL: NO ROWS VS 3X NULL QUERY OUTPUT WHEN JCL>=5
1697 c1 INTEGER NOT NULL,
1698 c2_key INTEGER NOT NULL,
1699 KEY col_int_key (c2_key)
1702 INSERT INTO t1 VALUES (24,204);
1705 pk INTEGER NOT NULL,
1709 INSERT INTO t2 VALUES (10);
1716 INSERT INTO t3 VALUES (NULL), (NULL);
1718 # Bug was specific of IN->EXISTS:
1719 set @old_opt_switch=@@optimizer_switch;
1721 if (`select locate('materialization', @@optimizer_switch) > 0`)
1723 set optimizer_switch='materialization=off';
1730 SELECT t3.c1 FROM t3
1731 WHERE t3.c1 IN (SELECT t1.c2_key FROM t2 JOIN t1 ON t2.pk < t1.c1)
1734 #BKA is OK for this query
1735 let query_in_toplevel=
1736 SELECT t3.c1 FROM t3
1737 WHERE t3.c1 IN (SELECT t1.c2_key FROM t2 JOIN t1 ON t2.pk < t1.c1);
1740 SELECT t3.c1 FROM t3
1741 WHERE t3.c1 NOT IN (SELECT t1.c2_key FROM t2 JOIN t1 ON t2.pk < t1.c1);
1744 SELECT t3.c1 FROM t3
1745 WHERE t3.c1 = ANY (SELECT t1.c2_key FROM t2 JOIN t1 ON t2.pk < t1.c1)
1749 SELECT t3.c1 FROM t3
1750 WHERE t3.c1 = SOME (SELECT t1.c2_key FROM t2 JOIN t1 ON t2.pk < t1.c1)
1753 eval explain $query_some;
1754 eval explain $query_any;
1755 eval explain $query_in;
1756 eval explain $query_notin;
1757 eval explain $query_in_toplevel;
1762 eval $query_in_toplevel;
1766 set @@optimizer_switch=@old_opt_switch;
1767 DROP TABLE t1, t2, t3;
1769 set @@join_buffer_size=default;
1772 --echo # BUG#12586926 "EXTRA ROW WITH
JOIN + GROUP BY +
ORDER BY WITH
1773 --echo # JCL>=5 AND MRR ENABLED
"
1776 CREATE TABLE t1 ( col_int_key int(11) NOT NULL,
1777 col_varchar_key varchar(1) NOT NULL,
1778 KEY col_int_key (col_int_key),
1779 KEY col_varchar_key (col_varchar_key,col_int_key)
1782 INSERT INTO t1 VALUES (0,'j'),(4,'b'),(4,'d');
1785 col_datetime_key datetime NOT NULL,
1786 col_varchar_key varchar(1) NOT NULL,
1787 KEY col_varchar_key (col_varchar_key)
1790 INSERT INTO t2 VALUES ('2003-08-21 00:00:00','b');
1792 -- disable_query_log
1793 -- disable_result_log
1797 -- enable_result_log
1799 # need to force the index, or it picks BNL for t2 (lower cost),
1800 # whereas we want to test BKA
1802 SELECT MIN(t2.col_datetime_key) AS field1,
1803 t1.col_int_key AS field2
1805 LEFT JOIN t2 force index (col_varchar_key)
1806 ON t1.col_varchar_key = t2.col_varchar_key
1810 eval explain $query;
1816 --echo # BUG#12619510 "JCL: MORE ROWS AND DIFFERENT
OUTPUT WITH JCL>=5
"
1820 col_int_key int(11) NOT NULL,
1821 col_datetime_key datetime NOT NULL,
1822 col_varchar_nokey varchar(1) NOT NULL,
1823 KEY col_int_key (col_int_key),
1824 KEY col_datetime_key (col_datetime_key)
1826 INSERT INTO t1 VALUES (7,'2004-06-06 04:22:12','v');
1827 INSERT INTO t1 VALUES (0,'2005-11-13 01:12:31','s');
1828 INSERT INTO t1 VALUES (9,'2002-05-04 01:50:00','l');
1829 INSERT INTO t1 VALUES (3,'2004-10-27 10:28:45','y');
1830 INSERT INTO t1 VALUES (4,'2006-07-22 05:24:23','c');
1831 INSERT INTO t1 VALUES (2,'2002-05-16 21:34:03','i');
1832 INSERT INTO t1 VALUES (5,'2008-04-17 10:45:30','h');
1833 INSERT INTO t1 VALUES (3,'2009-04-21 02:58:02','q');
1834 INSERT INTO t1 VALUES (1,'2008-01-11 11:01:51','a');
1835 INSERT INTO t1 VALUES (3,'1900-01-01 00:00:00','v');
1836 INSERT INTO t1 VALUES (6,'2007-05-17 18:24:57','u');
1837 INSERT INTO t1 VALUES (7,'2007-08-07 00:00:00','s');
1838 INSERT INTO t1 VALUES (5,'2001-08-28 00:00:00','y');
1839 INSERT INTO t1 VALUES (1,'2004-04-16 00:27:28','z');
1840 INSERT INTO t1 VALUES (204,'2005-05-03 07:06:22','h');
1841 INSERT INTO t1 VALUES (224,'2009-03-11 17:09:50','p');
1842 INSERT INTO t1 VALUES (9,'2007-12-08 01:54:28','e');
1843 INSERT INTO t1 VALUES (5,'2009-07-28 18:19:54','i');
1844 INSERT INTO t1 VALUES (0,'2008-06-08 00:00:00','y');
1845 INSERT INTO t1 VALUES (3,'2005-02-09 09:20:26','w');
1848 pk int(11) NOT NULL,
1849 col_varchar_key varchar(1) NOT NULL,
1852 INSERT INTO t2 VALUES
1853 (1,'j'),(2,'v'),(3,'c'),(4,'m'),(5,'d'),(6,'d'),(7,'y'),
1854 (8,'t'),(9,'d'),(10,'s'),(11,'r'),(12,'m'),(13,'b'),(14,'x'),
1855 (15,'g'),(16,'p'),(17,'q'),(18,'w'),(19,'d'),(20,'e');
1857 let $query=SELECT t2.col_varchar_key AS field1 , COUNT(DISTINCT t1.col_varchar_nokey), t2.pk AS field4
1859 RIGHT JOIN t2 ON t2.pk = t1.col_int_key
1860 GROUP BY field1 , field4
1861 ORDER BY t1.col_datetime_key ;
1863 eval explain $query;
1864 # even though there is ORDER BY, it does not cover all columns, so
1865 # there is still randomness, so we have to sort client-side:
1872 --echo # BUG#12619868 "JCL: MORE ROWS OF
OUTPUT WHEN JCL>=5
"
1875 CREATE TABLE t1 (col_varchar_key varchar(1));
1877 pk int(11) NOT NULL,
1878 col_int_nokey int(11) NOT NULL,
1879 col_int_key int(11) NOT NULL,
1881 KEY col_int_key (col_int_key)
1883 INSERT INTO t2 VALUES (5,3,9);
1884 INSERT INTO t2 VALUES (6,246,24);
1885 INSERT INTO t2 VALUES (7,2,6);
1886 INSERT INTO t2 VALUES (8,9,1);
1887 INSERT INTO t2 VALUES (9,3,6);
1888 INSERT INTO t2 VALUES (10,8,2);
1889 INSERT INTO t2 VALUES (11,1,4);
1890 INSERT INTO t2 VALUES (12,8,8);
1891 INSERT INTO t2 VALUES (13,8,4);
1892 INSERT INTO t2 VALUES (14,5,4);
1893 INSERT INTO t2 VALUES (15,7,7);
1894 INSERT INTO t2 VALUES (16,5,4);
1895 INSERT INTO t2 VALUES (17,1,1);
1896 INSERT INTO t2 VALUES (18,6,9);
1897 INSERT INTO t2 VALUES (19,2,4);
1898 INSERT INTO t2 VALUES (20,9,8);
1900 let $query=SELECT t1.col_varchar_key AS field1, alias2.col_int_key AS field4
1901 FROM t2 AS alias2 STRAIGHT_JOIN t2 AS alias3 ON alias3.pk =
1902 alias2.col_int_nokey
1904 ON alias3.col_int_nokey
1905 GROUP BY field1, field4
1908 eval explain $query;
1915 --echo # BUG#12722133 - JCL: JOIN QUERY GIVES DIFFERENT RESULTS AT
1916 --echo # JCL=6 ONLY [NULL VERSUS NULL+#INTS]
1919 CREATE TABLE t1 (pk INTEGER PRIMARY KEY, k INTEGER, i INTEGER, KEY k(k));
1920 CREATE TABLE t2 LIKE t1;
1921 CREATE TABLE t3 LIKE t1;
1922 CREATE TABLE t4 LIKE t1;
1924 INSERT INTO t1 VALUES (6,NULL,6),(0,1,11);
1925 INSERT INTO t2 VALUES (1,NULL,NULL),(4,7,NULL);
1926 INSERT INTO t3 VALUES (2,3,0),(3,4,4);
1927 INSERT INTO t4 VALUES (1,9,-1),(4,7,NULL);
1929 let $query=SELECT t2.pk as t2_pk, t4.pk as t4_pk, t4.k as t4_k, t4.i
1931 LEFT JOIN t2 ON t1.k = t2.pk
1932 LEFT JOIN t3 ON t3.i
1933 LEFT JOIN t4 ON t4.pk = t2.pk;
1935 eval EXPLAIN $query;
1938 DROP TABLE t1, t2, t3, t4;
1941 --echo # BUG#12827509 - BNL/BKA: SELECT LEFT/RIGHT JOIN QUERY GIVES
1942 --echo # DIFFERENT OUTPUT ON BNL=OFF+BKA=ON
1943 --echo # (Duplicate of BUG#12722133)
1948 INSERT INTO t1 VALUES (3), (7), (2), (8), (6);
1955 INSERT INTO t2 VALUES (1,5), (2,8), (6,3), (8,7), (9,9);
1962 INSERT INTO t3 VALUES (3,2), (4,3), (8,2);
1969 INSERT INTO t4 VALUES (2,3), (6,1), (8,2);
1974 LEFT JOIN t2 ON t1.col_int = t2.col_int
1975 LEFT JOIN t3 ON t2.pk = t3.pk
1976 LEFT JOIN t4 ON t4.pk = t2.pk
1977 WHERE t1.col_int OR t3.col_int;
1979 eval EXPLAIN $query;
1982 DROP TABLE t1, t2, t3, t4;
1985 --echo # Bug#12997905: VALGRIND: SYSCALL PARAM PWRITE64(BUF)
1986 --echo # POINTS TO UNINITIALISED BYTE(S)
1994 INSERT INTO t1 VALUES ('a','a');
1996 CREATE TABLE t2 (i varchar(10)) ENGINE=innodb;
1997 INSERT INTO t2 VALUES ('a');
2000 FROM t1 JOIN t2 ON t1.col1 = t2.i
2005 --echo # End of Bug#12997905
2008 --echo # Bug 13596330 - EXTRA ROW ON SELECT WITH NESTED IN CLAUSE + IS
2009 --echo # NULL WHEN SEMIJOIN + BNL IS ON
2015 INSERT INTO t1 VALUES(-1),(-1);
2019 col_datetime_nokey datetime NOT NULL,
2020 col_varchar_key varchar(1),
2021 KEY col_varchar_key (col_varchar_key)
2024 INSERT INTO t2 VALUES (9, '2002-08-25 20:35:06', 'e'),
2025 (9, '2002-08-25 20:35:06', 'e');
2027 set @optimizer_switch_saved=@@session.optimizer_switch;
2028 set @@session.optimizer_switch='semijoin=off';
2030 let $query=SELECT PARENT1.col_varchar_key
2031 FROM t2 AS PARENT1 LEFT JOIN t1 USING (col_int_nokey)
2032 WHERE PARENT1.col_varchar_key IN
2033 ( SELECT col_varchar_key FROM t2 AS CHILD1
2034 WHERE PARENT1.col_datetime_nokey IS NULL
2035 AND t1.col_int_nokey IS NULL )
2037 eval EXPLAIN $query;
2040 set @@session.optimizer_switch=@optimizer_switch_saved;