diff --git a/tests/queries/0_stateless/01785_pmj_lc_bug.reference b/tests/queries/0_stateless/01785_pmj_lc_bug.reference new file mode 100644 index 00000000000..98fb6a68656 --- /dev/null +++ b/tests/queries/0_stateless/01785_pmj_lc_bug.reference @@ -0,0 +1,4 @@ +1 +1 +1 +1 diff --git a/tests/queries/0_stateless/01785_pmj_lc_bug.sql b/tests/queries/0_stateless/01785_pmj_lc_bug.sql new file mode 100644 index 00000000000..722faa9b40d --- /dev/null +++ b/tests/queries/0_stateless/01785_pmj_lc_bug.sql @@ -0,0 +1,14 @@ +SET join_algorithm = 'partial_merge'; +SET max_bytes_in_join = '100'; + +CREATE TABLE foo_lc (n LowCardinality(String)) ENGINE = Memory; +CREATE TABLE foo (n String) ENGINE = Memory; + +INSERT INTO foo SELECT toString(number) AS n FROM system.numbers LIMIT 1025; +INSERT INTO foo_lc SELECT toString(number) AS n FROM system.numbers LIMIT 1025; + +SELECT 1025 == count(n) FROM foo_lc AS t1 ANY LEFT JOIN foo_lc AS t2 ON t1.n == t2.n; +SELECT 1025 == count(n) FROM foo AS t1 ANY LEFT JOIN foo_lc AS t2 ON t1.n == t2.n; +SELECT 1025 == count(n) FROM foo_lc AS t1 ANY LEFT JOIN foo AS t2 ON t1.n == t2.n; + +SELECT 1025 == count(n) FROM foo_lc AS t1 ALL LEFT JOIN foo_lc AS t2 ON t1.n == t2.n;