diff --git a/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.reference b/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.reference new file mode 100644 index 0000000000000000000000000000000000000000..43aa496e9f6ac9110decad90a6b3c9a3373ab8b9 --- /dev/null +++ b/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.reference @@ -0,0 +1,16 @@ +0 1 +0 1 +1 1 +2 1 +3 1 +4 1 +50 1 +51 1 +52 1 +53 1 +54 1 +100 1 +101 1 +102 1 +103 1 +104 1 diff --git a/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.sql b/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.sql new file mode 100644 index 0000000000000000000000000000000000000000..d46b289ab77762ef5a6ba2fb5216051ba124927d --- /dev/null +++ b/dbms/tests/queries/0_stateless/01077_yet_another_prewhere_test.sql @@ -0,0 +1,10 @@ +drop table if exists t50; + +create table t50 (a Int, b Int, s String) engine = MergeTree order by a settings index_granularity = 50, index_granularity_bytes=1000; + +-- some magic to satisfy conditions to run optimizations in MergeTreeRangeReader +insert into t50 select 0, 1, repeat('a', 10000); +insert into t50 select number, multiIf(number < 5, 1, number < 50, 0, number < 55, 1, number < 100, 0, number < 105, 1, 0), '' from numbers(150); +optimize table t50 final; + +select a, b from t50 prewhere b = 1 order by a;