2019-12-23 06:40:10 +00:00
<test >
<type > loop</type>
<stop_conditions >
<all_of >
<iterations > 10</iterations>
<min_time_not_changing_for_ms > 10000</min_time_not_changing_for_ms>
</all_of>
<any_of >
<iterations > 100</iterations>
<total_time_ms > 60000</total_time_ms>
</any_of>
</stop_conditions>
<substitutions >
<substitution >
<name > codec</name>
<values >
<value > NONE</value> <!-- as a baseline -->
<value > LZ4</value>
<value > ZSTD</value>
<value > DoubleDelta</value>
<value > Gorilla</value>
</values>
</substitution>
<substitution >
<name > type</name>
<values >
2019-12-24 11:44:49 +00:00
<value > Float64</value>
2019-12-23 06:40:10 +00:00
</values>
</substitution>
<substitution >
<name > seq_type</name>
<values >
<value > seq</value>
<value > mon</value>
<value > rnd</value>
</values>
</substitution>
</substitutions>
<create_query > CREATE TABLE IF NOT EXISTS codec_{seq_type}_{type}_{codec} (n {type} CODEC({codec})) ENGINE = MergeTree PARTITION BY tuple() ORDER BY tuple();</create_query>
<!-- Using limit to make query finite, allowing it to be run multiple times in a loop, reducing mean error -->
2019-12-24 11:44:49 +00:00
<fill_query > INSERT INTO codec_seq_Float64_{codec} (n) SELECT number/pi() FROM system.numbers LIMIT 100000 SETTINGS max_threads=1</fill_query>
<fill_query > INSERT INTO codec_mon_Float64_{codec} (n) SELECT number+sin(number) FROM system.numbers LIMIT 100000 SETTINGS max_threads=1</fill_query>
<fill_query > INSERT INTO codec_rnd_Float64_{codec} (n) SELECT (rand() - 4294967295)/pi() FROM system.numbers LIMIT 100000 SETTINGS max_threads=1</fill_query>
2019-12-23 06:40:10 +00:00
<!-- INSERTs above will be run unspecified amount of times, hence size of table is unknown.
To make test more reliable, we SELECT fixed number of rows. -->
<query > SELECT count(n) FROM codec_{seq_type}_{type}_{codec} WHERE ignore(n) LIMIT 100000 SETTINGS max_threads=1</query>
<drop_query > DROP TABLE IF EXISTS codec_{seq_type}_{type}_{codec}</drop_query>
</test>