diff options
| author | Oleksandr Byelkin <sanja@mariadb.com> | 2019-06-14 07:36:47 +0200 |
|---|---|---|
| committer | Oleksandr Byelkin <sanja@mariadb.com> | 2019-06-14 07:36:47 +0200 |
| commit | 4a3d51c76c131e7b5348d7c714a619f82de32d39 (patch) | |
| tree | 4fb180861c733e364af930529565a7b799c4833a /mysql-test/main/join_nested.test | |
| parent | d9fe615ef6862c85c5aada96d4f5b62b7093177c (diff) | |
| parent | 50653e021f1678c3c28c6b5886fadb9fcf8d87ff (diff) | |
| download | mariadb-git-4a3d51c76c131e7b5348d7c714a619f82de32d39.tar.gz | |
Merge branch '10.2' into 10.3
Diffstat (limited to 'mysql-test/main/join_nested.test')
| -rw-r--r-- | mysql-test/main/join_nested.test | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/mysql-test/main/join_nested.test b/mysql-test/main/join_nested.test index e60b7827f75..cfb24a63304 100644 --- a/mysql-test/main/join_nested.test +++ b/mysql-test/main/join_nested.test @@ -1380,3 +1380,37 @@ DROP VIEW v1; DROP TABLE t1,t2; set optimizer_search_depth= @tmp_mdev621; + +--echo # +--echo # MDEV-19588: Nested left joins using optimized join cache +--echo # + +set optimizer_switch='optimize_join_buffer_size=on'; + +set @save_join_cache_level= @@join_cache_level; +set join_cache_level=2; + +CREATE TABLE t1 (i1 int, c1 varchar(20), pk int) engine=myisam; + +CREATE TABLE t2 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t2 VALUES (7,'a',-912),(8,'a',5); + +CREATE TABLE t3 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t3 VALUES +(1,'a',-145),(2,'a',6),(3,'a',1),(7,'a',NULL),(8,'a',889),(9,'a',146), +(10,'a',177),(16,'a',-433),(17,'a',NULL),(18,'a',2),(19,'a',3),(20,'a',5), +(21,'a',-484),(22,'a',369),(23,'a',-192),(24,'a',-163),(25,'a',5),(26,'a',NULL); + +let $q= +SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; + +eval $q; +eval explain extended $q; + +DROP TABLE t1,t2,t3; + +set join_cache_level= @save_join_cache_level; + +set optimizer_switch=@save_optimizer_switch; |
