2019 Changelog

#### Code Cleanup[​](#code-cleanup "Direct link to Code Cleanup")

- Generalize configuration repository to prepare for DDL for Dictionaries. [#7155](https://github.com/ClickHouse/ClickHouse/pull/7155)
  ([alesapin](https://github.com/alesapin))
- Parser for dictionaries DDL without any semantic.
  [#7209](https://github.com/ClickHouse/ClickHouse/pull/7209)
  ([alesapin](https://github.com/alesapin))
- Split ParserCreateQuery into different smaller parsers.
  [#7253](https://github.com/ClickHouse/ClickHouse/pull/7253)
  ([alesapin](https://github.com/alesapin))
- Small refactoring and renaming near external dictionaries.
  [#7111](https://github.com/ClickHouse/ClickHouse/pull/7111)
  ([alesapin](https://github.com/alesapin))
- Refactor some code to prepare for role-based access control. [#7235](https://github.com/ClickHouse/ClickHouse/pull/7235) ([Vitaly
  Baranov](https://github.com/vitlibar))
- Some improvements in DatabaseOrdinary code.
  [#7086](https://github.com/ClickHouse/ClickHouse/pull/7086) ([Nikita
  Vasilev](https://github.com/nikvas0))
- Do not use iterators in find() and emplace() methods of hash tables.
  [#7026](https://github.com/ClickHouse/ClickHouse/pull/7026) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
- Fix getMultipleValuesFromConfig in case when parameter root is not empty. [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374)
  ([Mikhail Korotov](https://github.com/millb))
- Remove some copy-paste (TemporaryFile and TemporaryFileStream)
  [#7166](https://github.com/ClickHouse/ClickHouse/pull/7166) ([Artem
  Zuikov](https://github.com/4ertus2))
- Improved code readability a little bit (`MergeTreeData::getActiveContainingPart`).
  [#7361](https://github.com/ClickHouse/ClickHouse/pull/7361) ([Vladimir
  Chebotarev](https://github.com/excitoon))
- Wait for all scheduled jobs, which are using local objects, if `ThreadPool::schedule(...)` throws
  an exception. Rename `ThreadPool::schedule(...)` to `ThreadPool::scheduleOrThrowOnError(...)` and
  fix comments to make obvious that it may throw.
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350)
  ([tavplubix](https://github.com/tavplubix))

## ClickHouse Release 19.15[​](#clickhouse-release-19-15 "Direct link to ClickHouse Release 19.15")

### ClickHouse Release 19.15.4.10, 2019-10-31[​](#clickhouse-release-19-15-4-10-2019-10-31 "Direct link to ClickHouse Release 19.15.4.10, 2019-10-31")

#### Bug Fix[​](#bug-fix-3 "Direct link to Bug Fix")

- Added handling of SQL\_TINYINT and SQL\_BIGINT, and fix handling of SQL\_FLOAT data source types in ODBC Bridge.
  [#7491](https://github.com/ClickHouse/ClickHouse/pull/7491) ([Denis Glazachev](https://github.com/traceon))
- Allowed to have some parts on destination disk or volume in MOVE PARTITION.
  [#7434](https://github.com/ClickHouse/ClickHouse/pull/7434) ([Vladimir Chebotarev](https://github.com/excitoon))
- Fixed NULL-values in nullable columns through ODBC-bridge.
  [#7402](https://github.com/ClickHouse/ClickHouse/pull/7402) ([Vasily Nemkov](https://github.com/Enmk))
- Fixed INSERT into Distributed non local node with MATERIALIZED columns.
  [#7377](https://github.com/ClickHouse/ClickHouse/pull/7377) ([Azat Khuzhin](https://github.com/azat))
- Fixed function getMultipleValuesFromConfig.
  [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374) ([Mikhail Korotov](https://github.com/millb))
- Fixed issue of using HTTP keep alive timeout instead of TCP keep alive timeout.
  [#7351](https://github.com/ClickHouse/ClickHouse/pull/7351) ([Vasily Nemkov](https://github.com/Enmk))
- Wait for all jobs to finish on exception (fixes rare segfaults).
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350) ([tavplubix](https://github.com/tavplubix))
- Don't push to MVs when inserting into Kafka table.
  [#7265](https://github.com/ClickHouse/ClickHouse/pull/7265) ([Ivan](https://github.com/abyss7))
- Disable memory tracker for exception stack.
  [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
- Fixed bad code in transforming query for external database.
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252) ([alexey-milovidov](https://github.com/alexey-milovidov))
- Avoid use of uninitialized values in MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat Khuzhin](https://github.com/azat))
- Added example config with macros for tests ([alexey-milovidov](https://github.com/alexey-milovidov))

### ClickHouse Release 19.15.3.6, 2019-10-09[​](#clickhouse-release-19-15-3-6-2019-10-09 "Direct link to ClickHouse Release 19.15.3.6, 2019-10-09")

#### Bug Fix[​](#bug-fix-4 "Direct link to Bug Fix")

- Fixed bad\_variant in hashed dictionary.
  ([alesapin](https://github.com/alesapin))
- Fixed up bug with segmentation fault in ATTACH PART query.
  ([alesapin](https://github.com/alesapin))
- Fixed time calculation in `MergeTreeData`.
  ([Vladimir Chebotarev](https://github.com/excitoon))
- Commit to Kafka explicitly after the writing is finalized.
  [#7175](https://github.com/ClickHouse/ClickHouse/pull/7175) ([Ivan](https://github.com/abyss7))
- Serialize NULL values correctly in min/max indexes of MergeTree parts.
  [#7234](https://github.com/ClickHouse/ClickHouse/pull/7234) ([Alexander Kuzmenkov](https://github.com/akuzm))

### ClickHouse Release 19.15.2.2, 2019-10-01[​](#clickhouse-release-19-15-2-2-2019-10-01 "Direct link to ClickHouse Release 19.15.2.2, 2019-10-01")

#### New Feature[​](#new-feature-3 "Direct link to New Feature")

- Tiered storage: support to use multiple storage volumes for tables with MergeTree engine. It's possible to store fresh data on SSD and automatically move old data to HDD. ([example](https://clickhouse.github.io/clickhouse-presentations/meetup30/new_features/#12)). [#4918](https://github.com/ClickHouse/ClickHouse/pull/4918) ([Igr](https://github.com/ObjatieGroba)) [#6489](https://github.com/ClickHouse/ClickHouse/pull/6489) ([alesapin](https://github.com/alesapin))
- Add table function `input` for reading incoming data in `INSERT SELECT` query. [#5450](https://github.com/ClickHouse/ClickHouse/pull/5450) ([palasonic1](https://github.com/palasonic1)) [#6832](https://github.com/ClickHouse/ClickHouse/pull/6832) ([Anton Popov](https://github.com/CurtizJ))
- Add a `sparse_hashed` dictionary layout, that is functionally equivalent to the `hashed` layout, but is more memory efficient. It uses about twice as less memory at the cost of slower value retrieval. [#6894](https://github.com/ClickHouse/ClickHouse/pull/6894) ([Azat Khuzhin](https://github.com/azat))
- Implement ability to define list of users for access to dictionaries. Only current connected database using. [#6907](https://github.com/ClickHouse/ClickHouse/pull/6907) ([Guillaume Tassery](https://github.com/YiuRULE))
- Add `LIMIT` option to `SHOW` query. [#6944](https://github.com/ClickHouse/ClickHouse/pull/6944) ([Philipp Malkovsky](https://github.com/malkfilipp))
- Add `bitmapSubsetLimit(bitmap, range_start, limit)` function, that returns subset of the smallest `limit` values in set that is no smaller than `range_start`. [#6957](https://github.com/ClickHouse/ClickHouse/pull/6957) ([Zhichang Yu](https://github.com/yuzhichang))
- Add `bitmapMin` and `bitmapMax` functions. [#6970](https://github.com/ClickHouse/ClickHouse/pull/6970) ([Zhichang Yu](https://github.com/yuzhichang))
- Add function `repeat` related to [issue-6648](https://github.com/ClickHouse/ClickHouse/issues/6648) [#6999](https://github.com/ClickHouse/ClickHouse/pull/6999) ([flynn](https://github.com/ucasFL))

#### Experimental Feature[​](#experimental-feature-1 "Direct link to Experimental Feature")