From 8d60988e79ba0c29b71879a6f25f497d97d5d47e Mon Sep 17 00:00:00 2001 From: chertus Date: Thu, 26 Dec 2019 18:56:33 +0300 Subject: [PATCH] add test for storage join in view --- .../01050_engine_join_view_crash.reference | 7 ++++++ .../01050_engine_join_view_crash.sql | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 dbms/tests/queries/0_stateless/01050_engine_join_view_crash.reference create mode 100644 dbms/tests/queries/0_stateless/01050_engine_join_view_crash.sql diff --git a/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.reference b/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.reference new file mode 100644 index 00000000000..6c9521df0a6 --- /dev/null +++ b/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.reference @@ -0,0 +1,7 @@ +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 diff --git a/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.sql b/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.sql new file mode 100644 index 00000000000..93fa2a6bd82 --- /dev/null +++ b/dbms/tests/queries/0_stateless/01050_engine_join_view_crash.sql @@ -0,0 +1,23 @@ +DROP TABLE IF EXISTS a; +DROP TABLE IF EXISTS b; +DROP TABLE IF EXISTS id1; +DROP TABLE IF EXISTS id2; + +CREATE TABLE a(`id1` UInt32, `id2` UInt32, `valA` UInt32) ENGINE = TinyLog; +CREATE TABLE id1(`id1` UInt32, `val1` UInt8) ENGINE = Join(ANY, LEFT, id1); +CREATE TABLE id2(`id2` UInt32, `val2` UInt8) ENGINE = Join(ANY, LEFT, id2); + +INSERT INTO a VALUES (1,1,1)(2,2,2)(3,3,3); +INSERT INTO id1 VALUES (1,1)(2,2)(3,3); +INSERT INTO id2 VALUES (1,1)(2,2)(3,3); + +SELECT * from (SELECT * FROM a ANY LEFT OUTER JOIN id1 USING id1) ANY LEFT OUTER JOIN id2 USING id2; + +create view b as (SELECT * from (SELECT * FROM a ANY LEFT OUTER JOIN id1 USING id1) ANY LEFT OUTER JOIN id2 USING id2); +SELECT '-'; +SELECT * FROM b; + +DROP TABLE a; +DROP TABLE b; +DROP TABLE id1; +DROP TABLE id2;