diff --git a/CHANGELOG_RU.md b/CHANGELOG_RU.md index 8e3cfb6c9c3..ac07b360b2a 100644 --- a/CHANGELOG_RU.md +++ b/CHANGELOG_RU.md @@ -4,9 +4,9 @@ * Добавлен тип данных `DECIMAL(digits, scale)` (`Decimal32(scale)`, `Decimal64(scale)`, `Decimal128(scale)`). Возможность доступна под настройкой `allow_experimental_decimal_type`. [#2846](https://github.com/yandex/ClickHouse/pull/2846) [#2970](https://github.com/yandex/ClickHouse/pull/2970) [#3008](https://github.com/yandex/ClickHouse/pull/3008) [#3047](https://github.com/yandex/ClickHouse/pull/3047) * Модификатор `WITH ROLLUP` для `GROUP BY` (также доступен синтаксис: `GROUP BY ROLLUP(...)`). [#2948](https://github.com/yandex/ClickHouse/pull/2948) -* В запросах с JOIN, звёздочка раскрывается в список столбцов всех таблиц, в соответствии со стандартом SQL. Вернуть старое поведение можно, выставив настройку (уровня пользователя) `asterisk_left_columns_only` в значение 1. Winter Zhang [#2787](https://github.com/yandex/ClickHouse/pull/2787) -* Добавлена поддержка JOIN с табличной функцией Winter Zhang [#2907](https://github.com/yandex/ClickHouse/pull/2907) -* Автодополнение по нажатию Tab в clickhouse-client. Sergey Shcherbin [#2447](https://github.com/yandex/ClickHouse/pull/2447) +* В запросах с JOIN, звёздочка раскрывается в список столбцов всех таблиц, в соответствии со стандартом SQL. Вернуть старое поведение можно, выставив настройку (уровня пользователя) `asterisk_left_columns_only` в значение 1. [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2787) +* Добавлена поддержка JOIN с табличной функцией [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2907) +* Автодополнение по нажатию Tab в clickhouse-client. [Sergey Shcherbin](https://github.com/yandex/ClickHouse/pull/2447) * Нажатие Ctrl+C в clickhouse-client очищает запрос, если он был введён [#2877](https://github.com/yandex/ClickHouse/pull/2877) * Добавлена настройка `join_default_strictness` (значения `''`, `'any'`, `'all'`). Её использование позволяет не указывать `ANY` или `ALL` для `JOIN` [#2982](https://github.com/yandex/ClickHouse/pull/2982) * В каждой строчке лога сервера, относящейся к обработке запроса, выводится идентификатор запроса. [#2482](https://github.com/yandex/ClickHouse/pull/2482) @@ -18,9 +18,9 @@ * Счётчики `ProfileEvents` учитываются не только глобально, но и на каждый запрос, а также на каждый поток выполнения запроса, что позволяет детально профилировать потребление ресурсов отдельными запросами. [#2482](https://github.com/yandex/ClickHouse/pull/2482) * Добавлена таблица `system.query_thread_log`, содержащая информацию о каждом потоке выполнения запроса. Добавлена настройка `log_query_threads`. [#2482](https://github.com/yandex/ClickHouse/pull/2482) * В таблицах `system.metrics` и `system.events` появилась встроенная документация. [#3016](https://github.com/yandex/ClickHouse/pull/3016) -* Добавлена функция `arrayEnumerateDense` Amos Bird [#2975](https://github.com/yandex/ClickHouse/pull/2975) -* Добавлены функции `arrayCumSumNonNegative` и `arrayDifference` Aleksey Studnev [#2942](https://github.com/yandex/ClickHouse/pull/2942) -* Добавлена агрегатная функция `retention` Sundy Li [#2887](https://github.com/yandex/ClickHouse/pull/2887) +* Добавлена функция `arrayEnumerateDense` [Amos Bird](https://github.com/yandex/ClickHouse/pull/2975) +* Добавлены функции `arrayCumSumNonNegative` и `arrayDifference` [Aleksey Studnev](https://github.com/yandex/ClickHouse/pull/2942) +* Добавлена агрегатная функция `retention` [Sundy Li](https://github.com/yandex/ClickHouse/pull/2887) * Возможность сложения (слияния) состояний агрегатных функций с помощью оператора плюс, а также умножения состояний агрегатных функций на целую неотрицательную константу. [#3062](https://github.com/yandex/ClickHouse/pull/3062) [#3034](https://github.com/yandex/ClickHouse/pull/3034) * В таблицах семейства MergeTree добавлен виртуальный столбец `_partition_id` [#3089](https://github.com/yandex/ClickHouse/pull/3089) @@ -34,25 +34,25 @@ * Исправлена проблема неограниченного накопления лога репликации в случае наличия заброшенных реплик. Добавлен режим эффективного восстановления реплик после длительного отставания. * Увеличена производительность при выполнении `GROUP BY` в случае, если есть несколько полей агрегации, одно из которых строковое, а другие - фиксированной длины. * Увеличена производительность при использовании `PREWHERE` и при неявном переносе выражений в `PREWHERE`. -* Увеличена производительность парсинга текстовых форматов (`CSV`, `TSV`) Amos Bird [#2977](https://github.com/yandex/ClickHouse/pull/2977) [#2980](https://github.com/yandex/ClickHouse/pull/2980) -* Увеличена производительность чтения строк и массивов в бинарных форматах Amos Bird [#2955](https://github.com/yandex/ClickHouse/pull/2955) +* Увеличена производительность парсинга текстовых форматов (`CSV`, `TSV`) [Amos Bird](https://github.com/yandex/ClickHouse/pull/2977) [#2980](https://github.com/yandex/ClickHouse/pull/2980) +* Увеличена производительность чтения строк и массивов в бинарных форматах [Amos Bird](https://github.com/yandex/ClickHouse/pull/2955) * Увеличена производительность и уменьшено потребление памяти в запросах к таблицам `system.tables` и `system.columns` в случае наличия очень большого количества таблиц на одном сервере. [#2953](https://github.com/yandex/ClickHouse/pull/2953) * Исправлена проблема низкой производительности в случае наличия большого потока запросов, для которых возвращается ошибка (в `perf top` видна функция `_dl_addr`, при этом сервер использует мало CPU). [#2938](https://github.com/yandex/ClickHouse/pull/2938) -* Прокидывание условий внутрь View (при включенной настройке `enable_optimize_predicate_expression`) Winter Zhang [#2907](https://github.com/yandex/ClickHouse/pull/2907) +* Прокидывание условий внутрь View (при включенной настройке `enable_optimize_predicate_expression`) [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2907) * Доработки недостающей функциональности для типа данных `UUID` [#3074](https://github.com/yandex/ClickHouse/pull/3074) [#2985](https://github.com/yandex/ClickHouse/pull/2985) * Тип данных `UUID` поддержан в словарях The-Alchemist [#2822](https://github.com/yandex/ClickHouse/pull/2822) -* Функция `visitParamExtractRaw` корректно работает с вложенными структурами Winter Zhang [#2974](https://github.com/yandex/ClickHouse/pull/2974) -* При использовании настройки `input_format_skip_unknown_fields` корректно работает пропуск значений-объектов в формате `JSONEachRow` BlahGeek [#2958](https://github.com/yandex/ClickHouse/pull/2958) +* Функция `visitParamExtractRaw` корректно работает с вложенными структурами [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2974) +* При использовании настройки `input_format_skip_unknown_fields` корректно работает пропуск значений-объектов в формате `JSONEachRow` [BlahGeek](https://github.com/yandex/ClickHouse/pull/2958) * Для выражения `CASE` с условиями, появилась возможность не указывать `ELSE`, что эквивалентно `ELSE NULL` [#2920](https://github.com/yandex/ClickHouse/pull/2920) -* Возможность конфигурирования operation timeout при работе с ZooKeeper. urykhy [#2971](https://github.com/yandex/ClickHouse/pull/2971) +* Возможность конфигурирования operation timeout при работе с ZooKeeper. [urykhy](https://github.com/yandex/ClickHouse/pull/2971) * Возможность указания смещения для `LIMIT n, m` в виде `LIMIT n OFFSET m` [#2840](https://github.com/yandex/ClickHouse/pull/2840) * Возможность использования синтаксиса `SELECT TOP n` в качестве альтернативы для `LIMIT` [#2840](https://github.com/yandex/ClickHouse/pull/2840) * Увеличен размер очереди записи в системные таблицы, что позволяет уменьшить количество ситуаций `SystemLog queue is full`. -* В агрегатной функции `windowFunnel` добавлена поддержка событий, подходящих под несколько условий Amos Bird [#2801](https://github.com/yandex/ClickHouse/pull/2801) +* В агрегатной функции `windowFunnel` добавлена поддержка событий, подходящих под несколько условий [Amos Bird](https://github.com/yandex/ClickHouse/pull/2801) * Возможность использования дублирующихся столбцов в секции `USING` для `JOIN` [#3006](https://github.com/yandex/ClickHouse/pull/3006) * Для форматов `Pretty` введено ограничение выравнивания столбцов по ширине. Настройка `output_format_pretty_max_column_pad_width`. В случае более широкого значения, оно всё ещё будет выведено целиком, но остальные ячейки таблицы не будут излишне широкими [#3003](https://github.com/yandex/ClickHouse/pull/3003) -* В табличной функции `odbc` добавлена возможность указания имени базы данных/схемы Amos Bird [#2885](https://github.com/yandex/ClickHouse/pull/2885) -* Добавлена возможность использования имени пользователя, заданного в конфигурационном файле `clickhouse-client` Vladimir Kozbin [#2909](https://github.com/yandex/ClickHouse/pull/2909) +* В табличной функции `odbc` добавлена возможность указания имени базы данных/схемы [Amos Bird](https://github.com/yandex/ClickHouse/pull/2885) +* Добавлена возможность использования имени пользователя, заданного в конфигурационном файле `clickhouse-client` [Vladimir Kozbin](https://github.com/yandex/ClickHouse/pull/2909) * Счётчик `ZooKeeperExceptions` разделён на три счётчика `ZooKeeperUserExceptions`, `ZooKeeperHardwareExceptions`, `ZooKeeperOtherExceptions`. * Запросы `ALTER DELETE` работают для материализованных представлений. * Добавлена рандомизация во времени периодического запуска cleanup thread для таблиц типа `ReplicatedMergeTree`, чтобы избежать периодических всплесков нагрузки в случае очень большого количества таблиц типа `ReplicatedMergeTree`. @@ -74,19 +74,19 @@ * Исправлена утечка памяти при вставке в таблицу со столбцами типа `AggregateFunction`, если состояние агрегатной функции нетривиальное (выделяет память отдельно), и если в одном запросе на вставку получается несколько маленьких блоков [#3084](https://github.com/yandex/ClickHouse/pull/3084) * Исправлен race condition при одновременном создании и удалении одной и той же таблицы типа `Buffer` или `MergeTree`. * Исправлена возможность segfault при сравнении кортежей из некоторых нетривиальных типов, таких как, например, кортежей [#2989](https://github.com/yandex/ClickHouse/pull/2989) -* Исправлена возможность segfault при выполнении некоторых запросов `ON CLUSTER` Winter Zhang [#2960](https://github.com/yandex/ClickHouse/pull/2960) +* Исправлена возможность segfault при выполнении некоторых запросов `ON CLUSTER` [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2960) * Исправлена ошибка в функции `arrayDistinct` в случае `Nullable` элементов массивов [#2845](https://github.com/yandex/ClickHouse/pull/2845) [#2937](https://github.com/yandex/ClickHouse/pull/2937) -* Возможность `enable_optimize_predicate_expression` корректно поддерживает случаи с `SELECT *` Winter Zhang [#2929](https://github.com/yandex/ClickHouse/pull/2929) +* Возможность `enable_optimize_predicate_expression` корректно поддерживает случаи с `SELECT *` [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2929) * Исправлена возможность segfault при переинициализации сессии с ZooKeeper [#2917](https://github.com/yandex/ClickHouse/pull/2917) * Исправлена возможность блокировки при взаимодействии с ZooKeeper. * Исправлен некорректный код суммирования вложенных структур данных в `SummingMergeTree`. -* При выделении памяти для состояний агрегатных функций, корректно учитывается выравнивание, что позволяет использовать при реализации состояний агрегатных функций операции, для которых выравнивание является необходимым chenxing-xc [#2808](https://github.com/yandex/ClickHouse/pull/2808) +* При выделении памяти для состояний агрегатных функций, корректно учитывается выравнивание, что позволяет использовать при реализации состояний агрегатных функций операции, для которых выравнивание является необходимым [chenxing-xc](https://github.com/yandex/ClickHouse/pull/2808) ### Исправления безопасности: * Безопасная работа с ODBC источниками данных. Взаимодействие с ODBC драйверами выполняется через отдельный процесс `clickhouse-odbc-bridge`. Ошибки в сторонних ODBC драйверах теперь не приводят к проблемам со стабильностью сервера или уязвимостям [#2828](https://github.com/yandex/ClickHouse/pull/2828) [#2879](https://github.com/yandex/ClickHouse/pull/2879) [#2886](https://github.com/yandex/ClickHouse/pull/2886) [#2893](https://github.com/yandex/ClickHouse/pull/2893) [#2921](https://github.com/yandex/ClickHouse/pull/2921) * Исправлена некорректная валидация пути к файлу в табличной функции `catBoostPool` [#2894](https://github.com/yandex/ClickHouse/pull/2894) -* Содержимое системных таблиц (`tables`, `databases`, `parts`, `columns`, `parts_columns`, `merges`, `mutations`, `replicas`, `replication_queue`) фильтруется согласно конфигурации доступа к базам данных для пользователя (`allow_databases`) Winter Zhang [#2856](https://github.com/yandex/ClickHouse/pull/2856) +* Содержимое системных таблиц (`tables`, `databases`, `parts`, `columns`, `parts_columns`, `merges`, `mutations`, `replicas`, `replication_queue`) фильтруется согласно конфигурации доступа к базам данных для пользователя (`allow_databases`) [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2856) ### Обратно несовместимые изменения: @@ -96,7 +96,7 @@ * Добавлен покоммитный запуск большинства интеграционных тестов. * Добавлен покоммитный запуск проверки стиля кода. -* Корректный выбор реализации `memcpy` при сборке на CentOS7 / Fedora Etienne Champetier [#2912](https://github.com/yandex/ClickHouse/pull/2912) +* Корректный выбор реализации `memcpy` при сборке на CentOS7 / Fedora [Etienne Champetier](https://github.com/yandex/ClickHouse/pull/2912) * При сборке с помощью clang добавлены некоторые warnings из `-Weverything` в дополнение к обычным `-Wall -Wextra -Werror` [#2957](https://github.com/yandex/ClickHouse/pull/2957) * При debug сборке используется debug вариант `jemalloc`. * Абстрагирован интерфейс библиотеки для взаимодействия с ZooKeeper [#2950](https://github.com/yandex/ClickHouse/pull/2950) @@ -113,24 +113,24 @@ ### Улучшения: * Удаление кластеров без перезагрузки сервера при их удалении из конфигурационных файлов. [#2777](https://github.com/yandex/ClickHouse/pull/2777) * Удаление внешних словарей без перезагрузки сервера при их удалении из конфигурационных файлов. [#2779](https://github.com/yandex/ClickHouse/pull/2779) -* Добавлена поддержка `SETTINGS` для движка таблиц `Kafka` Alexander Marshalov [#2781](https://github.com/yandex/ClickHouse/pull/2781) +* Добавлена поддержка `SETTINGS` для движка таблиц `Kafka` [Alexander Marshalov](https://github.com/yandex/ClickHouse/pull/2781) * Доработки для типа данных `UUID` (не полностью) Šimon Podlipský [#2618](https://github.com/yandex/ClickHouse/pull/2618) * Поддежка пустых кусков после мержей в движках `SummingMergeTree`, `CollapsingMergeTree` and `VersionedCollapsingMergeTree` [#2815](https://github.com/yandex/ClickHouse/pull/2815) * Удаление старых записей о полностью выполнившихся мутациях (`ALTER DELETE`) [#2784](https://github.com/yandex/ClickHouse/pull/2784) -* Добавлена таблица `system.merge_tree_settings` Kirill Shvakov [#2841](https://github.com/yandex/ClickHouse/pull/2841) -* В таблицу `system.tables` добавлены столбцы зависимостей: `dependencies_database` и `dependencies_table` Winter Zhang [#2851](https://github.com/yandex/ClickHouse/pull/2851) +* Добавлена таблица `system.merge_tree_settings` [Kirill Shvakov](https://github.com/yandex/ClickHouse/pull/2841) +* В таблицу `system.tables` добавлены столбцы зависимостей: `dependencies_database` и `dependencies_table` [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2851) * Добавлена опция конфига `max_partition_size_to_drop` [#2782](https://github.com/yandex/ClickHouse/pull/2782) -* Добавлена настройка `output_format_json_escape_forward_slashes` Alexander Bocharov [#2812](https://github.com/yandex/ClickHouse/pull/2812) +* Добавлена настройка `output_format_json_escape_forward_slashes` [Alexander Bocharov](https://github.com/yandex/ClickHouse/pull/2812) * Добавлена настройка `max_fetch_partition_retries_count` [#2831](https://github.com/yandex/ClickHouse/pull/2831) * Добавлена настройка `prefer_localhost_replica`, позволяющая отключить предпочтение локальной реплики и хождение на локальную реплику без межпроцессного взаимодействия [#2832](https://github.com/yandex/ClickHouse/pull/2832) -* Агрегатная функция `quantileExact` возвращает `nan` в случае агрегации по пустому множеству `Float32`/`Float64` типов Sundy Li [#2855](https://github.com/yandex/ClickHouse/pull/2855) +* Агрегатная функция `quantileExact` возвращает `nan` в случае агрегации по пустому множеству `Float32`/`Float64` типов [Sundy Li](https://github.com/yandex/ClickHouse/pull/2855) ### Исправление ошибок: * Убрано излишнее экранирование параметров connection string для ODBC, котрое приводило к невозможности соединения. Ошибка возникла в версии 18.6.0. * Исправлена логика обработки команд на `REPLACE PARTITION` в очереди репликации. Неправильная логика могла приводить к тому, что при наличии двух `REPLACE` одной и той же партиции, один из них оставался в очереди репликации и не мог выполниться. [#2814](https://github.com/yandex/ClickHouse/pull/2814) * Исправлена ошибка при мерже, если все куски были пустыми (такие куски, в свою очередь, образуются при слиянии или при `ALTER DELETE` в случае удаления всех данных). Ошибка появилась в версии 18.1.0. [#2930](https://github.com/yandex/ClickHouse/pull/2930) -* Исправлена ошибка при параллельной записи в таблицы типа `Set` или `Join` Amos Bird [#2823](https://github.com/yandex/ClickHouse/pull/2823) -* Исправлена ошибка `Block structure mismatch in UNION stream: different number of columns`, возникающая при запросах с `UNION ALL` внутри подзапроса, в случае, если один из `SELECT` запросов содержит дублирующиеся имена столбцов Winter Zhang [#2094](https://github.com/yandex/ClickHouse/pull/2094) +* Исправлена ошибка при параллельной записи в таблицы типа `Set` или `Join` [Amos Bird](https://github.com/yandex/ClickHouse/pull/2823) +* Исправлена ошибка `Block structure mismatch in UNION stream: different number of columns`, возникающая при запросах с `UNION ALL` внутри подзапроса, в случае, если один из `SELECT` запросов содержит дублирующиеся имена столбцов [Winter Zhang](https://github.com/yandex/ClickHouse/pull/2094) * Исправлена утечка памяти в случае исключения при соединении с MySQL сервером. * Исправлен некорректный код возврата clickhouse-client в случае ошибочного запроса * Исправлен некорректная работа materialized views, содержащих DISTINCT [#2795](https://github.com/yandex/ClickHouse/issues/2795)