Size: a a a

ClickHouse не тормозит

2016 November 11

DP

Darafei Praliaskouski in ClickHouse не тормозит
а, то есть 20001 год нужен, а 1950 нет :'(
источник

I

Igor in ClickHouse не тормозит
Причем у toDateTime есть хитрая особенность, он до какого-то числа жрет не секунды, а дни
источник

I

Igor in ClickHouse не тормозит
:) SELECT toDate(365);

┌─toDate(365)─┐
│  1971-01-01 │
└─────────────┘
источник

RL

Roman Lomonosov in ClickHouse не тормозит
действительно. в доке есть про это
"Позволяет хранить значения от чуть больше, чем начала unix-эпохи до верхнего порога, определяющегося константой на этапе компиляции"
ну не очень-то и хотелось
источник

I

Igor in ClickHouse не тормозит
 :) SELECT toDate(10000) AS a, toDate(100000) AS b, toDate(1478877709) AS c;

┌──────────a─┬──────────b─┬──────────c─┐
│ 1997-05-19 │ 1970-01-02 │ 2016-11-11 │
└────────────┴────────────┴────────────┘
источник

I

Igor in ClickHouse не тормозит
вот наглядней
источник

DP

Darafei Praliaskouski in ClickHouse не тормозит
это вообще проектировали? :)
источник

DP

Darafei Praliaskouski in ClickHouse не тормозит
ну, на доске, хотя бы
источник

I

Igor in ClickHouse не тормозит
ну видимо в метрике понадобилось оптимизировать какие-нибудь запросы с toDate
источник

pk

papa karlo in ClickHouse не тормозит
SELECT 
   toDate(24855),
   toDate(24856)

┌─toDate(24855)─┬─toDate(24856)─┐
│    2038-01-19 │    0000-00-00 │
└───────────────┴───────────────┘
источник

I

Igor in ClickHouse не тормозит
а функция empty() разве не должна возвращать true для FixedString, полностью заполненных NULами?
источник

I

Igor in ClickHouse не тормозит
оборачивать в toStringCutToZero как-то глупо
источник

I

Igor in ClickHouse не тормозит
:) SELECT toFixedString('', 4) AS str, empty(str) AS is_empty;

┌─str──────┬─is_empty─┐
│ \0\0\0\0 │        0 │
└──────────┴──────────┘
источник

AM

Alexey Milovidov in ClickHouse не тормозит
Да, для FixedString функция empty сейчас бессмысленна. Можно пересмотреть.
источник

I

Igor in ClickHouse не тормозит
ОК, спасибо!
источник

AM

Alexey Milovidov in ClickHouse не тормозит
Обсудили. Коллеги говорят, что делать empty = 1 для FixedString, заполненной нулевыми байтами, нелогично.
источник

AM

Alexey Milovidov in ClickHouse не тормозит
Можно писать типа IPv6 = toFixedString('', 16) вместо empty(IPv6)
источник

I

Igor in ClickHouse не тормозит
хм, а почему? не совсем понял :(
источник

AM

Alexey Milovidov in ClickHouse не тормозит
Спорный момент. Строка, заполненная нулевыми байтами, всё-таки непустая.
И если не упоминать, что это строка фиксированного размера, то это совершенно ясно.
источник

AM

Alexey Milovidov in ClickHouse не тормозит
Также ради инварианта: empty(x) то же самое что и length(x) = 0.
источник