mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-24 10:40:49 +00:00
Cover constant expression evaluation for optimize_skip_unused_shards
v2: remove key=xxHash64() that is covered by #9804
This commit is contained in:
parent
6550aa5e6c
commit
622131fc85
@ -0,0 +1,49 @@
|
||||
drop table if exists data_01072;
|
||||
drop table if exists dist_01072;
|
||||
|
||||
set optimize_skip_unused_shards=1;
|
||||
set force_optimize_skip_unused_shards=1;
|
||||
|
||||
create table data_01072 (key Int, value Int, str String) Engine=Null();
|
||||
create table dist_01072 (key Int, value Int, str String) Engine=Distributed(test_cluster_two_shards, currentDatabase(), data_01072, key%2);
|
||||
|
||||
select * from dist_01072 where key=0 and length(str)=0;
|
||||
select * from dist_01072 where key=0 and str='';
|
||||
select * from dist_01072 where xxHash64(0)==xxHash64(0) and key=0;
|
||||
select * from dist_01072 where key=toInt32OrZero(toString(xxHash64(0)));
|
||||
select * from dist_01072 where key=toInt32(xxHash32(0));
|
||||
select * from dist_01072 where key=toInt32(toInt32(xxHash32(0)));
|
||||
select * from dist_01072 where key=toInt32(toInt32(toInt32(xxHash32(0))));
|
||||
select * from dist_01072 where key=value; -- { serverError 507; }
|
||||
select * from dist_01072 where key=toInt32(value); -- { serverError 507; }
|
||||
select * from dist_01072 where key=value settings force_optimize_skip_unused_shards=0;
|
||||
select * from dist_01072 where key=toInt32(value) settings force_optimize_skip_unused_shards=0;
|
||||
|
||||
drop table dist_01072;
|
||||
create table dist_01072 (key Int, value Nullable(Int), str String) Engine=Distributed(test_cluster_two_shards, currentDatabase(), data_01072, key%2);
|
||||
select * from dist_01072 where key=toInt32(xxHash32(0));
|
||||
select * from dist_01072 where key=value; -- { serverError 507; }
|
||||
select * from dist_01072 where key=toInt32(value); -- { serverError 507; }
|
||||
select * from dist_01072 where key=value settings force_optimize_skip_unused_shards=0;
|
||||
select * from dist_01072 where key=toInt32(value) settings force_optimize_skip_unused_shards=0;
|
||||
|
||||
set allow_suspicious_low_cardinality_types=1;
|
||||
|
||||
drop table dist_01072;
|
||||
create table dist_01072 (key Int, value LowCardinality(Int), str String) Engine=Distributed(test_cluster_two_shards, currentDatabase(), data_01072, key%2);
|
||||
select * from dist_01072 where key=toInt32(xxHash32(0));
|
||||
select * from dist_01072 where key=value; -- { serverError 507; }
|
||||
select * from dist_01072 where key=toInt32(value); -- { serverError 507; }
|
||||
select * from dist_01072 where key=value settings force_optimize_skip_unused_shards=0;
|
||||
select * from dist_01072 where key=toInt32(value) settings force_optimize_skip_unused_shards=0;
|
||||
|
||||
drop table dist_01072;
|
||||
create table dist_01072 (key Int, value LowCardinality(Nullable(Int)), str String) Engine=Distributed(test_cluster_two_shards, currentDatabase(), data_01072, key%2);
|
||||
select * from dist_01072 where key=toInt32(xxHash32(0));
|
||||
select * from dist_01072 where key=value; -- { serverError 507; }
|
||||
select * from dist_01072 where key=toInt32(value); -- { serverError 507; }
|
||||
select * from dist_01072 where key=value settings force_optimize_skip_unused_shards=0;
|
||||
select * from dist_01072 where key=toInt32(value) settings force_optimize_skip_unused_shards=0;
|
||||
|
||||
drop table data_01072;
|
||||
drop table dist_01072;
|
Loading…
Reference in New Issue
Block a user