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

Fix a mixed JOIN ON condition evaluated over mismatched column types for a dictionary

Related: https://github.com/ClickHouse/ClickHouse/pull/112831 A mixed join condition is a cross-side non-equi residual in the `ON` clause, for example `ON (t.key = d.key) AND (t.a * 10 < d.a)`. Only the hash family evaluates one: `HashJoin` passes `TableJoin::getMixedJoinExpression` into `AddedColumns::additional_filter_expression` and applies it while match

importance 2@alexey-milovidovclosedpr-bugfixpr-backports-createdpr-synced-to-cloudpr-must-backport-syncedv26.7-must-backportOriginal evidence ↗
pull request

Docs: add Erathos connector to data ingestion docs

### Changelog category (leave one): - Documentation (changelog entry is not required) ### 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): Adds Erathos, an ELT platform, to the data ingestion integrations list.

importance 2@gelsonbagettiopenpr-documentationcan be testedOriginal evidence ↗
pull request

Strip the cosmetic parenthesized flag before comparing stored definitions

Related: https://github.com/ClickHouse/ClickHouse/pull/92340 Related: https://github.com/ClickHouse/ClickHouse/pull/110833 ### 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_gui

importance 2@fm4vclosedpr-bugfixv26.6-must-backportOriginal evidence ↗
pull request

Fix logical error on filter push-down with a differently-typed same-name column

<!--- A technical comment, you are free to remove or leave it as it is when PR is created The following categories are used in the next scripts, update them accordingly utils/changelog/changelog.py tests/ci/cancel_and_rerun_workflow_lambda/app.py --> ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Ch

importance 2@alexey-milovidovclosedpr-bugfixpr-synced-to-cloudOriginal evidence ↗
pull request

Drop stale totals and extremes ports in MergingAggregatedStep

<!-- 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/113708 ### Changelog category (leave one): - Not for changelog (changelog entry is not required) ### Changelog entry (a [user-readable short description](https://github.com/ClickH

importance 2@groeneaiopenpr-not-for-changelogcan be testedOriginal evidence ↗
pull request

Fix flaky test_zookeeper_fallback_session by waiting for zoo1 to catch up before asserting fallback

<!-- 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/pull/113575 --> ### Changelog category (leave one): - CI Fix or Improvement (changelog entry is not required) ### Changelog entry (a [user-readable short description](https://github.com/Clic

importance 2@groeneaican be testedpr-synced-to-cloudpr-ciOriginal evidence ↗
pull request

Fix vector search with `arrayJoin` below the sort and with a row policy

Fixes for the vector search `ORDER BY <distance> LIMIT` optimization. **`arrayJoin` below the sort.** `arrayJoin` changes the number of rows - an empty array drops its base row - so the rewrite must not shortlist base rows before it runs. `optimizeTopK` rejects `arrayJoin` for this reason (https://github.com/ClickHouse/ClickHouse/issues/82279), but the vecto

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

Add a regression test for duplicate parallel replicas announcements from a self-matching merge() child

### Changelog category (leave one): - Not for changelog (changelog entry is not required) ### Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md): Add a regression test for the parallel replicas coordinator guard trips (`Initiator received more initial requests than there are replicas: replica_num=1`, `Duplicate annou

importance 2@alexey-milovidovclosedpr-not-for-changelogpr-synced-to-cloudOriginal evidence ↗
pull request

Fix a crash when a primary-key range layer produces an empty pipe

### 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): Fixed a server crash when reading a `MergeTree` table by primary-key range layers and one of the layers produced an empty pipe. `readByLayers` in `PartsSplitte

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

Rework the comments in the Web UI

Make the comments in `programs/server/play.html` concise and on point: state the constraint and the failure it prevents in simple terms, and drop meta-narrative and repeated details (the file shrinks from 13416 to 11810 lines). Stale comments are fixed along the way: the syntax highlighting no longer uses `mix-blend-mode: difference` (the textarea text is tr

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

Backport #113291 to 26.5: Fix for virtual row is not being applied in some cases

Original pull-request https://github.com/ClickHouse/ClickHouse/pull/113291 This pull-request is a last step of an automated backporting. Treat it as a standard pull-request: look at the checks and resolve conflicts. Merge it only if you intend to backport changes to the target branch, otherwise just close it. ### The PR source The PR is created in the [CI jo

importance 2@robot-clickhouse-ci-2openpr-bugfixpr-backportOriginal evidence ↗
pull request

Clear plain LIMIT/OFFSET in the window-view backfill source query

Follow-up to https://github.com/ClickHouse/ClickHouse/pull/113759: the last AI review finding on that PR landed after the PR had been added to the merge queue, so the branch could no longer be updated. This addresses it. `StorageWindowView::getSourceTableSelectQuery` builds the raw-source backfill query for `CREATE WINDOW VIEW ... POPULATE`. The rows it prod

importance 2@alexey-milovidovopenpr-not-for-changelogOriginal evidence ↗
pull request

Register Iceberg namespace in the catalog before writing table files (needed for SeaweedFS)

Files written first turn the namespace into a plain directory, which a catalog sharing the storage view (SeaweedFS) rejects with HTTP 500; the swallowed error left an orphaned metadata file that broke retries. Ensure the namespace before the first write; propagate failures except 404-then-create and 409 (REST) / AlreadyExists (Glue). Example: https://pastila

importance 2@azatopenpr-bugfixOriginal evidence ↗
pull request

Add SHARED REGEXP path placement policy to JSON

Adds `SHARED REGEXP 'pattern'` to `JSON` type declarations so matching root-relative flattened paths are always stored in shared data instead of competing for dedicated dynamic-path subcolumns. This is useful for high-cardinality path families whose promotion would displace more useful paths. Matching is partial by default, like `SKIP REGEXP`. Set the persis

importance 2@valerypetrovopenpr-featurecan be testedOriginal evidence ↗
pull request

Do not apply DROP fault injection to CREATE OR REPLACE internal DROPs

<!-- 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/110893 Related: https://github.com/ClickHouse/ClickHouse/pull/110971 --> ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Chan

importance 2@groeneaiclosedpr-bugfixcan be testedpr-synced-to-cloudOriginal evidence ↗
pull request

Cherry pick #113534 to 26.7: Fix a mixed JOIN ON condition evaluated over mismatched column types for a dictionary

Original pull-request https://github.com/ClickHouse/ClickHouse/pull/113534 ## Do not merge this PR manually This pull-request is a first step of an automated backporting. It contains changes similar to calling `git cherry-pick` locally. If you intend to continue backporting the changes, then resolve all conflicts if any. Otherwise, if you do not want to back

importance 2@robot-clickhousecloseddo not testpr-bugfixpr-cherrypickOriginal evidence ↗
pull request

Report mutation cancellation instead of stopping nested pipelines silently

<!-- Related: https://github.com/ClickHouse/ClickHouse/issues/107619 Related: https://github.com/ClickHouse/ClickHouse/pull/112152 --> ### 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/changel

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

Backport #113289 to 26.5: Fix quadratic JSON subcolumn skip-index matching over a large dotted constant

Original pull-request https://github.com/ClickHouse/ClickHouse/pull/113289 This pull-request is a last step of an automated backporting. Treat it as a standard pull-request: look at the checks and resolve conflicts. Merge it only if you intend to backport changes to the target branch, otherwise just close it. ### The PR source The PR is created in the [CI jo

importance 2@robot-ch-test-poll3closedpr-bugfixpr-backportOriginal evidence ↗
pull request

Targeted tests: skip previously failed tests that no longer exist

The targeted functional-test jobs replay tests that failed in previous CI runs of the PR (a 30-day CIDB window). When such a test is deleted or renamed on master in the meantime — e.g. a flaky test removed instead of deflaked — its name still comes back from CIDB, `clickhouse-test` matches zero tests, prints `No tests were run.` and exits with code 1, turnin

importance 2@alexey-milovidovclosedpr-synced-to-cloudpr-ciOriginal evidence ↗
pull request

Backport #102033 to 26.5: Fix LOGICAL_ERROR crash in IcebergMetadata::iterate when datalake_table_state is missing

Original pull-request https://github.com/ClickHouse/ClickHouse/pull/102033 Cherry-pick pull-request https://github.com/ClickHouse/ClickHouse/pull/114385 This pull-request is a last step of an automated backporting. Treat it as a standard pull-request: look at the checks and resolve conflicts. Merge it only if you intend to backport changes to the target bran

importance 2@robot-ch-test-pollclosedpr-bugfixpr-backportOriginal evidence ↗
pull request

Fix wrong results for non-boolean conditions taken out of `and`

Closes: https://github.com/ClickHouse/ClickHouse/issues/112236 `and` implicitly converts its arguments to booleans, so any non-zero value is true. When a query plan optimization takes a part of a conjunction away and a single conjunct is left as the new predicate, that conjunct was converted with a cast to the type of the original predicate. A cast is not a

importance 2@vdimiropenpr-bugfixOriginal evidence ↗
pull request

Horizon Support in ClickHouse

Add support for Snowflake Horizon. It support read and write path. I tested it against my own catalog. ### Changelog category (leave one): - New Feature ### Changelog entry (a [user-readable short description] Add support for Snowflake Horizon. You can now query Iceberg table in Iceberg behind the horizon catalog. You can also write to the Iceberg table via

importance 2@melvynatoropenpr-featureOriginal evidence ↗
pull request

Ask `@oranjeai` instead of `@groeneai` in the private repository

The `continue-pr` skill hardcoded `@groeneai` as the person to ping about CI failures that are unrelated to the pull request being worked on. That handle is only correct for `ClickHouse/ClickHouse`; when the skill runs in `ClickHouse/clickhouse-private`, the request should go to `@oranjeai` instead. Step 1 now detects the repository (`gh repo view --json nam

importance 2@alexey-milovidovclosedpr-not-for-changelogpr-synced-to-cloudOriginal evidence ↗
pull request

Add test: Truncated `Array` elements stream: `CANNOT_READ_ALL_DATA` branch has no test

_Test-only PR. Review: are the gaps real, is the test right._ Adds test coverage for 1 untested code path, found during automated review of [PR #109212](https://github.com/ClickHouse/ClickHouse/pull/109212). That PR: (1) Moves the `Array` offsets monotonicity check in `SerializationArray::deserializeOffsetsBinaryBulk` from `settings.native_format` to `!setti

importance 2@clickgapaiclosedpr-not-for-changelogcan be testedpr-synced-to-cloudOriginal evidence ↗
pull request

Add test: Duplicate TLS argument rejection and positional-arity stripping untested

_Test-only PR. Review: are the gaps real, is the test right._ Adds test coverage for 1 untested code path, found during automated review of [PR #110615](https://github.com/ClickHouse/ClickHouse/pull/110615). That PR: (1) Adds TLS/SSL to every PostgreSQL integration: `sslmode` plus certificate/key either as server-local paths (`sslrootcert`/`sslcert`/`sslkey`

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

Fix serialization of Map-valued settings in access entities

<!-- 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/114591 (auto-closes the issue when this PR is merged into the default branch) --> ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release)

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

Do not apply DROP fault injection to a refreshable view's cleanup DROP

<!-- Related: https://github.com/ClickHouse/ClickHouse/pull/114420 --> ### 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.

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

Find a LowCardinality needle equal to the type's default value

<!-- 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/pull/112953 --> ### Changelog category (leave one): - Bug Fix (user-visible misbehavior in an official stable release) ### Changelog entry (a [user-readable short description](https://github

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

Do not merge-sort a distributed gather whose sort description is all-constant

<!-- 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/pull/113558 Related: https://github.com/ClickHouse/ClickHouse/issues/106237 --> ### Changelog category (leave one): - Not for changelog (changelog entry is not required) ### Changelog entry

importance 2@groeneaiopenpr-not-for-changelogcan be testedOriginal evidence ↗
pull request

Fix inconsistent AST formatting for a subquery argument of the view table function

<!-- 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/114004 (auto-closes the issue when this PR is merged into the default branch) --> Closes: https://github.com/ClickHouse/ClickHouse/issues/114004 ### Changelog category (leave one): - B

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

Stop SeaweedFS deleting live object folders in stateless CI

Related: https://github.com/ClickHouse/ClickHouse/pull/113828 ### 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.md) of the changes that goes into CHANGELOG.md): ... ### Descr

importance 2@groeneaiopenpr-ciOriginal evidence ↗
pull request

Allow overriding the HTTP method for SELECT through the url table function and URL engine

Closes: https://github.com/ClickHouse/ClickHouse/issues/62352 ### Changelog category (leave one): - New 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): `http_method='POST'` — as a key-value argument of the `ur

importance 2@valerypetrovopenpr-featurecan be testedOriginal evidence ↗
pull request

Docs: expand the Managed Postgres autoscaling documentation

### Changelog category (leave one): - Documentation (changelog entry is not required) ## Summary - Expand the one-line Autoscaling section in the Managed Postgres scaling docs with the behavior sourced from the Ubicloud codebase: the 85% storage notification, the 90% automatic scale-up, and the 95% maintenance-window bypass - Document what autoscaling means

importance 2@amogiskaopenpr-documentationcan be testedOriginal evidence ↗
pull request

Revert dangerous change in CreateUniqueArrayJoinAliasesVisitor

### Changelog category (leave one): - Not for changelog (changelog entry is not required) ### 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): Revert the dangerous change from https://github.com/ClickHouse/ClickHouse/pull/

importance 2@novikdopenpr-not-for-changelogclose in a month if not activeOriginal evidence ↗
pull request

#91631 / Extension of CREATE TABLE IF NOT EXISTS ... AS SELECT

### Changelog category (leave one): - New 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 CREATE TABLE ... AS INSERT and CREATE TABLE IF NOT EXISTS ... AND INSERT syntax to populate a table immediately f

importance 1@ivancadena98pr-featurecan be testedOriginal evidence ↗
pull request

Improve sanitizer robustness in parser and UTF-8 subsequence paths

<!-- CURSOR_AGENT_PR_BODY_BEGIN --> This follows up on sanitizer failures discovered while running CI for https://github.com/ClickHouse/ClickHouse/pull/99740. The branch keeps the original `getURLScheme` empty-input guard from that work and adds two more hardening fixes that became visible after the first fix: - guard `Lexer::nextToken` `max_query_size` chec

importance 1@yakov-olkhovskiyclosedOriginal evidence ↗
pull request

Add `input_format_json_max_object_size` setting to limit JSON object size on parsing

<!-- 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/NNNNN (auto-closes the issue when this PR is merged into the default branch) Related: https://github.com/ClickHouse/ClickHouse/pull/NNNNN --> ### Changelog category (leave one): - Impr

importance 1@Avogaropenpr-improvementOriginal evidence ↗
pull request

Cache vended credentials for REST catalogs

Now, new vended credentials are requested on each metadata request. This PR adds an (optional) cache for creds with configurable TTL. ### Changelog category (leave one): - Improvement ### 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

importance 1@zvonandopenpr-improvementmanual approvecan be testedOriginal evidence ↗
pull request

Bump `libssh` to 0.12.0

Update the `contrib/libssh` submodule to the upstream release `libssh-0.12.0` (from an upstream master snapshot, `libssh-0.11.0-368-g47305a2f`), tracked via the `ClickHouse/libssh-0.12.0` branch of the fork mirror. Both the old and new pins are clean upstream commits, so no ClickHouse patches needed to be carried forward. Build integration changes in `contri

importance 1@thevar1ableclosedpr-buildsubmodule changedpr-synced-to-cloudOriginal evidence ↗
pull request

Fix DateTime64 parser consumes Bool column value when small epoch

<!-- 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/NNNNN (auto-closes the issue when this PR is merged into the default branch) Related: https://github.com/ClickHouse/ClickHouse/pull/NNNNN --> ### Changelog category (leave one): - Bug

importance 1@yariks5spr-bugfixOriginal evidence ↗
pull request

Stress test: do not force use_query_cache for non-throw overflow-mode tests

Related: https://github.com/ClickHouse/ClickHouse/pull/107907 ### 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.md) of the changes that goes into CHANGELOG.md): ... ### Descr

importance 1@groeneaiopenpr-ciOriginal evidence ↗
pull request

Fix propagation of settings in `accurateCastOrDefault`

### 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 propagation of settings in `accurateCastOrDefault`. Closes htt

importance 1@Avogaropenpr-bugfixpr-must-backportOriginal evidence ↗
pull request

Metrics for tracking insertions via materialized view

### Changelog category: - New Feature ### Changelog entry: Added metrics `DirectInsertedRows`, `DirectInsertedBytes`, `MaterializedViewInsertedRows`, and `MaterializedViewInsertedBytes`. ... ### Documentation entry for user-facing changes: I think there are none user-facing changes. At a minimum, the following information should be added (but add more as nee

importance 1@UberDeverpr-featurecan be testedOriginal evidence ↗
pull request

EXPLAIN SYNTAX: return the pretty-printed query as a single multi-line record

<!-- 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/80410 Related: https://github.com/ClickHouse/ClickHouse/pull/107925 --> Closes: #80410 Related: #107925 (closed, superseded by this PR) ### Changelog category (leave one): - Backward I

importance 1@groeneaiopenpr-backward-incompatibleOriginal evidence ↗
pull request

Fix memory tracker leak when a parent tracker throws MEMORY_LIMIT_EXCEEDED

`MemoryTracker::allocImpl` increments `amount` optimistically at each level and then recurses into the parent tracker. When some ancestor (typically the total server tracker) threw `MEMORY_LIMIT_EXCEEDED`, only the throwing tracker reverted its own counter. All descendant trackers that had already incremented (thread, query, user) kept the rejected amount fo

importance 1@seva-potapovopenpr-bugfixcan be testedOriginal evidence ↗
pull request

Keeper: don't refuse an empty-data `Set` at the memory soft limit

Related: https://github.com/ClickHouse/ClickHouse/issues/109460 **Background.** `ZooKeeper::initSession` writes empty data to `<sessions_path>/<zookeeper_name>/<server-uuid>` purely for the side effect of bumping that znode's version, and records the new version. Critical writes then attach `Check(session_path, recorded_version)` via `addCheckSessionOp`, so

importance 1@tiandiwonderopenpr-bugfixcan be testedOriginal evidence ↗
pull request

Iterate ColumnObject subcolumns in sorted path order

Make `ColumnObject::forEachSubcolumn`, `forEachMutableSubcolumn` and their recursive variants iterate over the already-maintained `sorted_typed_paths`/`sorted_dynamic_paths` lists instead of the raw `typed_paths`/`dynamic_paths` `unordered_map`s. Motivation: the iteration order of an `unordered_map` is not guaranteed to be preserved by its copy constructor,

importance 1@Avogarclosedpr-not-for-changelogpr-must-backportpr-backports-createdpr-synced-to-cloudpr-must-backport-syncedOriginal evidence ↗
pull request

Rebuild skip indices, projections, TTL and MATERIALIZED columns left stale by ALTER MODIFY / UPDATE / CLEAR COLUMN

<!-- Related: https://github.com/ClickHouse/ClickHouse/pull/112302 Related: https://github.com/ClickHouse/ClickHouse/pull/85985 --> Related: https://github.com/ClickHouse/ClickHouse/pull/112302 Related: https://github.com/ClickHouse/ClickHouse/pull/85985 A mutation decides what to rebuild by comparing the mutated column against the columns that an index / pr

importance 1@Avogaropenpr-bugfixOriginal evidence ↗