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
### 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 ↗
<!--- 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
<!-- 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 ↗
<!-- 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 ↗
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
### 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
### 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
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
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
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
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
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
<!-- 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 ↗
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 ↗
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
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
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
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
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
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
_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 ↗
_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 ↗
<!-- 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)
<!-- 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.
<!-- 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
<!-- 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 ↗
<!-- 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
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
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
### 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
### 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 ↗
### 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
<!-- 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
<!-- 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
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 ↗
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
<!-- 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
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
### 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
### 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
<!-- 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
`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
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
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,
<!-- 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