Size: a a a

ClickHouse не тормозит

2020 June 04

АК

Александр Курченков... in ClickHouse не тормозит
Dmitry Titov
>Сравнения проводить с точностью до типа
Никто не сравнивает оба значения, просто есть проверка что бы все ветки If можно хранить в зарезервированном типе данных для этой колонки
Немного отвлечённый тогда вопрос.
А как этот IF определяет тип для последующего резервирования? Опять на основании проверки совпадения типов граничных значений?
источник

АК

Александр Курченков... in ClickHouse не тормозит
И сюда же.
Зачем арифметическим операциям всегда проводить расширение типа? Почему не делать расширение типа только тогда, когда это нужно, а именно: в случае когда аргументы имеют разный тип ?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Александр Курченков
Немного отвлечённый тогда вопрос.
А как этот IF определяет тип для последующего резервирования? Опять на основании проверки совпадения типов граничных значений?
скорее всего вычисляет типы для обоих веток и потом смотрит есть ли для них супертип
источник

DT

Dmitry Titov in ClickHouse не тормозит
>Почему не делать расширение типа только тогда, когда это нужно, а именно: в случае когда аргументы имеют разный тип
я на примере с вычитанием показал, что расширение может понадобится даже если тип один!
источник

АК

Александр Курченков... in ClickHouse не тормозит
Почему плюсы, Java, питон этого не делают?
источник

АК

Александр Курченков... in ClickHouse не тормозит
Хотя...
Это уже в дебри.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Александр Курченков
Почему плюсы, Java, питон этого не делают?
потому что ЯП != субд
источник

АК

Александр Курченков... in ClickHouse не тормозит
Ладно, я запомню для себя, что арифметика расширяет тип и в IF с арифметикой, лучше явно приводить типы
источник

D

Dj in ClickHouse не тормозит
Александр Курченков
Почему плюсы, Java, питон этого не делают?
они делают, они автокастят... не вижу зла
источник

АК

Александр Курченков... in ClickHouse не тормозит
Dj
они делают, они автокастят... не вижу зла
Вот вот, автокаст. Но он не только для арифметики.
источник

DT

Dmitry Titov in ClickHouse не тормозит
кликхаус не автокастит емнип
источник

D

Dj in ClickHouse не тормозит
в базах по другому, во всех базах есть утвержденные implicit автокасты и определяют в каких функциях их можно применять а где нельзя...
источник

DT

Dmitry Titov in ClickHouse не тормозит
у него есть перегрузки функций для всех типов
источник

D

Dj in ClickHouse не тормозит
чем больше разрешить - тем больше потом отлавливать гейзенбаги
источник

АК

Александр Курченков... in ClickHouse не тормозит
Ладно. Всем спасибо, я пойду дальше этот кактус грызть.
Запишу свой случай в разряд фич пока не докопаюсь до самой сути.
источник

D

Dj in ClickHouse не тормозит
представьте у вас
select If(1=1,IntCol,UIntCol);
по вашему надо ли приводить результат к IntCol автоматом?
источник

D

Dj in ClickHouse не тормозит
а потом в верхнем запросе не понимать почему у меня вместо значения "3млн" выдает "-1млн"
источник

AT

Anton T. in ClickHouse не тормозит
Добрый день всем. Подскажите пожалуйста почему могут пропасть данные из таблицы system.mutations. Есть данные за сегодня, но нет данных за месяц начиная с 30 апреля. Есть ли какой-то механизм очистки?
источник

АК

Александр Курченков... in ClickHouse не тормозит
Dj
представьте у вас
select If(1=1,IntCol,UIntCol);
по вашему надо ли приводить результат к IntCol автоматом?
Приняв во внимание ранее озвученное заявление о расширении типа арифметическиими операторами, я бы ожидал аналогичного поведения и для оператора IF.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Александр Курченков
Приняв во внимание ранее озвученное заявление о расширении типа арифметическиими операторами, я бы ожидал аналогичного поведения и для оператора IF.
оператор if расширяет, но только там где безопасно
select If(1=1,toUInt32(1)-toUInt32(1),toUInt8(2));
источник