Altinity

Blog

ClickHouse 1.1.54245 release

Few weeks ago Yandex released ClickHouse 1.1.54245 that included a number of features requested by community. The new deb packages are available from Yandex repo and RPMs from Altinity repo.

So let's see what's new in this release.

New features

  • Distributed DDLs (see CREATE TABLE ON CLUSTER )
  • New table engine Dictionary that allows to access dictionaries as tables (the opposite was possible before using 'clickhouse' dictionary data source).
  • New database engine Dictionary -- it maps all available dictionaries as tables. Very convenient. There is a bug that it does not support filters and limit, but it will be addressed in the next release
  • New dictionary invalidation strategy using 'invalidate_query' -- that specifies SQL query that can be used inside dictionary 'source' section, and if value changes -- dictionary is refreshed
  • Qualified column names and double quoted identifiers -- small step towards the SQL standard!
  • Sessions in HTTP API
  • Improved OPTIMIZE -- can be now run not just at the leader node

Bug fixes

  • Fixed stalled inserts into Distributed table if connection to one of nodes is bad
  • Fixed GLOBAL IN with Merge over the Distributed table
  • Fixed cache problems with 'executable' dictionaries ('executable' is a dictionary source option that runs an external script to get the dictionary data)
  • Fixed comparions of Strings with some special symbols
  • Fixed Float32 PK comparison with constants
  • Fixed memory over allocation in some cases
  • Fixed a crash when Nullable column is added to the table and queried
  • Fixed a crash when Nullable column is sorted and the result set size is less then query LIMIT
  • Fixed ORDER BY in subselect constructed from constants only
  • Fixed a case when Replicated table could be broken after unsuccessful DROP TABLE
  • Fixed column aliasing for empty subselects
  • Fixed a bug with compiled queries failing in some cases

We have used the new release in our dev environment and did not face any problems, except few issues with JDBC driver:

  • Some old versions of JDBC driver are not compatible with the new release. So you need to use the latest one.
  • Yandex added some strange timezone conversion that may result in incorrect results for Date columns, if client timezone left to UTC. It will be removed in the next release.