mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
Added changelog for upcoming release [#CLICKHOUSE-2]
This commit is contained in:
parent
8bc40879ab
commit
43eb7c2488
@ -1,3 +1,87 @@
|
||||
# ClickHouse 1.1.54356 Release Candidate, 2018-03-06
|
||||
|
||||
## Новые возможности:
|
||||
|
||||
* Агрегация без `GROUP BY` по пустому множеству (как например, `SELECT count(*) FROM table WHERE 0`) теперь возвращает результат из одной строки с нулевыми значениями агрегатных функций, в соответствии со стандартом SQL. Вы можете вернуть старое поведение (возвращать пустой результат), выставив настройку `empty_result_for_aggregation_by_empty_set` в значение 1.
|
||||
* Добавлено приведение типов при `UNION ALL`. Допустимо использование столбцов с разными алиасами в соответствующих позициях `SELECT` в `UNION ALL`, что соответствует стандарту SQL.
|
||||
* Поддержка произвольных выражений в секции `LIMIT BY`. Ранее было возможно лишь использование столбцов - результата `SELECT`.
|
||||
* Использование индекса при условии `IN` на кортеж от выражений от столбцов первичного ключа. Пример `WHERE (UserID, EventDate) IN ((123, '2000-01-01'), ...)` (Anastasiya Tsarkova).
|
||||
* Добавлен инструмент `clickhouse-copier` для межкластерного копирования и перешардирования данных (бета).
|
||||
* Добавлены функции консистентного хэширования `yandexConsistentHash`, `jumpConsistentHash`, `sumburConsistentHash`. Их можно использовать в качестве ключа шардирования для того, чтобы уменьшить объём сетевого трафика при последующих перешардированиях.
|
||||
* Добавлены функции `arrayAny`, `arrayAll`, `hasAny`, `hasAll`, `arrayIntersect`, `arrayResize`.
|
||||
* Добавлена функция `arrayCumSum` (Javi Santana).
|
||||
* Добавлена функция `parseDateTimeBestEffort`, `parseDateTimeBestEffortOrZero`, `parseDateTimeBestEffortOrNull`, позволяющая прочитать DateTime из строки, содержащей текст в широком множестве возможных форматов.
|
||||
* Возможность изменения параметров логгирования без перезагрузки сервера.
|
||||
* Добавлена табличная функция `cluster`. Пример: `cluster(cluster_name, db, table)`. Табличная функция `remote` может принимать имя кластера в качестве первого аргумента, если оно указано в виде идентификатора.
|
||||
* Добавлены виртуальные столбцы `create_table_query`, `engine_full` в таблицу `system.tables`. Столбец `metadata_modification_time` сделан виртуальным.
|
||||
* Добавлены столбцы `data_path`, `metadata_path` в таблицы `system.tables` и` system.databases`, а также столбец `path` в таблицы `system.parts` и `system.parts_columns`.
|
||||
* Добавлена дополнительная информация о слияниях в таблицу `system.part_log`.
|
||||
* Возможность использования произвольного ключа партиционирования для таблицы `system.query_log` (Kirill Shvakov).
|
||||
* Запрос `SHOW TABLES` теперь показывает также и временные таблицы. Добавлены временные таблицы и столбец `is_temporary` в таблице `system.tables` (zhang2014).
|
||||
* Добавлен запрос `DROP TEMPORARY TABLE` (zhang2014).
|
||||
* Поддержка `SHOW CREATE TABLE` для временных таблиц (zhang2014).
|
||||
* Добавлен конфигурационный параметр `system_profile` для настроек, используемых внутренними процессами.
|
||||
* Поддержка загрузки `object_id` в качестве атрибута в словарях с источником `MongoDB` (Павел Литвиненко).
|
||||
* Возможность читать `null` как значение по-умолчанию при загрузке данных для внешнего словаря с источником `MongoDB` (Павел Литвиненко).
|
||||
* Возможность чтения значения типа `DateTime` в формате `Values` из unix timestamp без одинарных кавычек.
|
||||
* Поддержан failover в табличной функции `remote` для случая, когда на части реплик отсутствует запрошенная таблица.
|
||||
* Возможность переопределять параметры конфигурации в параметрах командной строки при запуске `clickhouse-server`, пример: `clickhouse-server -- --logger.level=information`.
|
||||
* Реализована функция `empty` от аргумента типа `FixedString`: функция возвращает 1, если строка состоит полностью из нулевых байт.
|
||||
* Добавлен конфигурационный параметр `listen_try`, позволяющий слушать хотя бы один из listen адресов и не завершать работу, если некоторые адреса не удаётся слушать (полезно для систем с выключенной поддержкой IPv4 или IPv6).
|
||||
* Добавлен движок таблиц `VersionedCollapsingMergeTree`.
|
||||
* Поддержка строк и произвольных числовых типов для источника словарей `library`.
|
||||
* Возможность использования таблиц семейства `MergeTree` без первичного ключа (для этого необходимо указать `ORDER BY tuple()`).
|
||||
* Добавлена возможность выполнить преобразование (`CAST`) `Nullable` типа в не `Nullable` тип, если аргумент не является `NULL`.
|
||||
* Возможность выполнения `RENAME TABLE` для `VIEW`.
|
||||
* Добавлено ограничение `max_expanded_ast_elements` действующее на размер AST после рекурсивного раскрытия алиасов.
|
||||
* Добавлена настройка `odbc_default_field_size`, позволяющая расширить максимальный размер значения, загружаемого из ODBC источника (по-умолчанию - 1024).
|
||||
|
||||
## Улучшения:
|
||||
|
||||
* Ограничения на результат и квоты на результат теперь не применяются к промежуточным данным для запросов INSERT SELECT и для подзапросов в SELECT.
|
||||
* Уменьшено количество ложных срабатываний при проверке состояния Replicated таблиц при запуске сервера, приводивших к необходимости выставления флага `force_restore_data`.
|
||||
* Добавлена настройка `allow_distributed_ddl`.
|
||||
* Запрещено использование недетерминированных функций в выражениях для ключей таблиц семейства MergeTree.
|
||||
* Файлы с подстановками из `config.d` директорий загружаются в алфавитном порядке.
|
||||
* Увеличена производительность функции `arrayElement` в случае константного многомерного массива с пустым массивом в качестве одного из элементов. Пример: `[[1], []][x]`.
|
||||
* Увеличена скорость запуска сервера при использовании конфигурационных файлов с очень большими подстановками (например, очень большими списками IP-сетей).
|
||||
* При выполнении запроса, табличные функции выполняются один раз. Ранее табличные функции `remote`, `mysql` дважды делали одинаковый запрос на получение структуры таблицы с удалённого сервера.
|
||||
* Используется генератор документации MkDocs.
|
||||
* При попытке удалить столбец таблицы, от которого зависят `DEFAULT`/`MATERIALIZED` выражения других столбцов, кидается исключение (zhang2014).
|
||||
* Добавлена возможность парсинга пустой строки в текстовых форматах как числа 0 для `Float` типов данных. Эта возможность присутствовала раньше, но была потеряна в релизе 1.1.54342.
|
||||
* Значения типа `Enum` можно использовать в функциях `min`, `max`, `sum` и некоторых других - в этих случаях используются соответствующие числовые значения. Эта возможность присутствовала ранее, но была потеряна в релизе 1.1.54337.
|
||||
|
||||
## Исправление ошибок:
|
||||
|
||||
* Исправлены случаи ошибочного удаления ненужных столбцов из подзапросов, а также отсутствие удаления ненужных столбцов из подзапросов, содержащих `UNION ALL`.
|
||||
* Исправлена ошибка в слияниях для таблиц типа `ReplacingMergeTree`.
|
||||
* Исправлена работа синхронного режима вставки в `Distributed` таблицы (`insert_distributed_sync = 1`).
|
||||
* Исправлены segfault при некоторых случаях использования `FULL` и `RIGHT JOIN` с дублирующимися столбцами в подзапросах.
|
||||
* Исправлен порядок столбцов `source` и `last_exception` в таблице `system.dictionaries`.
|
||||
* Исправлена ошибка - запрос `DROP DATABASE` не удалял файл с метаданными.
|
||||
* Исправлен запрос `DROP DATABASE` для базы данных типа `Dictionary`.
|
||||
* Исправлена неоправданно низкая точность работы функций `uniqHLL12` и `uniqCombined` для кардинальностей больше 100 млн. элементов (Alex Bocharov).
|
||||
* Исправлено вычисление неявных значений по-умолчанию при необходимости одновременного вычисления явных выражений по-умолчанию в запросах `INSERT` (zhang2014).
|
||||
* Исправлен редкий случай, в котором запрос к таблице типа `MergeTree` мог не завершаться (chenxing-xc).
|
||||
* Исправлено падение при выполнении запроса `CHECK` для `Distributed` таблиц, если все шарды локальные (chenxing.xc).
|
||||
* Исправлена незначительная регрессия производительности при работе функций, использующих регулярные выражения.
|
||||
* Исправлена регрессия производительности при создании многомерных массивов от сложных выражений.
|
||||
* Исправлена ошибка, из-за которой в `.sql` файл с метаданными может записываться лишняя секция `FORMAT`.
|
||||
* Исправлена ошибка, приводящая к тому, что ограничение `max_table_size_to_drop` действует при попытке удаления `MATERIALIZED VIEW`, смотрящего на явно указанную таблицу.
|
||||
* Исправлена несовместимость со старыми клиентами (на старые клиенты могли отправляться данные с типом `DateTime('timezone')`, который они не понимают).
|
||||
* Исправлена ошибка при чтении столбцов-элементов `Nested` структур, которые были добавлены с помощью `ALTER`, но являются пустыми для старых партиций, когда условия на такие столбцы переносятся в `PREWHERE`.
|
||||
* Исправлена ошибка при фильтрации таблиц по условию на виртуальных столбец `_table` в запросах к таблицам типа `Merge`.
|
||||
* Исправлена ошибка при использовании `ALIAS` столбцов в `Distributed` таблицах.
|
||||
* Исправлена ошибка, приводящая к невозможности динамической компиляции запросов с агрегатными функциями из семейства `quantile`.
|
||||
* Исправлен race condition в конвейере выполнения запроса, который мог проявляться в очень редких случаях при использовании `Merge` таблиц над большим количеством таблиц, а также при использовании `GLOBAL` подзапросов.
|
||||
* Исправлено падение при передаче массивов разных размеров в функцию `arrayReduce` при использовании агрегатных функций от нескольких аргументов.
|
||||
* Запрещено использование запросов с `UNION ALL` в `MATERIALIZED VIEW`.
|
||||
|
||||
## Обратно несовместимые изменения:
|
||||
|
||||
* Удалена настройка distributed_ddl_allow_replicated_alter. Соответствующее поведение включено по-умолчанию.
|
||||
* Удалён движок таблиц UnsortedMergeTree.
|
||||
|
||||
# Релиз ClickHouse 1.1.54343, 2018-02-05
|
||||
|
||||
* Добавлена возможность использовать макросы при задании имени кластера в распределенных DLL запросах и создании Distributed-таблиц: `CREATE TABLE distr ON CLUSTER '{cluster}' (...) ENGINE = Distributed('{cluster}', 'db', 'table')`.
|
||||
|
Loading…
Reference in New Issue
Block a user