Add a test for #10893

This commit is contained in:
Alexey Milovidov 2021-02-15 05:17:30 +03:00
parent 71acb2ffda
commit 4c7923e6df
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,3 @@
2020-05-13 13:38:45 2020-05-13 16:38:45
2020-05-13 13:38:45 2020-05-13 16:38:45
2020-05-13 13:38:45 2020-05-13 16:38:45

View File

@ -0,0 +1,45 @@
DROP TABLE IF EXISTS test;
CREATE TABLE test (timestamp DateTime('UTC'), i UInt8) Engine=MergeTree() PARTITION BY toYYYYMM(timestamp) ORDER BY (i);
INSERT INTO test values ('2020-05-13 16:38:45', 1);
SELECT
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
timestamp AS original
FROM test
LEFT JOIN (SELECT 2 AS x) AS anything ON x = i
WHERE timestamp >= toDateTime('2020-05-13T00:00:00', 'America/Sao_Paulo');
/* This was incorrect result in previous ClickHouse versions:
convertedoriginal
2020-05-13 16:38:45 2020-05-13 16:38:45 <-- toTimeZone is ignored.
*/
SELECT
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
timestamp AS original
FROM test
-- LEFT JOIN (SELECT 2 AS x) AS anything ON x = i -- Removing the join fixes the issue.
WHERE timestamp >= toDateTime('2020-05-13T00:00:00', 'America/Sao_Paulo');
/*
convertedoriginal
2020-05-13 13:38:45 2020-05-13 16:38:45 <-- toTimeZone works.
*/
SELECT
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
timestamp AS original
FROM test
LEFT JOIN (SELECT 2 AS x) AS anything ON x = i
WHERE timestamp >= '2020-05-13T00:00:00'; -- Not using toDateTime in the WHERE also fixes the issue.
/*
convertedoriginal
2020-05-13 13:38:45 2020-05-13 16:38:45 <-- toTimeZone works.
*/
DROP TABLE test;