[Commits] 9bcd0f5: Added the test case from MDEV-16086 tfixed by the patch for MDEV-15575
revision-id: 9bcd0f5fea8ca26742b10d37b95a966c69909ff1 (mariadb-10.2.14-77-g9bcd0f5) parent(s): e44ca6cc9c300cbdf93c64110bd8cf2be8125379 author: Igor Babaev committer: Igor Babaev timestamp: 2018-05-07 13:22:00 -0700 message: Added the test case from MDEV-16086 tfixed by the patch for MDEV-15575 --- mysql-test/r/cte_recursive.result | 32 ++++++++++++++++++++++++++++++++ mysql-test/t/cte_recursive.test | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/mysql-test/r/cte_recursive.result b/mysql-test/r/cte_recursive.result index 70752c7..d6dfdf1 100644 --- a/mysql-test/r/cte_recursive.result +++ b/mysql-test/r/cte_recursive.result @@ -3201,3 +3201,35 @@ a 1 3 drop table t1; +# +# MDEV-16086: tmp table for CTE is created as ARIA tables +# +CREATE TABLE t1 ( +Id int(11) not null AUTO_INCREMENT, +Parent varchar(15) not null, +Child varchar(15) not null, +PRIMARY KEY (Id) +) ENGINE = MyISAM; +INSERT INTO t1 (Parent, Child) VALUES +('123', '456'),('456', '789'),('321', '654'),('654', '987'); +WITH RECURSIVE cte AS +( SELECT b.Parent, +b.Child, +CAST(CONCAT(b.Child,',') AS CHAR(513)) Path +FROM t1 b +LEFT OUTER JOIN t1 bc ON b.Child = bc.Parent +WHERE bc.Id IS NULL +UNION ALL SELECT c.Parent, +c.Child, +CONCAT(p.Path,c.Child,',') Path +FROM t1 c +INNER JOIN cte p ON c.Child = p.Parent) +SELECT * +FROM cte +ORDER BY Path; +Parent Child Path +456 789 789, +123 456 789,456, +654 987 987, +321 654 987,654, +DROP TABLE t1; diff --git a/mysql-test/t/cte_recursive.test b/mysql-test/t/cte_recursive.test index 332a64b..3a8795e 100644 --- a/mysql-test/t/cte_recursive.test +++ b/mysql-test/t/cte_recursive.test @@ -2214,3 +2214,35 @@ with recursive qn as select * from qn; drop table t1; + +--echo # +--echo # MDEV-16086: tmp table for CTE is created as ARIA tables +--echo # + +CREATE TABLE t1 ( + Id int(11) not null AUTO_INCREMENT, + Parent varchar(15) not null, + Child varchar(15) not null, + PRIMARY KEY (Id) +) ENGINE = MyISAM; + +INSERT INTO t1 (Parent, Child) VALUES + ('123', '456'),('456', '789'),('321', '654'),('654', '987'); + +WITH RECURSIVE cte AS + ( SELECT b.Parent, + b.Child, + CAST(CONCAT(b.Child,',') AS CHAR(513)) Path + FROM t1 b + LEFT OUTER JOIN t1 bc ON b.Child = bc.Parent + WHERE bc.Id IS NULL + UNION ALL SELECT c.Parent, + c.Child, + CONCAT(p.Path,c.Child,',') Path + FROM t1 c + INNER JOIN cte p ON c.Child = p.Parent) +SELECT * +FROM cte +ORDER BY Path; + +DROP TABLE t1;
participants (1)
-
IgorBabaev