ClickHouse v19.17.6.36 Release Notes

Release Date: 2019-12-27 // over 4 years ago
  • ๐Ÿ› Bug Fix

    • ๐Ÿ›  Fixed potential buffer overflow in decompress. Malicious user can pass fabricated compressed data that could cause read after buffer. This issue was found by Eldar Zaitov from Yandex information security team. #8404 (alexey-milovidov)
    • ๐Ÿ›  Fixed possible server crash (std::terminate) when the server cannot send or write data in JSON or XML format with values of String data type (that require UTF-8 validation) or when compressing result data with Brotli algorithm or in some other rare cases. #8384 (alexey-milovidov)
    • ๐Ÿ›  Fixed dictionaries with source from a clickhouse VIEW, now reading such dictionaries doesn't cause the error There is no query. #8351 (Nikolai Kochetov)
    • ๐Ÿ›  Fixed checking if a client host is allowed by host_regexp specified in users.xml. #8241, #8342 (Vitaly Baranov)
    • ๐Ÿ›  RENAME TABLE for a distributed table now renames the folder containing inserted data before sending to shards. This fixes an issue with successive renames tableA->tableB, tableC->tableA. #8306 (tavplubix)
    • range_hashed external dictionaries created by DDL queries now allow ranges of arbitrary numeric types. #8275 (alesapin)
    • ๐Ÿ›  Fixed INSERT INTO table SELECT ... FROM mysql(...) table function. #8234 (tavplubix)
    • ๐Ÿ›  Fixed segfault in INSERT INTO TABLE FUNCTION file() while inserting into a file which doesn't exist. Now in this case file would be created and then insert would be processed. #8177 (Olga Khvostikova)
    • ๐Ÿ›  Fixed bitmapAnd error when intersecting an aggregated bitmap and a scalar bitmap. #8082 (Yue Huang)
    • ๐Ÿ›  Fixed segfault when EXISTS query was used without TABLE or DICTIONARY qualifier, just like EXISTS t. #8213 (alexey-milovidov)
    • ๐Ÿ›  Fixed return type for functions rand and randConstant in case of nullable argument. Now functions always return UInt32 and never Nullable(UInt32). #8204 (Nikolai Kochetov)
    • ๐Ÿ›  Fixed DROP DICTIONARY IF EXISTS db.dict, now it doesn't throw exception if db doesn't exist. #8185 (Vitaly Baranov)
    • โช If a table wasn't completely dropped because of server crash, the server will try to restore and load it #8176 (tavplubix)
    • ๐Ÿ›  Fixed a trivial count query for a distributed table if there are more than two shard local table. #8164 (ๅฐ่ทฏ)
    • ๐Ÿ›  Fixed bug that lead to a data race in DB::BlockStreamProfileInfo::calculateRowsBeforeLimit() #8143 (Alexander Kazakov)
    • ๐Ÿ›  Fixed ALTER table MOVE part executed immediately after merging the specified part, which could cause moving a part which the specified part merged into. Now it correctly moves the specified part. #8104 (Vladimir Chebotarev)
    • Expressions for dictionaries can be specified as strings now. This is useful for calculation of attributes while extracting data from non-ClickHouse sources because it allows to use non-ClickHouse syntax for those expressions. #8098 (alesapin)
    • ๐Ÿ›  Fixed a very rare race in clickhouse-copier because of an overflow in ZXid. #8088 (Ding Xiang Fei)
    • ๐Ÿ›  Fixed the bug when after the query failed (due to "Too many simultaneous queries" for example) it would not read external tables info, and the next request would interpret this info as the beginning of the next query causing an error like Unknown packet from client. #8084 (Azat Khuzhin)
    • Avoid null dereference after "Unknown packet X from server" #8071 (Azat Khuzhin)
    • โช Restore support of all ICU locales, add the ability to apply collations for constant expressions and add language name to system.collations table. #8051 (alesapin)
    • Number of streams for read from StorageFile and StorageHDFS is now limited, to avoid exceeding the memory limit. #7981 (alesapin)
    • ๐Ÿ›  Fixed CHECK TABLE query for *MergeTree tables without key. #7979 (alesapin)
    • โœ‚ Removed the mutation number from a part name in case there were no mutations. This removing improved the compatibility with older versions. #8250 (alesapin)
    • ๐Ÿ›  Fixed the bug that mutations are skipped for some attached parts due to their data_version are larger than the table mutation version. #7812 (Zhichang Yu)
    • ๐Ÿ‘ Allow starting the server with redundant copies of parts after moving them to another device. #7810 (Vladimir Chebotarev)
    • ๐Ÿ›  Fixed the error "Sizes of columns doesn't match" that might appear when using aggregate function columns. #7790 (Boris Granveaud)
    • ๐Ÿ‘ป Now an exception will be thrown in case of using WITH TIES alongside LIMIT BY. And now it's possible to use TOP with LIMIT BY. #7637 (Nikita Mikhaylov)
    • ๐Ÿ›  Fix dictionary reload if it has invalidate_query, which stopped updates and some exception on previous update tries. #8029 (alesapin)