Changelog 2026

- Fixes how an Alias table target is saved as a DDL dependency when not fully qualified: it's now saved with the Alias table database instead of the session database. [#95175](https://github.com/ClickHouse/ClickHouse/pull/95175) ([Enric Calabuig](https://github.com/eclbg)).
- Fix wrong result or exception during reading subcolumns of ALIAS columns. [#95408](https://github.com/ClickHouse/ClickHouse/pull/95408) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix missing column when non-standard identifier alias in JOIN with old analyzer. Fixes [#25594](https://github.com/ClickHouse/ClickHouse/issues/25594), [#47288](https://github.com/ClickHouse/ClickHouse/issues/47288) and [#53263](https://github.com/ClickHouse/ClickHouse/issues/53263). [#95679](https://github.com/ClickHouse/ClickHouse/pull/95679) ([Zhigao Hong](https://github.com/zghong)).
- Fixes a crash in Kusto dialect functions `bin()`, `bin_at()`, `extract()`, and `indexof()` when empty arguments are provided. [#95736](https://github.com/ClickHouse/ClickHouse/pull/95736) ([NeedmeFordev](https://github.com/spider-yamet)).
- Forbids mounting local\_object\_storage (which is used by datalakes above local filesystem and maybe by LocalDisk) anywhere apart from user\_files\_path in clickhouse-client. [#96201](https://github.com/ClickHouse/ClickHouse/pull/96201) ([Daniil Ivanik](https://github.com/divanik)).
- In `DeltaLake` table engine fix logical race on snapshot version change, remove redundant heavy snapshot reloads. [#96226](https://github.com/ClickHouse/ClickHouse/pull/96226) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Fix logical error on attaching a part in MergeTree if there were several chained renames between detaching and attaching. [#96351](https://github.com/ClickHouse/ClickHouse/pull/96351) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix a bug where explicit settings sent alongside `compatibility` in the same request could be silently ignored when their value matched the server default. [#97078](https://github.com/ClickHouse/ClickHouse/pull/97078) ([Raufs Dunamalijevs](https://github.com/rienath)).
- Fix the client reporting `NETWORK_ERROR` instead of the actual parsing error (with the correct row number) when an INSERT with parallel parsing encounters invalid data. [#97339](https://github.com/ClickHouse/ClickHouse/pull/97339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix `sumCount` aggregate function not being able to read older serialized states after introduction of `Nullable(Tuple)`. Closes [#97370](https://github.com/ClickHouse/ClickHouse/issues/97370). [#97502](https://github.com/ClickHouse/ClickHouse/pull/97502) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Fix exception in tuple comparison involving `Nothing` type elements (e.g., comparing with `NULL` tuple elements) when used with `GROUPING SETS` and `ORDER BY`. [#97509](https://github.com/ClickHouse/ClickHouse/pull/97509) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix non-deterministic `uncompressed_hash` computation for Compact MergeTree parts when multiple compression codecs are used, which could cause incorrect deduplication behavior. [#97522](https://github.com/ClickHouse/ClickHouse/pull/97522) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix logical error about missing stream during INSERT SELECT with JSON and buckets in shared data. Closes [#97331](https://github.com/ClickHouse/ClickHouse/issues/97331). [#97523](https://github.com/ClickHouse/ClickHouse/pull/97523) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix `MEMORY_LIMIT_EXCEEDED` exceptions being incorrectly reported as `CORRUPTED_DATA` during SummingMergeTree and CoalescingMergeTree merges. [#97537](https://github.com/ClickHouse/ClickHouse/pull/97537) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
- Fix "Context has expired" exception for correlated subqueries containing table functions like `url()`. [#97544](https://github.com/ClickHouse/ClickHouse/pull/97544) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix exceptions and incorrect behavior in `optimize_syntax_fuse_functions` with aggregate projections, Date types, and column name preservation. [#97545](https://github.com/ClickHouse/ClickHouse/pull/97545) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Remove incorrect `replaceRegexpOne` to `extract` query rewrite that produced wrong results when the regexp didn't match; also fix exception when `replaceRegexpOne` is used with `GROUP BY ... WITH CUBE` and `group_by_use_nulls=1`. [#97546](https://github.com/ClickHouse/ClickHouse/pull/97546) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix `DROP DATABASE` with `database_atomic_wait_for_drop_and_detach_synchronously` hanging indefinitely when the query is killed. [#97586](https://github.com/ClickHouse/ClickHouse/pull/97586) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix `KILL QUERY` not being able to terminate queries stuck in `WITH FILL` generation, dictionary loading via `dictGet`, or `ALTER DELETE` with `mutations_sync=1` on `ReplicatedMergeTree`. [#97589](https://github.com/ClickHouse/ClickHouse/pull/97589) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- The `loop` table function was calling `inner_storage->read()` directly, bypassing the interpreter layer where row policies, column-level grants, and other security checks are applied. This allowed a user restricted by row policies to read all rows via `loop(table)` even when a direct SELECT returned zero rows. [#97682](https://github.com/ClickHouse/ClickHouse/pull/97682) ([pufit](https://github.com/pufit)).
- Fixes incorrect partition pruning in cases of using pre-epoch DateTime64 with `toDate()` function. [#97746](https://github.com/ClickHouse/ClickHouse/pull/97746) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
- After this patch, `hasPartitionId` will return false if another partition with a higher partition ID exists in the data part set. [#97748](https://github.com/ClickHouse/ClickHouse/pull/97748) ([Mikhail Artemenko](https://github.com/Michicosun)).
- Fix possible crashes during reading of empty granules in advanced shared data in JSON. Closes [#97563](https://github.com/ClickHouse/ClickHouse/issues/97563). [#97778](https://github.com/ClickHouse/ClickHouse/pull/97778) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix `Cannot schedule a file` `LOGICAL_ERROR` on `INSERT` into `Distributed` due to race between `DROP` and `INSERT`. [#97822](https://github.com/ClickHouse/ClickHouse/pull/97822) ([Azat Khuzhin](https://github.com/azat)).
- Fixed ClickHouse server crash/assert in call to `mapContainsKey/mapContainsKeyLike` with `tokenbf_v1` skip index. [#97826](https://github.com/ClickHouse/ClickHouse/pull/97826) ([Shankar Iyer](https://github.com/shankar-iyer)).
- Fix LOGICAL\_ERROR exceptions caused by `LowCardinality` inside compound types (`Variant`, `Dynamic`, `Tuple`) in `concatWithSeparator`, `format`, `IN` subqueries, `GLOBAL IN`, and joins with runtime filters. [#97831](https://github.com/ClickHouse/ClickHouse/pull/97831) ([Raúl Marín](https://github.com/Algunenano)).
- Fix `LOGICAL_ERROR` exception `Chunk info was not set for chunk in MergingAggregatedTransform` when using `ARRAY JOIN` with `merge()` table function over multiple Distributed tables combined with `GROUP BY`. [#97838](https://github.com/ClickHouse/ClickHouse/pull/97838) ([Raúl Marín](https://github.com/Algunenano)).
- Fix server crash (`std::terminate`) caused by an uncaught exception in the HTTP connection pool destructor when the connection group hard limit is reached under high concurrency. The exception `HTTP_CONNECTION_LIMIT_REACHED` could escape `~PooledConnection` when recycling a connection back to the pool, leading to `SIGABRT`. [#97850](https://github.com/ClickHouse/ClickHouse/pull/97850) ([Antonio Andelic](https://github.com/antonio2368)).