ClickHouse/tests/queries/0_stateless/01275_parallel_mv.sql.j2
2024-07-11 18:00:32 +02:00

65 lines
2.2 KiB
Django/Jinja

-- Tags: no-object-storage, no-parallel, no-fasttest
-- no-object-storage: s3 has 20 more threads
-- no-parallel: it checks the number of threads, which can be lowered in presence of other queries
-- avoid settings randomization by clickhouse-test
set max_threads = 10;
-- more blocks to process
set max_block_size = 10;
set min_insert_block_size_rows = 10;
set materialized_views_ignore_errors = 1;
drop table if exists testX;
drop table if exists testXA;
drop table if exists testXB;
drop table if exists testXC;
create table testX (A Int64) engine=MergeTree order by tuple();
create materialized view testXA engine=MergeTree order by tuple() as select sleep(0.1) from testX;
create materialized view testXB engine=MergeTree order by tuple() as select sleep(0.2), throwIf(A=1) from testX;
create materialized view testXC engine=MergeTree order by tuple() as select sleep(0.1) from testX;
{% set count = namespace(value=0) %}
-- { echoOn }
{% for parallel_view_processing in [0, 1] %}
{% for optimize_trivial_insert_select in [0, 1] %}
{% for max_insert_threads in [0, 5] %}
{% set count.value = count.value + 1 %}
select 'optimize_trivial_insert_select={{ optimize_trivial_insert_select }}', 'max_insert_threads={{ max_insert_threads }}', 'iteration_num={{ iteration_num }}';
insert into testX select number from numbers(200) settings
send_logs_level='fatal',
insert_deduplication_token='UT_{{ count.value }}',
log_queries=1,
parallel_view_processing={{ parallel_view_processing }},
optimize_trivial_insert_select={{ optimize_trivial_insert_select }},
max_insert_threads={{ max_insert_threads }};
system flush logs;
select peak_threads_usage from system.query_log where
current_database = currentDatabase() and
type != 'QueryStart' and
query like '%insert into testX %' and
Settings['parallel_view_processing'] = '{{ parallel_view_processing }}' and
Settings['optimize_trivial_insert_select'] = '{{ optimize_trivial_insert_select }}' and
Settings['max_insert_threads'] = '{{ max_insert_threads }}';
select count() from testX;
select count() from testXA;
select count() from testXC;
{% endfor %}
{% endfor %}
{% endfor %}
-- { echoOff }
drop table testX;
drop view testXA;
drop view testXB;
drop view testXC;