ClickHouse/tests/queries/0_stateless/02051_read_settings.sql.j2
2023-01-28 21:54:44 +02:00

47 lines
1.6 KiB
Django/Jinja

-- Tags: long, no-tsan, no-parallel, no-random-settings
-- Tag: no-tsan -- too slow under TSan (~5-6min)
-- Tag: no-random-settings -- to avoid settings overlaps
-- Tag: no-parallel -- to reduce test time
--
-- Test for testing various read settings.
drop table if exists data_02051;
{# check each index_granularity_bytes #}
{% for index_granularity_bytes in [0, 10 * 1024 * 1024] %}
create table data_02051 (key Int, value String)
engine=MergeTree()
order by key
settings
index_granularity_bytes={{ index_granularity_bytes }},
/* to suppress "Table can't create parts with adaptive granularity, but settings ..." warning */
min_bytes_for_wide_part=0
as select number, repeat(toString(number), 5) from numbers(1e6);
{# check each local_filesystem_read_method #}
{% for read_method in ['read', 'mmap', 'io_uring', 'pread_threadpool', 'pread_fake_async'] %}
{# check w/ O_DIRECT and w/o (min_bytes_to_use_direct_io) #}
{% for direct_io in [0, 1] %}
{# check local_filesystem_read_prefetch (just a smoke test) #}
{% for prefetch in [0, 1] %}
{# check read_priority (just a smoke test) #}
{% for priority in [0, 1] %}
{# check alignment for O_DIRECT with various max_read_buffer_size #}
{% for buffer_size in [65505, 1048576] %}
select count(ignore(*)) from data_02051 settings
min_bytes_to_use_direct_io={{ direct_io }},
local_filesystem_read_method='{{ read_method }}',
local_filesystem_read_prefetch={{ prefetch }},
read_priority={{ priority }},
max_read_buffer_size={{ buffer_size }}
;
{% endfor %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endfor %}
drop table data_02051;
{# index_granularity_bytes #}
{% endfor %}