2019 Changelog

#### Improvement[​](#improvement-1 "Direct link to Improvement")

- Add a message in case of queue\_wait\_max\_ms wait takes place.
  [#7390](https://github.com/ClickHouse/ClickHouse/pull/7390) ([Azat
  Khuzhin](https://github.com/azat))
- Made setting `s3_min_upload_part_size` table-level.
  [#7059](https://github.com/ClickHouse/ClickHouse/pull/7059) ([Vladimir
  Chebotarev](https://github.com/excitoon))
- Check TTL in StorageFactory. [#7304](https://github.com/ClickHouse/ClickHouse/pull/7304)
  ([sundyli](https://github.com/sundy-li))
- Squash left-hand blocks in partial merge join (optimization).
  [#7122](https://github.com/ClickHouse/ClickHouse/pull/7122) ([Artem
  Zuikov](https://github.com/4ertus2))
- Do not allow non-deterministic functions in mutations of Replicated table engines, because this
  can introduce inconsistencies between replicas.
  [#7247](https://github.com/ClickHouse/ClickHouse/pull/7247) ([Alexander
  Kazakov](https://github.com/Akazz))
- Disable memory tracker while converting exception stack trace to string. It can prevent the loss
  of error messages of type `Memory limit exceeded` on server, which caused the `Attempt to read after eof` exception on client. [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264)
  ([Nikolai Kochetov](https://github.com/KochetovNicolai))
- Miscellaneous format improvements. Resolves
  [#6033](https://github.com/ClickHouse/ClickHouse/issues/6033),
  [#2633](https://github.com/ClickHouse/ClickHouse/issues/2633),
  [#6611](https://github.com/ClickHouse/ClickHouse/issues/6611),
  [#6742](https://github.com/ClickHouse/ClickHouse/issues/6742)
  [#7215](https://github.com/ClickHouse/ClickHouse/pull/7215)
  ([tavplubix](https://github.com/tavplubix))
- ClickHouse ignores values on the right side of IN operator that are not convertible to the left
  side type. Make it work properly for compound types – Array and Tuple.
  [#7283](https://github.com/ClickHouse/ClickHouse/pull/7283) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
- Support missing inequalities for ASOF JOIN. It's possible to join less-or-equal variant and strict
  greater and less variants for ASOF column in ON syntax.
  [#7282](https://github.com/ClickHouse/ClickHouse/pull/7282) ([Artem
  Zuikov](https://github.com/4ertus2))
- Optimize partial merge join. [#7070](https://github.com/ClickHouse/ClickHouse/pull/7070)
  ([Artem Zuikov](https://github.com/4ertus2))
- Do not use more than 98K of memory in uniqCombined functions.
  [#7236](https://github.com/ClickHouse/ClickHouse/pull/7236),
  [#7270](https://github.com/ClickHouse/ClickHouse/pull/7270) ([Azat
  Khuzhin](https://github.com/azat))
- Flush parts of right-hand joining table on disk in PartialMergeJoin (if there is not enough
  memory). Load data back when needed. [#7186](https://github.com/ClickHouse/ClickHouse/pull/7186)
  ([Artem Zuikov](https://github.com/4ertus2))

#### Performance Improvement[​](#performance-improvement-1 "Direct link to Performance Improvement")

- Speed up joinGet with const arguments by avoiding data duplication.
  [#7359](https://github.com/ClickHouse/ClickHouse/pull/7359) ([Amos
  Bird](https://github.com/amosbird))
- Return early if the subquery is empty.
  [#7007](https://github.com/ClickHouse/ClickHouse/pull/7007) ([小路](https://github.com/nicelulu))
- Optimize parsing of SQL expression in Values.
  [#6781](https://github.com/ClickHouse/ClickHouse/pull/6781)
  ([tavplubix](https://github.com/tavplubix))

#### Build/Testing/Packaging Improvement[​](#buildtestingpackaging-improvement-1 "Direct link to Build/Testing/Packaging Improvement")

- Disable some contribs for cross-compilation to Mac OS.
  [#7101](https://github.com/ClickHouse/ClickHouse/pull/7101) ([Ivan](https://github.com/abyss7))
- Add missing linking with PocoXML for clickhouse\_common\_io.
  [#7200](https://github.com/ClickHouse/ClickHouse/pull/7200) ([Azat
  Khuzhin](https://github.com/azat))
- Accept multiple test filter arguments in clickhouse-test.
  [#7226](https://github.com/ClickHouse/ClickHouse/pull/7226) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
- Enable musl and jemalloc for ARM. [#7300](https://github.com/ClickHouse/ClickHouse/pull/7300)
  ([Amos Bird](https://github.com/amosbird))
- Added `--client-option` parameter to `clickhouse-test` to pass additional parameters to client.
  [#7277](https://github.com/ClickHouse/ClickHouse/pull/7277) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
- Preserve existing configs on rpm package upgrade.
  [#7103](https://github.com/ClickHouse/ClickHouse/pull/7103)
  ([filimonov](https://github.com/filimonov))
- Fix errors detected by PVS. [#7153](https://github.com/ClickHouse/ClickHouse/pull/7153) ([Artem
  Zuikov](https://github.com/4ertus2))
- Fix build for Darwin. [#7149](https://github.com/ClickHouse/ClickHouse/pull/7149)
  ([Ivan](https://github.com/abyss7))
- glibc 2.29 compatibility. [#7142](https://github.com/ClickHouse/ClickHouse/pull/7142) ([Amos
  Bird](https://github.com/amosbird))
- Make sure dh\_clean does not touch potential source files.
  [#7205](https://github.com/ClickHouse/ClickHouse/pull/7205) ([Amos
  Bird](https://github.com/amosbird))
- Attempt to avoid conflict when updating from altinity rpm - it has config file packaged separately
  in clickhouse-server-common. [#7073](https://github.com/ClickHouse/ClickHouse/pull/7073)
  ([filimonov](https://github.com/filimonov))
- Optimize some header files for faster rebuilds.
  [#7212](https://github.com/ClickHouse/ClickHouse/pull/7212),
  [#7231](https://github.com/ClickHouse/ClickHouse/pull/7231) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
- Add performance tests for Date and DateTime. [#7332](https://github.com/ClickHouse/ClickHouse/pull/7332) ([Vasily
  Nemkov](https://github.com/Enmk))
- Fix some tests that contained non-deterministic mutations.
  [#7132](https://github.com/ClickHouse/ClickHouse/pull/7132) ([Alexander
  Kazakov](https://github.com/Akazz))
- Add build with MemorySanitizer to CI. [#7066](https://github.com/ClickHouse/ClickHouse/pull/7066)
  ([Alexander Kuzmenkov](https://github.com/akuzm))
- Avoid use of uninitialized values in MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat
  Khuzhin](https://github.com/azat))
- Fix some issues in Fields found by MemorySanitizer.
  [#7135](https://github.com/ClickHouse/ClickHouse/pull/7135),
  [#7179](https://github.com/ClickHouse/ClickHouse/pull/7179) ([Alexander
  Kuzmenkov](https://github.com/akuzm)), [#7376](https://github.com/ClickHouse/ClickHouse/pull/7376)
  ([Amos Bird](https://github.com/amosbird))
- Fix undefined behavior in murmurhash32. [#7388](https://github.com/ClickHouse/ClickHouse/pull/7388) ([Amos
  Bird](https://github.com/amosbird))
- Fix undefined behavior in StoragesInfoStream. [#7384](https://github.com/ClickHouse/ClickHouse/pull/7384)
  ([tavplubix](https://github.com/tavplubix))
- Fixed constant expressions folding for external database engines (MySQL, ODBC, JDBC). In previous
  versions it wasn't working for multiple constant expressions and was not working at all for Date,
  DateTime and UUID. This fixes [#7245](https://github.com/ClickHouse/ClickHouse/issues/7245)
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
- Fixing ThreadSanitizer data race error in the LIVE VIEW when accessing no\_users\_thread variable.
  [#7353](https://github.com/ClickHouse/ClickHouse/pull/7353)
  ([vzakaznikov](https://github.com/vzakaznikov))
- Get rid of malloc symbols in libcommon
  [#7134](https://github.com/ClickHouse/ClickHouse/pull/7134),
  [#7065](https://github.com/ClickHouse/ClickHouse/pull/7065) ([Amos
  Bird](https://github.com/amosbird))
- Add global flag ENABLE\_LIBRARIES for disabling all libraries.
  [#7063](https://github.com/ClickHouse/ClickHouse/pull/7063)
  ([proller](https://github.com/proller))

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