title_wip

#### Backward Incompatible Changes:[​](#backward-incompatible-changes-1 "Direct link to Backward Incompatible Changes:")

- Changed the binary format of aggregate states of `groupArray(array_column)` functions for arrays.

#### Complete List of Changes:[​](#complete-list-of-changes "Direct link to Complete List of Changes:")

- Added the `output_format_json_quote_denormals` setting, which enables outputting nan and inf values in JSON format.
- Optimized stream allocation when reading from a Distributed table.
- Settings can be configured in readonly mode if the value does not change.
- Added the ability to retrieve non-integer granules of the MergeTree engine in order to meet restrictions on the block size specified in the preferred\_block\_size\_bytes setting. The purpose is to reduce the consumption of RAM and increase cache locality when processing queries from tables with large columns.
- Efficient use of indexes that contain expressions like `toStartOfHour(x)` for conditions like `toStartOfHour(x) op сonstexpr.`
- Added new settings for MergeTree engines (the merge\_tree section in config.xml):
  - replicated\_deduplication\_window\_seconds sets the number of seconds allowed for deduplicating inserts in Replicated tables.
  - cleanup\_delay\_period sets how often to start cleanup to remove outdated data.
  - replicated\_can\_become\_leader can prevent a replica from becoming the leader (and assigning merges).
- Accelerated cleanup to remove outdated data from ZooKeeper.
- Multiple improvements and fixes for clustered DDL queries. Of particular interest is the new setting distributed\_ddl\_task\_timeout, which limits the time to wait for a response from the servers in the cluster. If a ddl request has not been performed on all hosts, a response will contain a timeout error and a request will be executed in an async mode.
- Improved display of stack traces in the server logs.
- Added the "none" value for the compression method.
- You can use multiple dictionaries\_config sections in config.xml.
- It is possible to connect to MySQL through a socket in the file system.
- The system.parts table has a new column with information about the size of marks, in bytes.

#### Bug Fixes:[​](#bug-fixes-4 "Direct link to Bug Fixes:")

- Distributed tables using a Merge table now work correctly for a SELECT query with a condition on the `_table` field.
- Fixed a rare race condition in ReplicatedMergeTree when checking data parts.
- Fixed possible freezing on "leader election" when starting a server.
- The max\_replica\_delay\_for\_distributed\_queries setting was ignored when using a local replica of the data source. This has been fixed.
- Fixed incorrect behavior of `ALTER TABLE CLEAR COLUMN IN PARTITION` when attempting to clean a non-existing column.
- Fixed an exception in the multiIf function when using empty arrays or strings.
- Fixed excessive memory allocations when deserializing Native format.
- Fixed incorrect auto-update of Trie dictionaries.
- Fixed an exception when running queries with a GROUP BY clause from a Merge table when using SAMPLE.
- Fixed a crash of GROUP BY when using distributed\_aggregation\_memory\_efficient=1.
- Now you can specify the database.table in the right side of IN and JOIN.
- Too many threads were used for parallel aggregation. This has been fixed.
- Fixed how the "if" function works with FixedString arguments.
- SELECT worked incorrectly from a Distributed table for shards with a weight of 0. This has been fixed.
- Running `CREATE VIEW IF EXISTS no longer causes crashes.`
- Fixed incorrect behavior when input\_format\_skip\_unknown\_fields=1 is set and there are negative numbers.
- Fixed an infinite loop in the `dictGetHierarchy()` function if there is some invalid data in the dictionary.
- Fixed `Syntax error: unexpected (...)` errors when running distributed queries with subqueries in an IN or JOIN clause and Merge tables.
- Fixed an incorrect interpretation of a SELECT query from Dictionary tables.
- Fixed the "Cannot mremap" error when using arrays in IN and JOIN clauses with more than 2 billion elements.
- Fixed the failover for dictionaries with MySQL as the source.

#### Improved Workflow for Developing and Assembling ClickHouse:[​](#improved-workflow-for-developing-and-assembling-clickhouse-1 "Direct link to Improved Workflow for Developing and Assembling ClickHouse:")

- Builds can be assembled in Arcadia.
- You can use gcc 7 to compile ClickHouse.
- Parallel builds using ccache+distcc are faster now.

### ClickHouse Release 1.1.54245, 2017-07-04[​](#clickhouse-release-1-1-54245-2017-07-04 "Direct link to ClickHouse Release 1.1.54245, 2017-07-04")

#### New Features:[​](#new-features-5 "Direct link to New Features:")

- Distributed DDL (for example, `CREATE TABLE ON CLUSTER`)
- The replicated query `ALTER TABLE CLEAR COLUMN IN PARTITION.`
- The engine for Dictionary tables (access to dictionary data in the form of a table).
- Dictionary database engine (this type of database automatically has Dictionary tables available for all the connected external dictionaries).
- You can check for updates to the dictionary by sending a request to the source.
- Qualified column names
- Quoting identifiers using double quotation marks.
- Sessions in the HTTP interface.
- The OPTIMIZE query for a Replicated table can can run not only on the leader.

#### Backward Incompatible Changes:[​](#backward-incompatible-changes-2 "Direct link to Backward Incompatible Changes:")

- Removed SET GLOBAL.

#### Minor Changes:[​](#minor-changes "Direct link to Minor Changes:")

- Now after an alert is triggered, the log prints the full stack trace.
- Relaxed the verification of the number of damaged/extra data parts at startup (there were too many false positives).

#### Bug Fixes:[​](#bug-fixes-5 "Direct link to Bug Fixes:")

- Fixed a bad connection "sticking" when inserting into a Distributed table.
- GLOBAL IN now works for a query from a Merge table that looks at a Distributed table.
- The incorrect number of cores was detected on a Google Compute Engine virtual machine. This has been fixed.
- Changes in how an executable source of cached external dictionaries works.
- Fixed the comparison of strings containing null characters.
- Fixed the comparison of Float32 primary key fields with constants.
- Previously, an incorrect estimate of the size of a field could lead to overly large allocations.
- Fixed a crash when querying a Nullable column added to a table using ALTER.
- Fixed a crash when sorting by a Nullable column, if the number of rows is less than LIMIT.
- Fixed an ORDER BY subquery consisting of only constant values.
- Previously, a Replicated table could remain in the invalid state after a failed DROP TABLE.
- Aliases for scalar subqueries with empty results are no longer lost.
- Now a query that used compilation does not fail with an error if the .so file gets damaged.

- [ClickHouse Release 1.1.54327, 2017-12-21](#clickhouse-release-1-1-54327-2017-12-21)- [ClickHouse Release 1.1.54318, 2017-11-30](#clickhouse-release-1-1-54318-2017-11-30)- [ClickHouse Release 1.1.54310, 2017-11-01](#clickhouse-release-1-1-54310-2017-11-01)- [ClickHouse Release 1.1.54304, 2017-10-19](#clickhouse-release-1-1-54304-2017-10-19)- [ClickHouse Release 1.1.54292, 2017-09-20](#clickhouse-release-1-1-54292-2017-09-20)- [ClickHouse Release 1.1.54289, 2017-09-13](#clickhouse-release-1-1-54289-2017-09-13)- [ClickHouse Release 1.1.54284, 2017-08-29](#clickhouse-release-1-1-54284-2017-08-29)- [ClickHouse Release 1.1.54282, 2017-08-23](#clickhouse-release-1-1-54282-2017-08-23)- [ClickHouse Release 1.1.54276, 2017-08-16](#clickhouse-release-1-1-54276-2017-08-16)- [ClickHouse Release 1.1.54245, 2017-07-04](#clickhouse-release-1-1-54245-2017-07-04)

Was this page helpful?