Перейти к основному содержанию
Изменения, относящиеся к сервисам ClickHouse Cloud, в релизе v24.8.

Обратно несовместимое изменение

  • Изменена бинарная сериализация типа данных Variant: добавлен компактный режим, чтобы избежать многократной записи одного и того же дискриминатора для гранул с одним вариантом или только со значениями NULL. Добавлена настройка MergeTree use_compact_variant_discriminators_serialization, включенная по умолчанию. Обратите внимание, что тип Variant по-прежнему экспериментальный, и это обратно несовместимое изменение сериализации не должно на вас повлиять, если только вы ранее не работали со службой поддержки, чтобы включить эту возможность. #62774 (Kruglov Pavel).
  • Запрещено использовать CREATE MATERIALIZED VIEW … ENGINE Replicated*MergeTree POPULATE AS SELECT … с базами данных Replicated. Это изменение касается только пользователей, которые по-прежнему используют ReplicatedMergeTree. #63963 (vdimir).
  • Метрика KeeperOutstandingRequets была переименована в KeeperOutstandingRequests. Это исправляет опечатку, о которой сообщалось в #66179. #66206 (Robert Schulze).
  • В clickhouse-client и clickhouse-local теперь по умолчанию используется режим multi-query (вместо режима single-query). Например, clickhouse-client -q “SELECT 1; SELECT 2” теперь работает, тогда как раньше пользователям нужно было добавлять —multiquery (или -n). Ключ —multiquery/-n устарел. Запросы INSERT в многооператорных запросах обрабатываются особым образом в зависимости от их предложения FORMAT: если FORMAT — VALUES (наиболее распространенный случай), конец оператора INSERT обозначается завершающей точкой с запятой ; в конце запроса. Для всех остальных форматов (например, CSV или JSONEachRow) конец оператора INSERT обозначается двумя символами новой строки \n\n в конце запроса. #63898 (wxybear).
  • В предыдущих версиях можно было использовать альтернативный синтаксис для типов данных LowCardinality, добавляя WithDictionary к имени типа данных. Это была первоначальная рабочая реализация, и она никогда не документировалась и не была доступна публично. Теперь она устарела. Если вы использовали этот синтаксис, вам нужно изменить свои таблицы с помощью ALTER и переименовать типы данных в LowCardinality. #66842(Alexey Milovidov).
  • Исправлены логические ошибки в движке Buffer, используемом с распределенной целевой таблицей. Это обратно несовместимое изменение: запросы, использующие Buffer с распределенной целевой таблицей, могут перестать работать, если таблица встречается в запросе более одного раза (например, при самосоединении). #67015 (vdimir).
  • В предыдущих версиях вызов функций для случайных распределений на основе гамма-функции (таких как Chi-Squared, Student, Fisher) с отрицательными аргументами, близкими к нулю, приводил к долгим вычислениям или бесконечному циклу. В новой версии вызов этих функций с нулевыми или отрицательными аргументами будет приводить к исключению. Это закрывает #67297. #67326 (Alexey Milovidov).
  • В предыдущих версиях arrayWithConstant могла работать медленно, если ей нужно было создавать очень большие массивы. В новой версии действует ограничение в 1 ГБ на массив. Это закрывает #32754. #67741 (Alexey Milovidov).
  • Исправлено форматирование модификатора REPLACE (запрещен пропуск скобок). #67774 (Azat Khuzhin).

Новая возможность

  • Функция tuple расширена и теперь может создавать именованные кортежи в запросе. Добавлена функция tupleNames для извлечения имен из кортежей. #54881 (Amos Bird).
  • Добавлена поддержка ASOF JOIN для алгоритма full_sorting_join. Закрывает #54493. #55051 (vdimir).
  • Добавлена новая табличная функция fuzzQuery. Эта функция позволяет вносить случайные изменения в заданную строку запроса. Пример: SELECT query FROM fuzzQuery(‘SELECT 1’);. #62103 (pufit).
  • Добавлена новая оконная функция percent_rank. #62747 (lgbo).
  • Добавлена поддержка JWT-аутентификации в clickhouse-client. #62829 (Konstantin Bogdanov).
  • Добавлены SQL-функции changeYear, changeMonth, changeDay, changeHour, changeMinute, changeSecond. Например, SELECT changeMonth(toDate(‘2024-06-14’), 7) возвращает дату 2024-07-14. #63186 (cucumber95).
  • Добавлен system.error_log, который содержит историю значений ошибок из таблицы system.errors; данные периодически сбрасываются на диск. #65381 (Pablo Marcos).
  • Добавлена агрегатная функция groupConcat. Она почти эквивалентна arrayStringConcat( groupArray(column), ’,’). Может принимать 2 параметра: строковый разделитель и количество обрабатываемых элементов. #65451 (Yarik Briukhovetskyi).
  • Добавлено хранилище AzureQueue. #65458 (Kseniia Sumarokova).
  • Добавлена новая настройка для отключения/включения записи индекса страниц в файлы Parquet. #65475 (lgbo).
  • В конец пути каталога в табличной функции file теперь автоматически добавляется символ-шаблон *. #66019 (Zhidong (David) Guo).
  • Добавлена опция —memory-usage для клиента в неинтерактивном режиме. #66393 (vdimir).
  • Добавлен виртуальный столбец _etag для движка таблицы S3. Исправляет #65312. #65386 (skyoct)
  • В этом pull request добавлено секционирование в стиле Hive для различных движков (File, URL, S3, AzureBlobStorage, HDFS). Секционирование в стиле Hive организует данные в секционированные подкаталоги, что повышает эффективность запросов и упрощает работу с большими датасетами. Сейчас оно только создает виртуальные столбцы с соответствующими именами и данными. В следующем PR будет добавлена соответствующая фильтрация данных (для повышения производительности). #65997 (Yarik Briukhovetskyi).
  • Добавлена функция printf для совместимости со Spark. #66257 (李扬).
  • Добавлена поддержка чтения геометрии MULTILINESTRING в формате WKT с помощью функции readWKTLineString. #67647 (Jacob Reckhard).
  • Добавлен механизм тегирования (пространства имен) для кэша запросов. Одинаковые запросы с разными тегами теперь считаются в кэше запросов разными. Пример: SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = ‘abc’ and SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = ‘def’ теперь создают разные записи кэша запросов. #68235(sakulali).
Последнее изменение 10 июня 2026 г.