Cover DISTINCT for Distributed with one shard (test from #9046)

v2: cover case when getQueryProcessingStage() returns Complete when it
should not (pointed by @alexey-milovidov in
https://github.com/ClickHouse/ClickHouse/pull/9808#issuecomment-602291996)
This commit is contained in:
Azat Khuzhin 2020-03-22 20:47:01 +03:00
parent 4707dd827a
commit 0e925ff7ad
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,8 @@
distributed_group_by_no_merge
1
1
optimize_skip_unused_shards
1
optimize_skip_unused_shards lack of WHERE
0
1

View File

@ -0,0 +1,19 @@
CREATE TABLE IF NOT EXISTS local_01213 (id Int) ENGINE = MergeTree ORDER BY tuple();
CREATE TABLE IF NOT EXISTS dist_01213 AS local_01213 ENGINE = Distributed(test_cluster_two_shards_localhost, currentDatabase(), local_01213, id);
-- at least two parts
INSERT INTO local_01213 SELECT toString(number) FROM numbers(2);
INSERT INTO local_01213 SELECT toString(number) FROM numbers(2);
-- check that without merge we will have two rows
SELECT 'distributed_group_by_no_merge';
SELECT DISTINCT id FROM dist_01213 WHERE id = 1 SETTINGS distributed_group_by_no_merge=1;
-- check that with merge there will be only one
SELECT 'optimize_skip_unused_shards';
SELECT DISTINCT id FROM dist_01213 WHERE id = 1 SETTINGS optimize_skip_unused_shards=1;
-- check that querying all shards is ok
SELECT 'optimize_skip_unused_shards lack of WHERE';
SELECT DISTINCT id FROM dist_01213 SETTINGS optimize_skip_unused_shards=1;
DROP TABLE local_01213;
DROP TABLE dist_01213;