contribution/compass
ClickHouse/ClickHouse

ClickHouse

646 signals · 904 observation events

Open repository ↗

ClickHouse® is a real-time analytics database management system

49.2K stars8.8K forksC++Apache-2.0aianalyticsbig-dataclickhousecloud-nativecppdatabasedbmskeyword: ClickHouse
PROJECT NEWS

Release, roadmap, and discussion

All news →
ClickHouse/ClickHouse

ClickHouse

Data / Messaging / Storage Infrastructure
Latest stable

Release v26.7.3.19-stable

v26.7.3.19-stable

Open the original release notes for details.

Original release notes ↗

Publicly indicated next

  • No public prerelease or open milestone found.

Prereleases and milestones indicate public plans; they are not delivery commitments.

Observation trail

  1. changedtext, updatedAt
  2. changedtext, updatedAt
  3. changedmetrics
  4. changedupdatedAt
  5. changedtext, updatedAt, state
  6. changedupdatedAt, state
  7. changedupdatedAt
  8. changedupdatedAt
  9. changedupdatedAt
  10. changedupdatedAt
  11. changedupdatedAt
  12. changedupdatedAt
  13. discoveredinitial snapshot
  14. changedupdatedAt
  15. changedupdatedAt
  16. changedupdatedAt
  17. discoveredinitial snapshot
  18. changedupdatedAt, metrics
  19. changedupdatedAt
  20. discoveredinitial snapshot
  21. changedupdatedAt
  22. changedupdatedAt, metrics
  23. changedupdatedAt
  24. discoveredinitial snapshot
  25. changedupdatedAt, labels
  26. changedupdatedAt, labels
  27. changedupdatedAt
  28. changedupdatedAt
  29. changedupdatedAt
  30. changedupdatedAt
50 shown
pull request

Add test: A `\N` CSV field belonging to a nested `Tuple` / `Nullable(Tuple)` element of a separate-columns `Tuple` is untested

_Found via ClickGap automated review. Please close or comment if this is incorrect or needs adjustment._ _This is a test-only PR — no source code changes. Please review: test quality, whether the claimed coverage gaps are real, and whether test output makes sense._ Adds test coverage for 1 untested code path, found during automated review of [PR #109744](htt

importance 5@clickgapaiopenpr-not-for-changelogcan be testedOriginal evidence ↗
pull request

Add pre-hook to insert CI links into PR body

### Changelog category (leave one): - CI Fix or improvement (changelog entry is not required) -- Adds a `ci_links.py` pre-hook to the `PR` workflow that, on upstream `ClickHouse/ClickHouse` pull request runs, appends a `:ci_links:` block to the PR description with: - a link to the workflow report, and - a link to a GitHub search for the corresponding sync PR

importance 5@maxknvopenpr-ciOriginal evidence ↗
pull request

Preserve the RabbitMQ broker log in integration tests

Related: https://github.com/ClickHouse/ClickHouse/pull/114415 Related: https://github.com/ClickHouse/ClickHouse/pull/113610 ### Changelog category (leave one): - CI Fix or Improvement (changelog entry is not required) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.

importance 5@groeneaiclosedcan be testedpr-synced-to-cloudpr-ciOriginal evidence ↗
pull request

Require full field consumption on every Regexp escaping rule

Related: https://github.com/ClickHouse/ClickHouse/pull/108091 ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixe

importance 5@groeneaiopenpr-bugfixcan be testedOriginal evidence ↗
pull request

Fix Iceberg query failure after MODIFY COLUMN to Nullable

Closes: https://github.com/ClickHouse/ClickHouse/issues/85029 ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix

importance 5@groeneaiopenpr-bugfixcan be testedOriginal evidence ↗
pull request

Reject a lossy codec on columns backing keys and indexes

Closes: https://github.com/ClickHouse/ClickHouse/issues/114406 ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): A l

importance 5@groeneaiopenpr-bugfixcan be testedOriginal evidence ↗
pull request

Add ProfileEvents and CurrentMetrics for fiber stacks

Related: https://github.com/ClickHouse/ClickHouse/pull/73510 Related: https://github.com/ClickHouse/ClickHouse/issues/72968 Fibers are used for asynchronous communication with remote replicas, and a stack is the only thing a fiber consists of, so allocating the stack is the whole cost of creating a fiber. Nothing observed it: neither the number of allocation

importance 5@alexey-milovidovopenpr-improvementOriginal evidence ↗
pull request

Re-land aggregate function `gini` in the `sum` family

<!-- Linked issues and pull requests. Use full GitHub URLs, one relationship per line; delete the lines you don't need. Related: https://github.com/ClickHouse/ClickHouse/issues/113763 Related: https://github.com/ClickHouse/ClickHouse/pull/113868 Related: https://github.com/ClickHouse/ClickHouse/pull/112280 --> ### Changelog category (leave one): - New Featur

importance 5@groeneaiopenpr-featurecan be testedOriginal evidence ↗
issue

Logical error: Shard number is greater than shard count: shard_num=A shard_count=B cluster=C (STID: 5066-564d)

_Important: This issue was automatically generated and is used by CI for matching failures. DO NOT modify the body content. DO NOT remove labels._ Test name: Logical error: Shard number is greater than shard count: shard_num=A shard_count=B cluster=C (STID: 5066-564d) CI report: [Stress test (arm_tsan)](https://s3.amazonaws.com/clickhouse-test-reports/json.h

importance 4@SmitaRKulkarnitestingfuzzOriginal evidence ↗
issue

Vector similarity: support TurboQuant quantization

### Company or project name _No response_ ### Use case [TurboQuant, a quantization method](https://research.google/blog/turboquant-redefining-ai-efficiency-with-extreme-compression/) that perhaps could be applied to ClickHouse to improve Approximate Nearest Neighbor (ANN) searches. technical details are somewhat beyond my expertise ### Describe the solution

importance 4@WachynakyopenfeatureOriginal evidence ↗
issue

Documentation examples for `h3GetDestinationIndexFromUnidirectionalEdge` and `h3GetOriginIndexFromUnidirectionalEdge` use invalid edge index that throws `INCORRECT_DATA`

_Found via ClickGap automated review. Please close or comment if this is incorrect or needs adjustment._ _Retrospective finding from a historical scan of [PR #82286](https://github.com/ClickHouse/ClickHouse/pull/82286) (merged 2025-10-17). Confirmed on current codebase — close with a note if already fixed._ ### Describe what's wrong Both `h3GetDestinationInd

importance 4@clickgapaiclosedcomp-documentationcomp-geoOriginal evidence ↗
issue

Add aiFilter AI function (boolean predicate for WHERE / PREWHERE / JOIN)

### Company or project name _No response_ ### Use case The current AI functions are all value-producing and row-wise. There is no way to express an LLM decision as a native SQL predicate. Users who want to filter rows by a natural-language condition must wrap `aiClassify` in a comparison, which is awkward and does not compose in joins. ### Describe the solut

importance 4@ayakovlev-clickhousefeatureOriginal evidence ↗
issue

`fsync_part_directory = 1` on an `encrypted` disk fails every `INSERT` with `FILE_DOESNT_EXIST`: the INSERT-path directory sync guard double-wraps the absolute part path

### Describe what's wrong Enabling `fsync_part_directory = 1` on a `MergeTree` table stored on an `encrypted` disk (with a non-empty `path`, as in the documented configuration) makes **every `INSERT` fail** with `FILE_DOESNT_EXIST` (Code 107). The durability hardening setting is therefore unusable on encrypted disks — users who want crash-safe part commits o

importance 4@zlareb1openbugcomp-mergetreecomp-disk-abstractionsOriginal evidence ↗
issue

serialize_query_plan = 1: WITH ROLLUP / WITH CUBE / Join-engine lookup join in a distributed subquery fails with NOT_IMPLEMENTED "Method serialize is not implemented" — no fallback

`serialize_query_plan = 1` sends the shard-side fragment as a serialized query plan. Three query-plan steps have no `serialize` implementation, and there is no fallback to the text path — any query whose shipped fragment contains one of them fails with `NOT_IMPLEMENTED` at execution time, while the same query succeeds with `serialize_query_plan = 0`: - `Roll

importance 4@zlareb1openbugcomp-query-optimizercomp-distributedclickgap-analyzedculprit-pr-not-foundOriginal evidence ↗
issue

FULL JOIN USING over a Distributed left table: qualified column t1.a returns the coalesced USING value for right-only rows (or exception 8 at pure defaults)

`FULL JOIN ... USING` where the **left** table is read through `Distributed`: selecting the qualified join column `t1.a` is wrong for right-only rows — and at pure defaults the same query throws an exception. **How to reproduce** (26.8.1.561, any single-shard cluster whose replica is the server itself, e.g. `test_shard_localhost` from the standard test confi

importance 4@zlareb1openbugcomp-joinscomp-distributedclickgap-analyzedculprit-pr-not-foundOriginal evidence ↗
issue

`optimize_inverse_dictionary_lookup` rewrite inside a correlated EXISTS makes decorrelation fail: 48 "Cannot decorrelate query, because 'DelayedCreatingSets' step is not supported"

## Describe the problem A valid query with a correlated `EXISTS` subquery fails with exception 48 (`NOT_IMPLEMENTED`) at pure default settings when the subquery's `WHERE` contains a `dictGet(...) >= <const>` comparison. `optimize_inverse_dictionary_lookup` (default `1`) rewrites the `dictGet('d', 'attr', key) >= c` predicate into `key IN __set_...`. When the

importance 4@zlareb1openbugcomp-query-optimizercomp-query-analyzerclickgap-analyzedculprit-pr-not-foundOriginal evidence ↗
issue

Materialized CTE over Distributed: 49 LOGICAL_ERROR "Reading from materialized CTE before its materialization completed - DelayedPortsProcessor gate is missing" survives the #108924 fix

## Describe the problem With `enable_materialized_cte = 1`, a twice-referenced materialized CTE reading a `Distributed` table, filtered by `IN (SELECT ... FROM <another materialized CTE>)`, fails with exception 49 (`LOGICAL_ERROR`): ``` Code: 49. DB::Exception: Reading from materialized CTE 'ct' before its materialization completed - DelayedPortsProcessor ga

importance 4@zlareb1openbugcomp-query-optimizercomp-distributedcomp-query-executioncommon table expressionsOriginal evidence ↗
issue

Text index direct read drops the source column another PREWHERE step needs: NOT_FOUND_COLUMN_IN_BLOCK on a valid query

**Describe what's wrong** With a `text` index on column `c`, a query that filters on `c` in both `PREWHERE` and `WHERE` fails with `Code: 10. NOT_FOUND_COLUMN_IN_BLOCK` on a perfectly valid query, when `c` itself is not in the SELECT list. The direct-read optimization (`query_plan_direct_read_from_text_index`, default `1`) rewrites one of the two text-search

importance 4@zlareb1bugcomp-query-optimizercomp-text-indexOriginal evidence ↗
issue

Custom-key parallel replicas over a Merge table with a Distributed child: children are offloaded to a finalized stage (CANNOT_CONVERT_TYPE, logical error in GroupingAggregatedTransform)

🕵 Reading a `Merge` table (or the `merge` table function) with custom-key parallel replicas (`parallel_replicas_mode = 'custom_key_sampling'` or `'custom_key_range'`) fails with an exception when the common processing stage of the children is `WithMergeableState` — for example, when one of the underlying tables is a `Distributed` table. ```sql CREATE TABLE t

importance 4@alexey-milovidovclosedcomp-distributedpotential bugcomp-parallel-replicasOriginal evidence ↗
issue

`rewrite_in_to_join`: `PREWHERE x IN (subquery)` throws `Unknown function exists` while the `WHERE` spelling works (also hit via `make_distributed_plan`)

**Describe what's wrong** With `rewrite_in_to_join = 1`, any non-constant `IN (subquery)` predicate placed in `PREWHERE` makes the query fail with `Code: 46. DB::Exception: Unknown function exists. (UNKNOWN_FUNCTION)`. The same predicate in `WHERE` works and returns the correct result. `NOT IN`, tuple `IN`, and the same query with an explicit `JOIN` fail the

importance 4@zlareb1closedbugcomp-joinscomp-query-optimizercomp-query-analyzerOriginal evidence ↗
issue

Unconditional `std::adjacent_find` offsets scan in the `ColumnArray` constructor costs 15-31% on array-heavy queries in release builds

_Found via ClickGap automated review. Please close or comment if this is incorrect or needs adjustment._ ### Describe what's wrong Every query that builds arrays row-by-row gets measurably slower. ClickHouse's own Performance Comparison job reports `tests/performance/array_join.xml` queries #0-#5 as `slower` on all three of this PR's benchmarked commits, by

importance 4@clickgapaicomp-regular-functioncomp-data-typesOriginal evidence ↗
issue

Function `resetSerialID` to reset/remove a `generateSerialID` series

### Company or project name _No response_ ### Use case `generateSerialID(series_identifier)` (introduced in 25.x) creates a named auto-increment counter whose state is persisted as a znode in [Zoo]Keeper under series_keeper_path. There is currently no SQL-level way to reset or delete a series once it has been created — the state is effectively permanent for

importance 4@Yonatan-Dolanopenfeatureeasy taskOriginal evidence ↗
issue

[RFC] Add a `histogram(N)` column statistic for range predicate selectivity

### Company or project name ClickHouse ### Use case Selectivity estimation for range predicates (`<`, `<=`, `>`, `>=`, `BETWEEN`, and range decompositions from `PlainRanges`) on columns with non-uniform value distributions. Today these are estimated with `tdigest` (if declared), linear interpolation over `[min, max]` from `basic`/`minmax`, or a magic default

importance 4@cv4gopenfeatureOriginal evidence ↗
issue

Lazy FINAL with `optimize_aggregation_in_order` merges one group at a time (25000 `mergeBlocks` calls and 50000 log lines for a 35000-row table)

### Describe the situation When `query_plan_optimize_lazy_final` and `optimize_aggregation_in_order` are both on, the aggregation that the lazy `FINAL` replacement builds is merged **one group at a time**: `Aggregator::mergeBlocks` is called once per distinct key, and each call writes two log lines (a `Trace` "Merging partially aggregated blocks" and a `Debu

importance 4@alexey-milovidovopenOriginal evidence ↗
issue

IN (SELECT ...) inside a higher-order-function lambda always evaluates to 0 when the query is a derived table or the lambda is in WHERE

**Describe what's wrong** An `IN (SELECT ...)` predicate inside a higher-order-function lambda (`arrayExists`, `arrayFilter`, `arrayMap`, ...) always evaluates to `0` when the enclosing SELECT is used as a derived table (or when the lambda sits in an outer `WHERE`). The identical expression at the top level returns the correct result. **Does it reproduce on

importance 4@zlareb1openpotential bugOriginal evidence ↗
issue

Failed INSERT INTO s3(...) PARTITION BY leaves a durable read-visible prefix; default hive strategy silently duplicates it on retry

### Company or project name ClickHouse QA (durability testing) ### Describe what's wrong A failed `INSERT INTO FUNCTION s3(...) PARTITION BY <key>` (and the equivalent object-storage table engines) is **not atomic and leaves a durable, read-visible prefix of the partitions it had already written**, while the statement reports failure. `PartitionedSink` final

importance 4@zlareb1openOriginal evidence ↗
issue

arrayIntersect overflow guard tests isInteger on a Nullable type, so it never fires

### Describe what's wrong **`arrayIntersect` on `Nullable` integer arrays of different widths silently matches values that do not survive the narrowing cast to the common element type. `arrayIntersect([toNullable(1)], [toNullable(257)])` returns `[1]`; the non-Nullable form `arrayIntersect([1], [257])` correctly returns `[]`. Pre-existing — not introduced by

importance 4@clickgapaiopenOriginal evidence ↗
issue

Column named like an array subcolumn (a.size0) added via ALTER: old parts silently return the subcolumn value instead of the DEFAULT, and merges materialize the wrong values

**Describe what's wrong** After `ALTER TABLE ... ADD COLUMN` adds a column whose name collides with a generated array subcolumn (e.g. a column named `a.size0` next to an `Array` column `a`), reads of that column from parts created **before** the ALTER silently return the **subcolumn's computed value** (the array size) instead of the added column's DEFAULT. P

importance 4@zlareb1openpotential bugOriginal evidence ↗
issue

Lightweight UPDATE: a mid-commit failure leaves a read-visible partial update and a retry double-applies

### Company or project name ClickHouse QA (internal durability testing) ### Describe what's wrong A multi-partition lightweight `UPDATE` is neither atomic on failure nor idempotent on retry. `UPDATE t SET c = ... WHERE ...` over a table with N partitions creates one patch part per partition and commits them sequentially (`MergeTreeSinkPatch::finishDelayedChu

importance 4@zlareb1openOriginal evidence ↗
issue

RESTORE: a mid-attach I/O error leaves an un-rolled-back durable data prefix; the suggested allow_non_empty_tables retry duplicates it

### Company or project name ClickHouse QA (internal durability testing) ### Describe what's wrong An I/O error partway through `RESTORE` leaves already-attached parts Active and read-visible, with no rollback, while `RESTORE` reports failure — and the server's own error message then steers the operator into silently duplicating that residue. `StorageReplicat

importance 4@zlareb1openOriginal evidence ↗
issue

S3Queue (multi-server, hash-ring): a stale per-server Processed cache silently skips a re-appeared object after its tracked-file TTL expires

### Company or project name ClickHouse QA (internal durability testing) ### Describe what's wrong In a multi-server `S3Queue`/`ObjectStorageQueue` setup with `enable_hash_ring_filtering = 1`, a per-server in-memory "Processed" cache silently skips a re-appeared object after that object's tracked-file record has been aged out of Keeper by a different server.

importance 4@zlareb1openOriginal evidence ↗
issue

Logical error: Unexpected token for lazy mode: A. Multi-block postings must be compressed (STID: 4250-5377)

_Important: This issue was automatically generated and is used by CI for matching failures. DO NOT modify the body content. DO NOT remove labels._ Test name: Logical error: Unexpected token for lazy mode: A. Multi-block postings must be compressed (STID: 4250-5377) CI report: [AST fuzzer (amd_debug)](https://s3.amazonaws.com/clickhouse-test-reports/json.html

importance 4@PedroTadimopentestingfuzzOriginal evidence ↗
issue

Infinite uncancellable loop in function `hop` at analysis time: a window interval whose span wraps to 0 modulo 2^32 dodges the time-overflow guard

🕵 Found by the AST fuzzer in the stress test of a CI run ([Stress test (arm_debug) report](https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=112930&sha=1c5bf0b613146bd6666b6d2bd2be55f539f6c0d8&name_0=PR&name_1=Stress%20test%20%28arm_debug%29), `Hung check failed, possible deadlock found`): the fuzzed query hung for 1338 s with `is_cancelled: 1` a

importance 4@alexey-milovidovopenbugfuzzOriginal evidence ↗
issue

Logical error: Invalid number of columns in chunk pushed to OutputPort. Expected A, found B (STID: 2270-3258)

_Important: This issue was automatically generated and is used by CI for matching failures. DO NOT modify the body content. DO NOT remove labels._ Test name: Logical error: Invalid number of columns in chunk pushed to OutputPort. Expected A, found B (STID: 2270-3258) CI report: [AST fuzzer (amd_debug)](https://s3.amazonaws.com/clickhouse-test-reports/json.ht

importance 4@ksseniiopentestingfuzzOriginal evidence ↗
issue

Row policy over a file-backed table breaks `DEFAULT` columns missing from the data file (`UNKNOWN_IDENTIFIER`; silently wrong results on 26.7)

🕵 Found while working on https://github.com/ClickHouse/ClickHouse/pull/114262 (lazy materialization for local Parquet files); the behavior is identical with that PR's optimization on or off, and reproduces on current master without it. **Describe what's wrong** When a table over a data file (`File(Parquet)`, and by code inspection the same applies to the obj

importance 4@alexey-milovidovopenpotential bugOriginal evidence ↗
issue

The remote leg of a Distributed query re-serializes a lenient toDecimal64 constant into a strict CAST that throws: local and distributed results diverge

**Describe what's wrong** A query whose `WHERE` clause contains a constant expression producing an out-of-precision `Decimal` value — e.g. `toDecimal64(1000000000000000000, 0)`, a 19-digit value in `Decimal(18, 0)` — executes fine against a local table, but the same query through a `Distributed` table throws `Code: 69. DB::Exception: Too many digits (19 > 18

importance 4@zlareb1openpotential bugOriginal evidence ↗
pull request

Drop for detached tables

### Changelog category (leave one): - Experimental Feature ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Added experimental `DROP DETACHED TABLE` support, gated by `allow_experimental_drop_detached_table`, to remove

importance 4@UberDeveropenmanual approvecan be testedpr-experimentalOriginal evidence ↗
pull request

Constant filter folding under materialize

### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Allows to constant-fold filters through materialize wrappers. Clos

importance 4@yariks5sopenpr-bugfixOriginal evidence ↗
pull request

Make JSONExtract honour cast_string_to_date_time_mode when parsing DateTime values

### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md): `JSONExtract` now honours `cast_string_to_date_time_mode` when converting string JSON values to `DateTime`/`DateTime64`, consistently with `CAST`. Closes #1091

importance 4@Utkal059openpr-bugfixcan be testedOriginal evidence ↗
pull request

Add clickhouse-proxy application mode

Implements a new application mode in the `clickhouse` binary, named `proxy`. The proxy accepts connections over end-user ClickHouse protocols, finds the upstream backend based on configurable rules (hostname from TLS SNI or HTTP header, user name, database name, and — for HTTP — query type), and forwards the traffic to it. It is built on the `silk` fiber fra

importance 4@alexey-milovidovopenpr-featuresubmodule changedOriginal evidence ↗
pull request

Compose join-order statistics over parts surviving partition/PK pruning

Closes: [https://github.com/ClickHouse/ClickHouse/issues/110281](<https://github.com/ClickHouse/ClickHouse/issues/110281>) ### Changelog category (leave one): * Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](<https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_gu

importance 4@skuznetsov-clickhouseclosedpr-bugfixpr-synced-to-cloudpr-must-backport-syncedv26.4-must-backportOriginal evidence ↗
pull request

Fix "Cannot write to finalized buffer" in MergeTreeDeduplicationLog::rotate

Fixes a server abort with the logical error `Cannot write to finalized buffer` that was hit by the stress test. `MergeTreeDeduplicationLog::rotate` finalized the current log writer and only afterwards created the writer for the new log file. If creating the new writer threw — a transient I/O error, or, in the CI failure, a memory-tracker fault injection hitt

importance 4@alexey-milovidovopenpr-bugfixOriginal evidence ↗
pull request

Disable TopK dynamic filtering when a sorting projection makes the read in-order

<!-- Linked issues and pull requests. Use full GitHub URLs, one relationship per line; delete the lines you don't need. Closes: https://github.com/ClickHouse/ClickHouse/issues/110862 --> ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://githu

importance 4@groeneaiopenpr-bugfixcan be testedv26.4-must-backportOriginal evidence ↗
pull request

Compare read-in-order virtual row on its covered sort-key prefix

Closes: https://github.com/ClickHouse/ClickHouse/issues/106740 Closes: https://github.com/ClickHouse/ClickHouse/issues/106630 Related: https://github.com/ClickHouse/ClickHouse/pull/110725 ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://gith

importance 4@vdimiropenpr-bugfixOriginal evidence ↗
pull request

Materialize column statistics on INSERT by default

This PR contains https://github.com/ClickHouse/ClickHouse/pull/109454 minus `materialize_statistics_on_insert_max_table_size` (which I'm happy to introduce in a second step). Made a separate PR to speed up the integration of the feature (the new behavior has high demand and the original PR is stuck since three weeks). If the original PR gets merged first, we

importance 4@rschu1zeclosedpr-improvementOriginal evidence ↗
pull request

Fix async bounded read buffer readbigat race

### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix AsynchronousBoundedReadBuffer's readBigAt data race. Closes ht

importance 4@ksseniiclosedpr-bugfixpr-backports-createdpr-synced-to-cloudpr-must-backport-syncedv26.4-must-backportOriginal evidence ↗
pull request

Silk integration

Splits the silk runtime integration out of https://github.com/ClickHouse/ClickHouse/pull/111275, so that it can be reviewed on its own. This adds the plumbing that lets ClickHouse run work on [silk](https://github.com/ClickHouse/silk) fibers, without yet putting any subsystem on them. - `Silk::initializeFiberScheduler` / `Silk::destroyFiberScheduler`, called

importance 4@mstetsyukopenpr-experimentalOriginal evidence ↗
pull request

Add a type-aware Bloom filter index for JSON

Related: https://github.com/ClickHouse/ClickHouse/pull/113376 The original design used `JSONAllValues` as the input to a Bloom filter. `JSONAllValues` serializes each value as text. It does not preserve the runtime type. This loss of type information is important for `Dynamic` values. ClickHouse can compare JSON values with different runtime types. Some type

importance 4@rorylshanksopenpr-featurecan be testedOriginal evidence ↗
pull request

Do not inject random ORDER BY into queries planned to an intermediate stage

Related: https://github.com/ClickHouse/ClickHouse/pull/110188 With `inject_random_order_for_select_without_order_by = 1`, `InjectRandomOrderIfNoOrderByPass` wrapped every top-level query into `SELECT * FROM (...) ORDER BY rand()`, including queries that are planned only up to an intermediate stage. For a `Merge` table with a `Distributed` child, the other ch

importance 4@alexey-milovidovopenpr-bugfixOriginal evidence ↗
pull request

Check table name length on RENAME DATABASE unconditionally

<!-- Linked issues and pull requests. Use full GitHub URLs, one relationship per line; delete the lines you don't need. Closes: https://github.com/ClickHouse/ClickHouse/issues/101747 --> Closes: https://github.com/ClickHouse/ClickHouse/issues/101747 ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Cha

importance 4@groeneaiclosedpr-bugfixcan be testedpr-synced-to-cloudOriginal evidence ↗