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

Backported in : Now it's allowed to execute `ALTER ... ON CLUSTER` queries regardless of the `<internal_replication>` setting in cluster config. (). Backported in : Add allownondeterministicoptimizeskipunused_shards (to allow non deterministic like rand() or dictGet() in sharding key). (). Backported in : Throw an error when a single parameter is passed to ReplicatedMergeTree instead of ignoring it. (). Backported in : Decrement the `ReadonlyReplica` metric when detaching read-only tables. This fixes . (). Backported in : Fixed bug with globs in S3 table function, region from URL was not applied to S3 client configuration. (). Backported in : Fix error `Cannot add simple transform to empty Pipe` which happened while reading from `Buffer` table which has different structure than destination table. It was possible if destination table returned empty result for query. Fixes . (). Backported in : Fixed too low default value of `maxreplicatedlogstokeep` setting, which might cause replicas to become lost too often. Improve lost replica recovery process by choosing the most up-to-date replica to clone. Also do not remove old parts from lost replica, detach them instead. (). Backported in : Fix error `Cannot find column` which may happen at insertion into `MATERIALIZED VIEW` in case if query for `MV` containes `ARRAY JOIN`. (). Backported in : Fix some cases of queries, in which only virtual columns are selected. Previously `Not found column _nothing in block` exception may be thrown. Fixes . (). Backported in : Fix exception `Block structure mismatch` in `SELECT ... ORDER BY DESC` queries which were executed after `ALTER MODIFY COLUMN` query. Fixes . (). Backported in : Now exception will be thrown when `ALTER MODIFY COLUMN ... DEFAULT ...` has incompatible default with column type. Fixes . (). Backported in : Fix possible deadlocks in RBAC. (). Backported in : Fix incorrect empty result for query from `Distributed` table if query has `WHERE`, `PREWHERE` and `GLOBAL IN`. Fixes .

Backported in : Fixed `DROP TABLE IF EXISTS` failure with `Table ... doesn't exist` error when table is concurrently renamed (for Atomic database engine). Fixed rare deadlock when concurrently executing some DDL queries with multiple tables (like `DROP DATABASE` and `RENAME TABLE`) Fixed `DROP/DETACH DATABASE` failure with `Table ... doesn't exist` when concurrently executing `DROP/DETACH TABLE`. (). Backported in : Fix a crash when database creation fails. (). Backported in : Fix ambiguity in parsing of settings profiles: `CREATE USER ... SETTINGS profile readonly` is now considered as using a profile named `readonly`, not a setting named `profile` with the readonly constraint. This fixes . (). Backported in : Fix rare segfaults when inserting into or selecting from MaterializedView and concurrently dropping target table (for Atomic database engine). (). Backported in : Prevent replica hang for 5-10 mins when replication error happens after a period of inactivity. (). Backported in : Allow to use direct layout for dictionaries with complex keys. (). Backported in : Fix collate name & charset name parser and support `length = 0` for string type. (). Backported in : Fix `ALTER MODIFY ... ORDER BY` query hang for `ReplicatedVersionedCollapsingMergeTree`. This fixes . (). Backported in : Fixes regression, e.g. indexOf( (). Backported in : Fix dictGet in sharding_key (and similar places, i.e. when the function context is stored permanently). (). Backported in : Fix the case when memory can be overallocated regardless to the limit. This closes . (). Backported in : Fix a possible memory leak during `GROUP BY` with string keys, caused by an error in `TwoLevelStringHashTable` implementation. (). Backported in : Fix async Distributed INSERT w/ preferlocalhostreplica=0 and internal_replication. (). Backported in : Fix group by with totals/rollup/cube modifers and min/max functions over group by keys. Fixes . (). Backported in : Fix double free in case of exception in function `dictGet`. It could have happened if dictionary was loaded with error. (). Unfold `{database}`, `{table}` and `{uuid}` macros in `ReplicatedMergeTree` arguments on table creation. ().