Project: ClickHouse (App Definition and Development / Database)
File: v20.5.1.3833-prestable.md

Remove `experimentaluseprocessors` setting. It is enabled by default. (). The setting `inputformatwithnamesuse_header` is enabled by default. It will affect parsing of input formats `-WithNames` and `-WithNamesAndTypes`. (). Added a check for the case when user-level setting is specified in a wrong place. User-level settings should be specified in `users.xml` inside `<profile>` section for specific user profile (or in `<default>` for default settings). The server won't start with exception message in log. This fixes . If you want to skip the check, you can either move settings to the appropriate place or add `<skipcheckforincorrectsettings>1</skipcheckforincorrectsettings>` to config.xml. (). Return non-Nullable result from COUNT(DISTINCT), and `uniq` aggregate functions family. If all passed values are NULL, return zero instead. This improves SQL compatibility. (). Support Cassandra as external dictionary. (). `SimpleAggregateFunction` now also supports `sumMap`. (). Added OpenCl support and bitonic sort algorithm, which can be used for sorting integer types of data in single column. Needs to be build with flag `-DENABLEOPENCL=1`. For using bitonic sort algorithm instead of others you need to set `bitonicsort` for Setting's option `special_sort` and make sure that OpenCL is available. (). Implementation of PostgreSQL wire protocol. (). Selects with final are executed in parallel. Added setting `maxfinalthreads` to limit the number of threads used. (). Function that extracts from haystack all matching non-overlapping groups with regular expressions, and put those into `Array(Array(String))` column. (). Added ability to delete a subset of expired rows, which satisfies the condition in WHERE clause. Added ability to replace expired rows with aggregates of them specified in GROUP BY clause. (). (Only Linux) ClickHouse server now tries to fallback to ProcfsMetricsProvider when clickhouse binary is not attributed with CAPNETADMIN capability to collect per-query system metrics (for CPU and I/O). (). - Add Arrow IPC File format (Input and Output) - Fix incorrect work of resetParser() for Parquet Input Format - Add zero-copy optimization for ORC for RandomAccessFiles - Add missing halffloat type for input parquet and ORC formats ... (). Allowed to profile memory with finer granularity steps than 4 MiB. Added sampling memory profiler to capture random allocations/deallocations. (). Add new input format `JSONAsString` that accepts a sequence of JSON objects separated by newlines, spaces and/or commas. (). Added a new layout ```direct``` which loads all the data directly from the source for each query, without storing or caching data. (). Default user and database creation on docker image starting. (). Add data type Point (Tuple(Float64, Float64)) and Polygon (Array(Array(Tuple(Float64, Float64))). (). New function function toStartOfSecond(DateTime64) -> DateTime64 that nullifies sub-second part of DateTime64 value. (). Added a function `randomString` that generates binary string with random bytes (including zero bytes). (). Added `system.licenses` table. This table contains licenses of third-party libraries that are located in `contrib` directory. This closes . (). OFFSET keyword can now be used without an affiliated LIMIT clause. (). Added new complex key direct layout to dictionaries, that does not store anything locally during query execution. (). Added function `randomFixedString`. (). Support `ALTER RENAME COLUMN` for the distributed table engine. Continuation of . Fixes . (). Support writes in ODBC Table function (). (). Allow specifying `mongodb://` URI for MongoDB dictionaries. (). Added new functions to import/export DateTime64 as Int64 with various precision: `to-/fromUnixTimestamp64Milli/-Micro/-Nano`. (). Now support NULL and NOT NULL modifiers for data types in create query. (). Add ArrowStream input and output format.

Default S3 credentials and custom auth headers. (). Add query performance metrics based on Linux `perf_events`. . (). Use HTTP client for S3 based on Poco. (). Add function `fuzzBits` that randomly flips bits in a string with given probability. (). Add `timestampms` virtual column for Kafka engine (type is `Nullable(DateTime64(3))`). (). Add 2 more virtual columns for engine=Kafka to access message headers. (). Add `netloc` function for extracting network location, similar to `urlparse(url)`, `netloc` in python. (). Added syntax highligting to clickhouse-client using ReplXX. (). Add SHOW CLUSTER(S) queries. (). Add functions `extractAllGroupsHorizontal(haystack, re)` and `extractAllGroupsVertical(haystack, re)`. (). Add the `system.asynchronousmetriclog` table that logs historical metrics from `system.asynchronous_metrics`. (). `minMap` and `maxMap` functions were added. (). Added support for MySQL style global variables syntax (stub). This is needed for compatibility of MySQL protocol. (). Optimization of GROUP BY with respect to table sorting key. (). New optimization that takes arithmetic operations out of aggregate functions. (). This feature eliminates functions of other keys in GROUP BY section. (). Add runtime CPU detection to select and dispatch the best function implementation. Add support for codegeneration for multiple targets. This closes . (). Remove duplicate ORDER BY and DISTINCT from subqueries. (). Sort bigger parts of the left table in MergeJoin. Buffer left blocks in memory. Add `partialmergejoinlefttablebufferbytes` setting to manage the left blocks buffers sizes. (). Get dictionary and check access rights only once per each call of any function reading external dictionaries. (). Improving radix sort by removing some redundant data moves. (). Make queries with `sum` aggregate function and without GROUP BY keys to run multiple times faster. (). Enable mlock of clickhouse binary by default. It will prevent clickhouse executable from being paged out under high IO load. (). Improved performance for queries with `ORDER BY` and small `LIMIT` (less, then `maxblocksize`). (). Improve performance for INSERT queries via INSERT SELECT or INSERT with clickhouse-client when small blocks are generated (typical case with parallel parsing). This fixes . Fix the issue that CONSTRAINTs were not working for DEFAULT fields. This fixes . Fix the issue that CONSTRAINTS were ignored for TEMPORARY tables. This fixes . (). Improve performance of `clickhouse-client` in interactive mode when Pretty formats are used. In previous versions, significant amount of time can be spent calculating visible width of UTF-8 string. This closes . (). New optimization that takes all operations out of "any" function. (). Speed up merging in AggregatingMergeTree. This fixes performance regression that was introduced more than a year ago in (in version 19.3). (). Allow multiple replicas to assign merges, mutations, partition drop, move and replace concurrently. This closes . (). This optimization eliminates min/max/any aggregators of GROUP BY keys in SELECT section. (). Allow to pass quota_key in clickhouse-client. This closes . (). Added system tables for users, roles, grants, settings profiles, quotas, row policies; added commands SHOW USER, SHOW (). - Adding support for `INSERT INTO (). Possibility to work with S3 through proxies. (). Added `movettlinfo` to `system.parts` in order to provide introspection of move TTL functionality. (). Make pointInPolygon work with non-constant polygon. PointInPolygon now can take Array(Array(Tuple(..., ...))) as second argument, array of polygon and holes. (). Print a message if clickhouse-client is newer than clickhouse-server. (). Change HTTP response code in case of some parse errors to 400 Bad Request. This fix .

Added a check for meaningless codecs and a setting `allowsuspiciouscodecs` to control this check. This closes . (). Adding support for ALTER RENAME COLUMN query to Distributed table engine. (). Possibility to configure proxy-resolver for DiskS3. (). Better DNS exception message. This fixes . (). Ensure that `varSamp`, `varPop` cannot return negative results due to numerical errors and that `stddevSamp`, `stddevPop` cannot be calculated from negative variance. This fixes . (). Get rid of exception from replicated queue during server shutdown. Fixes . (). The `clickhouse-format` tool is now able to format multiple queries when the `-n` argument is used. (). Provide synonims for some data types. (). Introduce `mininsertblocksizerowsformaterializedviews ` , `mininsertblocksizebytesformaterializedviews` settings. This settings are similar to `mininsertblocksizerows` and `mininsertblocksizebytes`, but applied only for blocks inserted into `MATERIALIZED VIEW`. It helps to control blocks squashing while pushing to MVs and avoid excessive memory usage. (). Respect preferlocalhostreplica/load_balancing on INSERT into Distributed. (). Allow large UInt types as the index in function `tupleElement`. (). Support for unicode whitespaces in queries. This helps when queries are copy-pasted from Word or from web page. This fixes . (). Some additions and cleanup for . (). Set thread names for internal threads of rdkafka library. Make logs from rdkafka available in server logs. (). Remove data on explicit `DROP DATABASE` for `Memory` database engine. Fixes . (). Add `NCHAR` and `NVARCHAR` synonims for data types. (). Apply `TTL` for old data, after `ALTER MODIFY TTL` query. This behaviour is controlled by setting `materializettlafter_modify`, which is enabled by default. (). Now `dictGet` functions accept table names. (). Show authentication type in table system.users and while executing SHOW CREATE USER query. (). Enable percpu_arena:percpu for jemalloc (This will reduce memory fragmentation due to thread pool). (). Add port() function (to extract port from URL). (). Resolved : added `FailedQuery`, `FailedSelectQuery` and `FailedInsertQuery` metrics to `system.events` table. (). The query log is now enabled by default. (). When parsing C-style backslash escapes in string literals, VALUES and various text formats (this is an extension to SQL standard that is endemic for ClickHouse and MySQL), keep backslash if unknown escape sequence is found (e.g. `\%` or `\w`) that will make usage of `LIKE` and `match` regular expressions more convenient (it's enough to write `name LIKE 'used\cars'` instead of `name LIKE 'used\\cars'`) and more compatible at the same time. This fixes . (). Add support for multi-word data type names (such as `DOUBLE PRECISION` and `CHAR VARYING`) for better SQL compatibility. (). Keep the value of `DistributedFilesToInsert` metric on exceptions. In previous versions, the value was set when we are going to send some files, but it is zero, if there was an exception and some files are still pending. Now it corresponds to the number of pending files in filesystem. (). Support kafkaclientid parameter for Kafka tables. It also changes the default `client.id` used by ClickHouse when communicating with Kafka to be more verbose and usable. (). Update librdkafka to version . (). Support (U)Int8, (U)Int16, Date in ASOF JOIN. (). Better exception message in case when there is shortage of memory mappings. This closes . (). Add setting "outputformatprettymaxvalue_width". If value is longer, it will be cut to avoid output of too large values in terminal. This closes . (). Remove trailing whitespaces from formatted queries in `clickhouse-client` or `clickhouse-format` in some cases.

Better log messages in while reloading configuration. (). Suppress output of cancelled queries in clickhouse-client. In previous versions result may continue to print in terminal even after you press Ctrl+C to cancel query. This closes . (). OPTIMIZE FINAL will force merge even if concurrent merges are performed. This closes and closes . (). Support for all format settings in Kafka, expose some setting on table level, adjust the defaults for better performance. (). Add system.distribution_queue table. (). ON CLUSTER support for SYSTEM {FLUSH DISTRIBUTED,STOP/START DISTRIBUTED SEND}. (). Now history file is updated after each query and there is no race condition if multiple clients use one history file. This fixes . (). Automatically update DNS cache, which is used to check if user is allowed to connect from an address. (). Adding support for PREWHERE in live view tables. (). Improve `enableoptimizepredicate_expression=1` logic for VIEW. (). Better exception message when cannot parse columns declaration list. This closes . (). Optimize memory usage when reading a response from an S3 HTTP client. (). Improve `multiplejoinsrewriter_version=2` logic. Fix unknown columns error for lambda aliases. (). Make more input format work with Kafka engine. Fix the issue with premature flushes. Fix the performance issue when `kafkanumconsumers` is greater than number of partitions in topic. (). https://github.com/ClickHouse/ClickHouse/pull/7572#issuecomment-642815377 Support config default HTTPHandlers. (). Add roundrobin loadbalancing. (). Allow comparison of numbers with constant string in comparison operators, IN and VALUES sections. (). Allow comparison with constant strings by implicit conversions when analysing index conditions on other types. This may close . (). Allow using `groupArrayArray` and `groupUniqArrayArray` as `SimpleAggregateFunction`. (). Skip empty parameters in requested URL. They may appear when you write `http://localhost:8123/?&a=b` or `http://localhost:8123/?a=b&&c=d`. This closes . (). Allow to DROP replicated table if the metadata in ZooKeeper was already removed and does not exist (this is also the case when using TestKeeper for testing and the server was restarted). Allow to RENAME replicated table even if there is an error communicating with ZooKeeper. This fixes . (). Return NULL/zero when value is not parsed completely in parseDateTimeBestEffortOrNull/Zero functions. This fixes . (). Added column `position` to `system.columns` table and `columnposition` to `system.partscolumns` table. It contains ordinal position of a column in a table starting with 1. This closes . (). Don't use debug info from ELF file if it doesn't correspond to the running binary. It is needed to avoid printing wrong function names and source locations in stack traces. This fixes . (). Clear password from command line in `clickhouse-client` and `clickhouse-benchmark` if the user has specified it with explicit value. This prevents password exposure by `ps` and similar tools. (). Multiple names are now allowed in commands: CREATE USER, CREATE ROLE, ALTER USER, SHOW CREATE USER, SHOW GRANTS and so on. (). When multiline query is printed to server log, the lines are joined. Make it to work correct in case of multiline string literals, identifiers and single-line comments. This fixes . (). Emit warning instead of error in server log at startup if we cannot listen one of the listen addresses (e.g. IPv6 is unavailable inside Docker). Note that if server fails to listen all listed addresses, it will refuse to startup as before. This fixes . (). Added support for distributed `DDL` (update/delete/drop partition) on cross replication clusters. (). Add `castkeepnullable` setting. If set `CAST(something_nullable AS Type)` return `Nullable(Type)`.

Add more `jemalloc` statistics to `system.asynchronous_metrics`, and ensure that we see up-to-date values for them. (). Add ability to set `MATERIALIZED` default type for primary key columns and columns with secondary indices. (). Remove leader election, step 3: remove yielding of leadership; remove sending queries to leader. (). Added `hostname` as an alias to function `hostName`. This feature was suggested by Victor Tarnavskiy from Yandex.Metrica. (). Fix sleep invocation in signal handler. It was sleeping for less amount of time than expected. (). Slightly improve diagnostic of reading decimal from string. This closes . (). When reading Decimal value, cut extra digits after point. This behaviour is more compatible with MySQL and PostgreSQL. This fixes . (). Fixed error with "maxrowsto_sort" limit. (). Fixes: (after that PR dist send via INSERT had been postponing on each INSERT) Fixes: (that PR breaks distributed sends with all of the following conditions met (unlikely setup for now I guess): `internalreplication == false`, multiple local shards (activates the hardlinking code) and `distributedstorage_policy` (makes `link(2)` fails on `EXDEV`)). (). Disable GROUP BY shardingkey optimization by default (`optimizedistributedgroupbyshardingkey` had been introduced and turned of by default, due to trickery of sharding_key analyzing, simple example is `if` in sharding key) and fix it for WITH ROLLUP/CUBE/TOTALS. (). Fix index corruption, which may accur in some cases after merge compact parts into another compact part. (). Implemented comparison between DateTime64 and String values (just like for DateTime). (). Fix SELECT of column ALIAS which default expression type different from column type. (). Fix error `the BloomFilter false positive must be a double number between 0 and 1` . (). This PR fixes possible crash when `createDictionary()` is called before `loadStoredObject()` has finished. (). Fixed handling condition variable for synchronous mutations. In some cases signals to that condition variable could be lost. (). Fixed incorrect scalar results inside inner query of `MATERIALIZED VIEW` in case if this query contained dependent table. (). On `SYSTEM DROP DNS CACHE` query also drop caches, which are used to check if user is allowed to connect from some IP addresses. (). Fix segfault in StorageBuffer when exception on server startup. Fixes . (). Fix optimizeskipunused_shards with LowCardinality. (). Fix predicates optimization for distributed queries (`enableoptimizepredicate_expression=1`) for queries with `HAVING` section (i.e. when filtering on the server initiator is required), by preserving the order of expressions (and this is enough to fix), and also force aggregator use column names over indexes. Fixes: , . (). Fix nullptr dereference in StorageBuffer if server was shutdown before table startup. (). Fix bug which locks concurrent alters when table has a lot of parts. (). Fix possible incorrect number of rows for queries with `LIMIT`. Fixes , . (). Fix the lack of parallel execution of remote queries with `distributedaggregationmemory_efficient` enabled. Fixes . (). Fix order of parameters in AggregateTransform constructor. (). Fixed bug, which causes http requests stuck on client close when `readonly=2` and `cancelhttpreadonlyqueriesonclientclose=1`. Fixes , , , . (). Fix multiple usages of `IN` operator with the identical set in one query. (). Fix atomicity of HTTP insert. This fixes . (). Fix disappearing totals. Totals could have being filtered if query had had join or subquery with external where condition. Fixes . (). Fix possible buffer overflow in function `h3EdgeAngle`.

Fix usage of primary key wrapped into a function with 'FINAL' modifier and 'ORDER BY' optimization. (). Fix data corruption for `LowCardinality(FixedString)` key column in `SummingMergeTree` which could have happened after merge. Fixes . (). Fix crash in `generateRandom` with nested types. Fixes . (). Fix combinator -OrNull and -OrDefault when combined with -State. (). Fix `parallelviewprocessing` behavior. Now all insertions into `MATERIALIZED VIEW` without exception should be finished if exception happened. Fixes . (). Fix avgWeighted when using floating-point weight over multiple shards. (). Get rid of old libunwind patches. https://github.com/ClickHouse-Extras/libunwind/commit/500aa227911bd185a94bfc071d68f4d3b03cb3b1#r39048012 This allows to disable `-fno-omit-frame-pointer` in `clang` builds that improves performance at least by 1% in average. (). Make use of `src_type` for correct type conversion in key conditions. Fixes . (). Fix UBSan and MSan report in DateLUT. (). Fix the issue with ODBC bridge when no quoting of identifiers is requested. This fixes . (). Fix columns order after Block::sortColumns() (also add a test that shows that it affects some real use case - Buffer engine). (). Fix potential read of uninitialized memory in cache dictionary. (). Now constraints are updated if the column participating in `CONSTRAINT` expression was renamed. Fixes . (). Fixed bug in `ReplicatedMergeTree` which might cause some `ALTER` on `OPTIMIZE` query to hang waiting for some replica after it become inactive. (). Fixed `WATCH` hangs after `LiveView` table was dropped from database with `Atomic` engine. (). Fix SIGSEGV in StringHashTable (if such key does not exist). (). Fix backward compatibility with tuples in Distributed tables. (). Fix possible race which could happen when you get result from aggregate function state from multiple thread for the same column. The only way (which I found) it can happen is when you use `finalizeAggregation` function while reading from table with `Memory` engine which stores `AggregateFunction` state for `quanite` function. (). Now it's possible to execute multiple `ALTER RENAME` like `a TO b, c TO a`. (). Fix for the hang which was happening sometimes during DROP of table engine=Kafka (or during server restarts). (). Fix crash in `SELECT count(notNullIn(NULL, (). Avoid sending partially written files by the DistributedBlockOutputStream. (). Fix incompatibility of two-level aggregation between versions 20.1 and earlier. This incompatibility happens when different versions of ClickHouse are used on initiator node and remote nodes and the size of GROUP BY result is large and aggregation is performed by a single String field. It leads to several unmerged rows for a single key in result. (). Fix incorrect raw data size in method getRawData(). (). Fix server crash on concurrent `ALTER` and `DROP DATABASE` queries with `Atomic` database engine. (). Fix metadata (relative path for rename) and data (relative path for symlink) handling for Atomic database. (). Fix very rare potential use-after-free error in MergeTree if table was not created successfully. (). Fix memory tracking for two-level GROUP BY when not all rows read from Aggregator (TCP). (). Fixed parsing of S3 URLs. (). Now it's possible to `ADD/DROP` and `RENAME` the same one column in a single `ALTER` query. Exception message for simultaneous `MODIFY` and `RENAME` became more clear. Partially fixes . (). Fixed parseDateTime64BestEffort argument resolution bugs. . (). Fixes the potential missed data during termination of Kafka engine table. (). Fix error `No such name in Block::erase()` when JOIN appears with PREWHERE or `optimizemoveto_prewhere` makes PREWHERE from WHERE. (). Fixed memory leak in registerDiskS3.

Fixed deadlock during server startup after update with changes in structure of system log tables. (). Remove logging from mutation finalization task if nothing was finalized. (). Fix excessive reserving of threads for simple queries (optimization for reducing the number of threads, which was partly broken after changes in pipeline). (). Fix for the hang which was happening sometimes during DROP of table engine=Kafka (or during server restarts). (). Fix Kafka performance issue related to reschedules based on limits, which were always applied. (). If data skipping index is dependent on columns that are going to be modified during background merge (for SummingMergeTree, AggregatingMergeTree as well as for TTL GROUP BY), it was calculated incorrectly. This issue is fixed by moving index calculation after merge so the index is calculated on merged data. (). Fixed S3 globbing which could fail in case of more than 1000 keys and some backends. (). Fix possible error `Cannot capture column` for higher-order functions with `Array(Array(LowCardinality))` captured argument. (). Now `primary.idx` will be checked if it's defined in `CREATE` query. (). Fix possible exception `Invalid status for associated output`. (). Fix error `Block structure mismatch in QueryPipeline` while reading from `VIEW` with constants in inner query. Fixes . (). Fixed a bug when cache-dictionary could return default value instead of normal (when there are only expired keys). This affects only string fields. (). Fix crash while reading malformed data in Protobuf format. This fixes , fixes . (). Fix wrong markup in documentation. (). Fix crash when SET DEFAULT ROLE is called with wrong arguments. This fixes . (). Fix bug when query speed estimation can be incorrect and the limit of `minexecutionspeed` may not work or work incorrectly if the query is throttled by `maxnetworkbandwidth`, `maxexecutionspeed` or `priority` settings. Change the default value of `timeoutbeforecheckingexecutionspeed` to non-zero, because otherwise the settings `minexecutionspeed` and `maxexecutionspeed` have no effect. This fixes . This fixes . This fixes . Usability improvement: avoid concatenation of exception message with progress bar in `clickhouse-client`. (). Fix the issue when index analysis cannot work if a table has Array column in primary key and if a query is filtering by this column with `empty` or `notEmpty` functions. This fixes . (). Fix potential uninitialized memory in conversion. Example: `SELECT toIntervalSecond(now64())`. (). Fix insignificant data race in clickhouse-copier. Found by integration tests. (). Fix very rare race condition in ThreadPool. (). Fix visitParamExtractRaw when extracted JSON has strings with unbalanced { or (). Make writing to `MATERIALIZED VIEW` with setting `parallelviewprocessing = 1` parallel again. Fixes . (). Now merges stopped before change metadata in `ALTER` queries. (). Fix crash in `quantilesExactWeightedArray`. (). Fix crash in direct selects from StorageJoin (without JOIN) and wrong nullability. (). Fix potential segfault when using `Lazy` database. (). Fix support for `\G` (vertical output) in clickhouse-client in multiline mode. This closes . (). Remove redundant lock during parts send in ReplicatedMergeTree. (). Fix possible `Pipeline stuck` error for queries with external sort and limit. Fixes . (). Better errors for `joinGet()` functions. (). Fixed geohashesInBox with arguments outside of latitude/longitude range. (). Fix error code for wrong `USING` key. . (). Fix crash in JOIN over LowCarinality(T) and Nullable(T). . (). Fix potential uninitialized memory read in MergeTree shutdown if table was not created successfully. (). Fix pointInPolygon with nan as point. Fixes .

Fix server crash when a column has compression codec with non-literal arguments. Fixes . (). Fix return compressed size for codecs. (). Fix wrong result in queries like `select count() from t, u`. (). Fix `Pipeline stuck` exception for `INSERT SELECT FINAL` where `SELECT` (`maxthreads`>1) has multiple streams but `INSERT` has only one (`maxinsert_threads`==0). (). Fix memory leak when exception is thrown in the middle of aggregation with -State functions. This fixes . (). Fix race condition which may lead to an exception during table drop. It's a bit tricky and not dangerous at all. If you want an explanation, just notice me in telegram. (). Fix async INSERT into Distributed for preferlocalhostreplica=0 and w/o internal_replication. (). Fix shardnum/replicanum for `<node>` (breaks usecompactformatindistributedpartsnames). (). Fix the error `Data compressed with different methods` that can happen if `minbytestousedirect_io` is enabled and PREWHERE is active and using SAMPLE or high number of threads. This fixes . (). Now clickhouse-server docker container will prefer IPv6 checking server aliveness. (). All queries in HTTP session have had the same query_id. It is fixed. (). Fixed rare segfault in `SHOW CREATE TABLE` Fixes . (). Fix error `Size of offsets doesn't match size of column` for queries with `PREWHERE column in (subquery)` and `ARRAY JOIN`. (). Fix trivial error in log message about "Mark cache size was lowered" at server startup. This closes . (). Fix race conditions in CREATE/DROP of different replicas of ReplicatedMergeTree. Continue to work if the table was not removed completely from ZooKeeper or not created successfully. This fixes . (). Fix wrong exit code of the clickhouse-client, when exception.code() % 256 = 0. (). Fix error `Block structure mismatch` for queries with sampling reading from `Buffer` table. (). without -q option the database does not get created at startup. (). Fix rare crash caused by using `Nullable` column in prewhere condition. (Probably it is connected with somehow). (). Fix bloom filters for String (data skipping indices). (). Remove trivial count query optimization if row-level security is set. In previous versions the user get total count of records in a table instead filtered. This fixes . (). Add support for regular expressions with case-insensitive flags. This fixes and fixes . (). Fix syntax hilite in CREATE USER query. (). Fix error which leads to an incorrect state of `system.mutations`. It may show that whole mutation is already done but the server still has `MUTATE_PART` tasks in the replication queue and tries to execute them. This fixes . (). Fix possible `Pipeline stuck` for selects with parallel `FINAL`. Fixes . (). Fix `LIMIT n WITH TIES` usage together with `ORDER BY` statement, which contains aliases. (). Pass proper timeouts when communicating with XDBC bridge. Recently timeouts were not respected when checking bridge liveness and receiving meta info. (). Fix very rare race condition in SYSTEM SYNC REPLICA. If the replicated table is created and at the same time from the separate connection another client is issuing `SYSTEM SYNC REPLICA` command on that table (this is unlikely, because another client should be aware that the table is created), it's possible to get nullptr dereference. (). Fix `ORDER BY ... WITH FILL` over const columns. (). Fixed LOGICAL_ERROR caused by wrong type deduction of complex literals in Values input format. (). Parse metadata stored in zookeeper before checking for equality. (). Now replicated fetches will be cancelled during metadata alter.

Fixes crash in special generated queries when `optimizearithmeticoperationsinaggregate_functions = 1`. (). Fixed `Scalar doesn't exist` exception when using `WITH <scalar subquery> ...` in `SELECT ... FROM mergetreetable ...` . (). Fix using too many threads for queries. (). Preserve column alias with optimizeaggregatorsofgroupbykeys (`optimizeaggregatorsofgroupbykeys` has been introduced in ). (). Fix wrong result of comparison of FixedString with constant String. This fixes . This bug appeared in version 20.4. (). Don't allow arrayJoin inside higher order functions. It was leading to broken protocol synchronization. This closes . (). Add new build for query tests using pytest framework. (). Fix FreeBSD build. (). Fix UBSan report in Decimal parse. This fixes . (). Adding fuzzers and preparing for oss-fuzz integration. (). Enable ThinLTO for clang builds, continuation of https://github.com/ClickHouse/ClickHouse/pull/10435. (). Increasing timeout when opening a client in tests/queries/0_stateless/helpers/client.py. (). Fixing hard coded timeouts in new live view tests. (). Lower memory usage in tests. It may fix the issue that "address sanitizer is out of memory" in stress test. (). Fix `capnproto` version check for `capnp::UnalignedFlatArrayMessageReader`. (). Added auto-generated machine-readable file with list of stable versions. (). Update LZ4 to the latest dev branch. It may fix the error under UBSan. (). Fix UBSan report in LZ4 library. (). Allow to use lld to link blobs (resources). (). Remove external call to `ld` (bfd) linker during tzdata processing in compile time. (). Fix UBSan report (adding zero to nullptr) in HashTable that appeared after migration to clang-10. (). Fix OOM in ASan stress test. (). Fixing and re-enabling 00979liveviewwatchcontinuous_aggregates.py test. (). Update zstd to 1.4.4. It has some minor improvements in performance and compression ratio. If you run replicas with different versions of ClickHouse you may see reasonable error messages `Data after merge is not byte-identical to data on another replicas.` with explanation. These messages are Ok and you should not worry. (). Volumes and storages refactoring. (). Trying to fix tests/queries/0stateless/01246insertintowatchliveview.py test. (). Update instruction to install RPM packages. This was suggested by Denis (TG login @ldviolet) and implemented by Arkady Shejn. (). Update cross-builds to use clang-10 compiler. (). Fix performance test errors. (). Fix performance tests errors, part 2. (). Restore a patch that was accidentially deleted in . (). Suppressions of warnings from libraries was mistakenly declared as public in . (). Enable extra warnings for base, utils, programs. (). GRPC make couldn't find protobuf files, changed make file by adding the right link. (). Add MSan suppression for MariaDB Client library. (). Fix (false) MSan report in MergeTreeIndexFullText. The issue first appeared in . (). Fix obvious race condition in "Split build smoke test" check. (). Better cooperation with sanitizers. Print information about query_id in the message of sanitizer failure. (). Added more asserts in columns code. (). Prepare to add MSan and UBSan stress tests. (). Database is recreated for every test. This improves separation of tests. (). Added a test for empty external data. (). Return tzdata to build images and as dependency to .deb package. (). Fix non-deterministic test. (). Wait for odbc-bridge with exponential backoff. Previous wait time of 200 ms was not enough in our CI environment. (). Enable clang-tidy for programs and utils. (). Add ability to run zookeeper in integration tests over tmpfs. (). Fixing 00979liveviewwatchcontinuous_aggregates test. (). Make `systemtableslazy_load` false by default. (). Add performance test for non-constant polygons.

Create root S3 bucket for tests before any CH instance is started. (). Enable performance test that was not working. (). Improve build scripts for protobuf & gRPC. (). Split /programs/server into actual program and library. (). Now parts of linker command for `cctz` library will not be shuffled with other libraries. (). Fix several non significant errors in unit tests. (). Add a test for Join table engine from @donmikel. This closes . (). Repeat test in CI if `curl` invocation was timed out. It is possible due to system hangups for 10+ seconds that are typical in our CI infrastructure. This fixes . (). Fix potentially flacky test `00731longmergetreeselectopenedfiles.sh`. It does not fail frequently but we have discovered potential race condition in this test while experimenting with ThreadFuzzer: See .html#fail1) for the example. (). Now clickhouse-test check the server aliveness before tests run. (). Emit a warning if server was build in debug or with sanitizers. (). Better check for hung queries in clickhouse-test. (). Remove redundant timeout from integration test `testinsertionsyncfailswith_timeout`. (). Add support for unit tests run with UBSan. (). Fix several flaky integration tests. (). Refactor CMake build files. (). Leave only unittestsdbms in deb build. (). Increase ccache size for builds in CI. (). Speed up build by removing old example programs. Also found some orphan functional test. (). Fix missed include for `std::move` used at line 17. (). Added a random sampling of instances where copier is executed. It is needed to avoid `Too many simultaneous queries` error. Also increased timeout and decreased fault probability. (). Removes unused imports from HTTPHandlerFactory. (). Don't allow tests with "fail" substring in their names because it makes looking at the tests results in browser less convenient when you type Ctrl+F and search for "fail". (). Added a test to ensure that mutations continue to work after FREEZE query. (). Print compiler build id in crash messages. It will make us slightly more certain about what binary has crashed. Added new function `buildId`. (). Remove dependency on `tzdata`: do not fail if `/usr/share/zoneinfo` directory does not exist. Note that all timezones work in ClickHouse even without tzdata installed in system. (). Not for changelog. (). NO CL ENTRY: 'Bump numpy from 1.18.3 to 1.18.4 in /docs/tools'. (). NO CL ENTRY: ' (). NO CL ENTRY: 'Bump mkdocs from 1.1 to 1.1.1 in /docs/tools'. (). NO CL ENTRY: 'Bump mkdocs-macros-plugin from 0.4.6 to 0.4.7 in /docs/tools'. (). NO CL ENTRY: 'Bump mkdocs from 1.1.1 to 1.1.2 in /docs/tools'. (). NO CL ENTRY: 'Bump protobuf from 3.11.3 to 3.12.0 in /docs/tools'. (). NO CL ENTRY: 'Bump beautifulsoup4 from 4.9.0 to 4.9.1 in /docs/tools'. (). NO CL ENTRY: 'Bump soupsieve from 2.0 to 2.0.1 in /docs/tools'. (). NO CL ENTRY: 'Bump mkdocs-macros-plugin from 0.4.7 to 0.4.9 in /docs/tools'. (). NO CL ENTRY: 'Bump protobuf from 3.12.0 to 3.12.1 in /docs/tools'. (). NO CL ENTRY: 'Bump six from 1.14.0 to 1.15.0 in /docs/tools'. (). NO CL ENTRY: 'Bump protobuf from 3.12.1 to 3.12.2 in /docs/tools'. (). NO CL ENTRY: 'Bump numpy from 1.18.4 to 1.18.5 in /docs/tools'. (). NO CL ENTRY: 'Bump livereload from 2.6.1 to 2.6.2 in /docs/tools'. (). NO CL ENTRY: 'Bump certifi from 2020.4.5.1 to 2020.4.5.2 in /docs/tools'. (). NO CL ENTRY: 'Bump googletrans from 2.4.0 to 3.0.0 in /docs/tools'. (). NO CL ENTRY: 'Bump requests from 2.23.0 to 2.24.0 in /docs/tools'. (). Added function randomStringUTF8. ().