ClickHouse/tests/performance/date_time_short.xml
2022-03-11 23:49:13 +01:00

48 lines
2.4 KiB
XML

<test>
<!--
This is a short screening test for DateTime and Date. Some
other basic functions are tested by date_time_64, and a more
exhaustive list of functions is in date_time_long.xml (it's
about an hour so we can't afford to test it on each commit).
-->
<substitutions>
<substitution>
<name>date_transform</name>
<values>
<value>toDayOfWeek</value>
<value>toMonday</value>
<value>toRelativeDayNum</value>
<value>toYYYYMMDDhhmmss</value>
</values>
</substitution>
<substitution>
<name>time_zone</name>
<values>
<value>Asia/Istanbul</value>
</values>
</substitution>
<substitution>
<name>binary_function</name>
<values>
<value>lessOrEquals</value>
<value>greater</value>
<value>plus</value>
<value>addWeeks</value>
</values>
</substitution>
</substitutions>
<!-- date_transform -->
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, {date_transform}(t, '{time_zone}'))</query>
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDate('2017-01-01') + number % 1000 + rand() % 10 AS t, {date_transform}(t))</query>
<!-- toUnixTimestamp() -->
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, toUnixTimestamp(t, '{time_zone}'))</query>
<!-- toUnixTimestamp(Date()) is pro5bit, wrap Date() with toUInt16() to overcome -->
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDate('2017-01-01') + number % 1000 + rand() % 10 AS t, toUnixTimestamp(toUInt16(t)))</query>
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, {binary_function}(t, 1))</query>
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, toStartOfInterval(t, INTERVAL 1 month))</query>
<query>SELECT count() FROM numbers(50000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, date_trunc('month', t))</query>
</test>