кластера с фильтром вида DateTime >= toDateTime('2022-08-01 00:00:00', timezone()). При выборке с локальной таблицы - ошибки нет. Можете подсказать как можно это решить или пофиксить?
Пока единственное решение - это не использовать функцию timezone()
Illegal type of argument #2 'timezone' of function toDateTime, expected const String, got String
Как можно воспроизвести:
CREATE TABLE default.test_local (`EventTime` DateTime('Europe/Berlin'), a UInt8) ENGINE = MergeTree ORDER BY EventTime;
CREATE TABLE default.test AS default.test_local ENGINE = Distributed('all-sharded', 'default', 'test_local', rand());
INSERT INTO default.test VALUES (now(), 1), (now(), 0);
SELECT * FROM default.test WHERE EventTime > toDateTime(toDateTime('2022-08-01 00:00:00', 'Europe/Berlin'), timezone());
-- Code: 44. DB::Exception: Illegal type of argument #2 'timezone' of function toDateTime, expected const String, got String: While processing EventTime > toDateTime(toDateTime('2022-08-01 00:00:00', 'Europe/Berlin'), timezone()). (ILLEGAL_COLUMN) (version 22.7.2.15 (official build))
SELECT * FROM default.test_local WHERE EventTime > toDateTime(toDateTime('2022-08-01 00:00:00', 'Europe/Berlin'), timezone());
думаю стоит завести issue на github потому что timezone() явно const возвращает
Может у вас разная на кластере timezone установлена ?
Обсуждают сегодня