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

sidebar_position: 1 sidebar_label: 2022 - Backward Incompatible Change:. (). Add an ability to reset custom setting to default and remove it from table's metadata. This will allow to rollback the change without knowing the system/config's default. Closes . (). Add MaterializedPostgreSQL table engine and database engine. Database engine allows to replicate a whole database or any subset of database tables. (). Adding support for a part of SQLJSON standard. (). Collect common system metrics (in `system.asynchronousmetrics` and `system.asynchronousmetric_log`) about CPU usage, disk usage, memory usage, IO, network, files, load average, CPU frequencies, thermal sensors, EDAC counters, system uptime; also added metrics about the scheduling jitter and the time spent collecting the metrics. It works like `atop` in ClickHouse and allows to get monitoring data even if you have no additional tools installed. This closes . (). Add support `DISTINCT ON (columns)` expression, close . (). Support Map type in `mapAdd` and `mapSubtract` functions * Support (U)Int128, U(Int256) types in `mapAdd` and `mapSubtract` functions. (). Add bin/unbin functions support. (). Introduce `system.dataskippingindices` table containing information about existing data skipping indices. Closes . (). in addition to https://github.com/ClickHouse/ClickHouse/pull/12073 add the FIRST keyword to the ADD INDEX command to be able to add index in the beginning of the indices list. (). Render pipelines as graphs in Web UI if `EXPLAIN PIPELINE graph = 1` query is given. (). Add new functions `leftPad()`, `rightPad()`, `leftPadUTF8()`, `rightPadUTF8()`. (). Added option to compile aggregate functions if `compileaggregateexpressions` settings is on. (). `Database` argument for `StorageMerge` support regular expression. This closes #776. (). Allow extract non-string element as string using JSONExtract. This is for . (). Support for dynamic reloading of config to change number of threads in pool for background jobs execution (merges, mutations, fetches). (). Support TRUNCATE TABLE for StorageS3 and StorageHDFS. Closes . (). Make `NetworkReceiveElapsedMicroseconds` metric to correctly include the time spent waiting for data from the client to INSERT. This closes . (). Fix possible logical race condition between `ALTER TABLE ... DETACH` and background merges. (). Support materialized and aliased columns in joins, close . (). MaterializeMySQL now supports `ENUM` data type. (). Cancel already running merges in partition on `DROP PARTITION` and `TRUNCATE` for `ReplicatedMergeTree`. Resolves . (). Use `Map` data type for key-value dictionaries in system logs tables (`system.querylog`, `system.querythreadlog`, `system.processes`, `system.opentelemetryspan_log`). Virtual columns are created to support old queries. Closes . Authors @hexiaoting, @sundy-li. (). Fix inconsistent behaviour of GROUP BY constant on empty set. Closes . (). MySQL Engine now supports the exchange of column comments between MySQL and ClickHouse. (). Fix "No available columns" for Merge() storage. (). Allow to start clickhouse-client with unreadable working directory. (). Better handling of lost parts for ReplicatedMergeTree tables. Fixes rare inconsistencies in ReplicationQueue. Nothing should be visible to the user. Fixes . (). Fix an extremely rare bug which can lead to intersecting parts after `DROP PART` or background deletion of an empty part. (). Convert history file from readline format to replxx format.

Support LowCardinality, Decimal and UUID for JSON extract. Closes . (). Add support for queries with a column named `"null"` (it must be specified in backticks or double quotes) and ON CLUSTER. This closes . (). Correctly throw exception on attempt to parse invalid Date. This closes . (). Allow parameters for parametric aggregate functions to be arbitrary constant expressions (e.g. `1 + 2`), not just literals. This also allows to use query parameters (in parametrized queries like `{param:UInt8}`) for parameters of parametric aggregate functions. This closes . (). Allow `quantiles` functions to work with `aggregatefunctionsnullforempty`. This closes . (). Make `sudo service clickhouse-server start` to work on systems with `systemd` like Centos 8. This closes . This closes . (). Add support for unicode (e.g. Chinese, Cyrillic) components in `Nested` data types. This closes . (). Allow complex quoted identifiers of JOINed tables. This closes . (). Added setting `optimizemovetoprewhereiffinal`. If query has `FINAL`, the optimization `movetoprewhere` will be enabled only if both `optimizemovetoprewhere` and `optimizemovetoprewhereif_final` are enabled. Closes . (). More instrumentation for network interaction: add counters for recv/send bytes; add gauges for recvs/sends. Added missing documentation. This closes . (). Web UI: if value looks like an URL, automatically generate a link. (). Fix error with query `SET SQLSELECTLIMIT` in mysql protocol. Closes . (). Add support for argument of `UUID` type for `empty` and `notEmpty` functions. `UUID` is empty if it is all zeros (nil UUID). This closes . (). Add support for argument of AggregateFunction type for bin and hex functions. (). For dictionary with complex key if complex key contains only one attribute allow to not wrap key expression in tuple for functions `dictGet`, `dictHas`. (). `CAST` from `Date` to `DateTime` (or `DateTime64`) was not using the timezone of the `DateTime` type. It can also affect the comparison between `Date` and `DateTime`. Inference of the common type for `Date` and `DateTime` also was not using the corresponding timezone. It affected the results of function `if` and array construction. Closes . (). Fix assertion in PREWHERE with non-uint8 type, close . (). Fix `ALTER MODIFY COLUMN` of columns, which participates in TTL expressions. (). Fix slow dict join in some cases, close . (). Allow StorageMerge to access tables with aliases. Closes . (). Fix bug in `TTL` with `GROUP BY` expression which refuses to execute `TTL` after first execution in part. (). Fix rare bug with `DROP PART` query for `ReplicatedMergeTree` tables which can lead to error message `Unexpected merged part intersecting drop range`. (). Fix ARM exception handling with non default page size. Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . Fixes . (). Fix extremely long backoff for background tasks when the background pool is full. Fixes . (). Fixed `scram-sha-256` authentication for PostgreSQL engines. Closes . (). Fix crash on call dictGet() with bad arguments. (). Fix possible deadlock during query profiler stack unwinding. Fixes .

Fix formatting of type `Map` with integer keys to `JSON`. (). Fix wrong thread estimation for right subquery join in some cases. Close . (). Fix rare server crash because of `abort` in ZooKeeper client. Fixes . (). Fix throwing exception when iterate over non existing remote directory. (). Fix possible crash in `pointInPolygon` if the setting `validate_polygons` is turned off. (). Fix `joinGet` with LowCarinality columns, close . (). - Syntax update: changing 'is' to '==' when necessary. (). Add new tests for checking access rights for columns used in filters (WHERE / PREWHERE / row policy) of the `SELECT` statement after changes in https://github.com/ClickHouse/ClickHouse/pull/24405. (). Enabling all TestFlows modules and fixing some tests. (). Disabling TestFlows LDAP module due to test fails. (). Add `clickhouse-keeper-converter` tool which allows converting zookeeper logs and snapshots into `clickhouse-keeper` snapshot format. (). NO CL ENTRY: ' (). Fix hang and incorrect exit code returned from clickhouse-test (). Remove PrewhereDAGInfo. (). Fix 01641memorytrackinginsertoptimize (). Separate log files for separate runs in stress test (). Fix slow performance test (). DatabaseAtomic EXCHANGE DICTIONARIES fix test (). Try fix flacky rabbitmq test (). Add a test for (). Set follow-fork-mode child for gdb in stress/fasttest/fuzzer (). Ignore TOODEEPRECURSION server exception during fuzzing (). Add comments for VERSIONREVISION vs DBMSTCPPROTOCOLVERSION (). Fix flaky test and wrong message (). MaterializeMySQL: Improved column comments support (). Fix ANTRL mergeprewheretable test (). Remove dead code from VirtualColumnUtils.cpp (). Fix some typos in Storage classes (). Fix DateLUT on Darwin (). Better testversionupdateaftermutation (). Collect stderr.log and stdout.log in all integration tests by default. (). METR-41529 (). tests/integration: use iptables --wait (). Add a test for (). Fix odbc test (). ExpressionCache destruction fix (). Fix performance tests after converting ProfileEvents to Map type (). Correct messages in integration tests. (). Fix typo in the test 00900orcarrowparquetmaps (). Improve logging in integration tests. (). kerberized HDFS test fix if run in parallel (). fix special build on clang 11 (). Remove obsolete code from init script (). FunctionInitializeAggregation build fix (). Fix clang tidy build check (). Build subquery in replaceJoinedTable without parsing (). Remove experimental ANTLR parser (). Follow-up for (). Correct test (). Fix parallel execution of integration tests (). Compile aggregate functions perf tests fix (). Fix alter of settings in `MergeTree` tables (). Fix arcadia (). Remove old code (). FunctionsLogical const result for non const arguments fix (). FunctionSQLJSON ContextPtr build fix (). Replace print() with logging.debug() in integration tests. (). Try to fix some flaky tests (). Fix for ZK watch metric drift in rare conditions (). AsynchronousMetrics: Don't assume temperature is always positive (). Proper fix of serialization of type Map to JSON (). ClickHouse dictionary source secure setting added documentation (). Add changelog for 21.7 (). Fix 01791distINSERTblockstructure_mismatch flakiness (). Fix logical error with signed and unsigned offset in WindowFrame::checkValid (). Remove unused code (). Disabling annoying copier tests (). Make graph pipeline rendering compatible with Dagre.JS ().