So let’s see what’s new in this release.
- 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
- 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.