All Versions
345
Latest Version
Avg Release Cycle
33 days
Latest Release
770 days ago

Changelog History
Page 20

  • v19.18.1.1752

    December 01, 2019
  • v19.18.1.1751

    November 30, 2019
  • v19.18.1.1750

    November 29, 2019
  • v19.18.1.1745

    November 29, 2019
  • v19.17.9.60

    February 10, 2020
  • v19.17.8.54

    January 31, 2020
  • v19.17.7.52

    January 22, 2020
  • v19.17.6.36 Changes

    December 27, 2019

    ๐Ÿ› 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)
  • v19.17.5.18

    December 06, 2019
  • v19.17.4.11 Changes

    November 22, 2019

    Backward Incompatible Change

    • Using column instead of AST to store scalar subquery results for better performance. Setting enable_scalar_subquery_optimization was added in 19.17 and it was enabled by default. It leads to errors like this during upgrade to 19.17.2 or 19.17.3 from previous versions. This setting was disabled by default in 19.17.4, to make possible upgrading from 19.16 and older versions without errors. #7392 (Amos Bird)

    ๐Ÿ†• New Feature

    • โž• Add the ability to create dictionaries with DDL queries. #7360 (alesapin)
    • ๐Ÿ‘ Authentication in S3 table function and storage. Now we have complete support for S3 import/export. #7623 (Vladimir Chebotarev)
    • ๐Ÿ‘‰ Make bloom_filter type of index supporting LowCardinality and Nullable #7363 #7561 (Nikolai Kochetov)
    • โž• Add function isValidJSON to check that passed string is a valid json. #5910 #7293 (Vdimir)
    • Implement arrayCompact function #7328 (Memo)
    • Created function hex for Decimal numbers. It works like hex(reinterpretAsString()), but doesn't delete last zero bytes. #7355 (Mikhail Korotov)
    • โž• Add arrayFill and arrayReverseFill functions, which replace elements by other elements in front/back of them in the array. #7380 (hcz)
    • Up precision of avg aggregate function result to max of Decimal type #7446 (Andrey Konyaev)
    • โž• Add CRC32IEEE()/CRC64() support #7480 (Azat Khuzhin)
    • Implement char function similar to one in mysql #7486 (sundyli)
    • โž• Add bitmapTransform function. It transforms an array of values in a bitmap to another array of values, the result is a new bitmap #7598 (Zhichang Yu)
    • Implemented javaHashUTF16LE() function #7651 (achimbab)
    • Add _shard_num virtual column for the Distributed engine #7624 (Azat Khuzhin)

    Experimental Feature

    ๐Ÿ› Bug Fix

    • ๐Ÿ›  Fix incorrect float parsing in Values #7817 #7870 (tavplubix)
    • ๐Ÿ›  Fix rare deadlock which can happen when trace_log is enabled. #7838 (filimonov)
    • Prevent message duplication when producing Kafka table has any MVs selecting from it #7265 (Ivan)
    • ๐Ÿ‘Œ Support for Array(LowCardinality(Nullable(String))) in IN. Resolves #7364 #7366 (achimbab)
    • Add handling of SQL_TINYINT and SQL_BIGINT, and fix handling of SQL_FLOAT data source types in ODBC Bridge. #7491 (Denis Glazachev)
    • ๐Ÿ›  Fix aggregation (avg and quantiles) over empty decimal columns #7431 (Andrey Konyaev)
    • ๐Ÿ›  Fix INSERT into Distributed with MATERIALIZED columns #7377 (Azat Khuzhin)
    • ๐Ÿšš Make MOVE PARTITION work if some parts of partition are already on destination disk or volume #7434 (Vladimir Chebotarev)
    • ๐Ÿ›  Fixed bug with hardlinks failing to be created during mutations in ReplicatedMergeTree in multi-disk configurations. #7558 (Vladimir Chebotarev)
    • ๐Ÿ›  Fixed a bug with a mutation on a MergeTree when whole part remains unchanged and best space is being found on another disk #7602 (Vladimir Chebotarev)
    • ๐Ÿ†“ Fixed bug with keep_free_space_ratio not being read from disks configuration #7645 (Vladimir Chebotarev)
    • ๐Ÿ›  Fix bug with table contains only Tuple columns or columns with complex paths. Fixes 7541. #7545 (alesapin)
    • Do not account memory for Buffer engine in max_memory_usage limit #7552 (Azat Khuzhin)
    • ๐Ÿ›  Fix final mark usage in MergeTree tables ordered by tuple(). In rare cases it could lead to Can't adjust last granule error while select. #7639 (Anton Popov)
    • ๐Ÿ›  Fix bug in mutations that have predicate with actions that require context (for example functions for json), which may lead to crashes or strange exceptions. #7664 (alesapin)
    • ๐Ÿ›  Fix mismatch of database and table names escaping in data/ and shadow/ directories #7575 (Alexander Burmak)
    • ๐Ÿ‘Œ Support duplicated keys in RIGHT|FULL JOINs, e.g. ON t.x = u.x AND t.x = u.y. Fix crash in this case. #7586 (Artem Zuikov)
    • ๐Ÿ›  Fix Not found column <expression> in block when joining on expression with RIGHT or FULL JOIN. #7641 (Artem Zuikov)
    • One more attempt to fix infinite loop in PrettySpace format #7591 (Olga Khvostikova)
    • ๐Ÿ›  Fix bug in concat function when all arguments were FixedString of the same size. #7635 (alesapin)
    • ๐Ÿ›  Fixed exception in case of using 1 argument while defining S3, URL and HDFS storages. #7618 (Vladimir Chebotarev)
    • ๐Ÿ›  Fix scope of the InterpreterSelectQuery for views with query #7601 (Azat Khuzhin)

    ๐Ÿ‘Œ Improvement

    • Nullable columns recognized and NULL-values handled correctly by ODBC-bridge #7402 (Vasily Nemkov)
    • Write current batch for distributed send atomically #7600 (Azat Khuzhin)
    • ๐Ÿ‘ป Throw an exception if we cannot detect table for column name in query. #7358 (Artem Zuikov)
    • Add merge_max_block_size setting to MergeTreeSettings #7412 (Artem Zuikov)
    • Queries with HAVING and without GROUP BY assume group by constant. So, SELECT 1 HAVING 1 now returns a result. #7496 (Amos Bird)
    • ๐Ÿ‘Œ Support parsing (X,) as tuple similar to python. #7501, #7562 (Amos Bird)
    • ๐Ÿ‘‰ Make range function behaviors almost like pythonic one. #7518 (sundyli)
    • โž• Add constraints columns to table system.settings #7553 (Vitaly Baranov)
    • ๐Ÿ‘ Better Null format for tcp handler, so that it's possible to use select ignore(<expression>) from table format Null for perf measure via clickhouse-client #7606 (Amos Bird)
    • ๐Ÿ“œ Queries like CREATE TABLE ... AS (SELECT (1, 2)) are parsed correctly #7542 (hcz)

    ๐ŸŽ Performance Improvement

    • ๐ŸŽ The performance of aggregation over short string keys is improved. #6243 (Alexander Kuzmenkov, Amos Bird)
    • โš™ Run another pass of syntax/expression analysis to get potential optimizations after constant predicates are folded. #7497 (Amos Bird)
    • ๐Ÿ‘‰ Use storage meta info to evaluate trivial SELECT count() FROM table; #7510 (Amos Bird, alexey-milovidov)
    • Vectorize processing arrayReduce similar to Aggregator addBatch. #7608 (Amos Bird)
    • ๐ŸŽ Minor improvements in performance of Kafka consumption #7475 (Ivan)

    ๐Ÿ— Build/Testing/Packaging Improvement

    • โž• Add support for cross-compiling to the CPU architecture AARCH64. Refactor packager script. #7370 #7539 (Ivan)
    • ๐Ÿง Unpack darwin-x86_64 and linux-aarch64 toolchains into mounted Docker volume when building packages #7534 (Ivan)
    • โšก๏ธ Update Docker Image for Binary Packager #7474 (Ivan)
    • ๐Ÿ›  Fixed compile errors on MacOS Catalina #7585 (Ernest Poletaev)
    • ๐Ÿ”จ Some refactoring in query analysis logic: split complex class into several simple ones. #7454 (Artem Zuikov)
    • ๐Ÿ›  Fix build without submodules #7295 (proller)
    • ๐Ÿ‘ Better add_globs in CMake files #7418 (Amos Bird)
    • โœ‚ Remove hardcoded paths in unwind target #7460 (Konstantin Podshumok)
    • ๐Ÿ‘ Allow to use mysql format without ssl #7524 (proller)

    Other