Skip to content

Antalya 26.4: Antalya 26.3 Hybrid: added support for segment pruning#1887

Open
zvonand wants to merge 2 commits into
antalya-26.4from
feature/antalya-26.4/pr-1788
Open

Antalya 26.4: Antalya 26.3 Hybrid: added support for segment pruning#1887
zvonand wants to merge 2 commits into
antalya-26.4from
feature/antalya-26.4/pr-1788

Conversation

@zvonand

@zvonand zvonand commented Jun 7, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Hybrid tables now can ignore the segments that can't be reached by the combination of WHERE and segment predicate (#1788 by @mkmkme).

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Cherry-picked from #1788.


Documentation entry for user-facing changes

...

zvonand and others added 2 commits June 7, 2026 20:54
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1788 from Altinity/mkmkme/antalya-26.3/hybrid-segment-pruning

Antalya 26.3 Hybrid: added support for segment pruning
# Conflicts:
#	src/Storages/StorageDistributed.cpp
Adapted `ClusterProxy::rewriteSelectQuery` to accept `additional_filter`
parameter (bucket 2: parameter existed on antalya-26.3 from PR #1442 but is
missing on antalya-26.4). Simplified filter injection without the ALIAS
column normalization from `buildColumnNodesForTableExpression` /
`ReplaceColumnNodesForTableExpressionVisitor` (those helpers are not yet on
antalya-26.4); queries using ALIAS columns in segment predicates may encounter
`MULTIPLE_EXPRESSIONS_FOR_ALIAS` until PR #1442 is forward-ported.

Adapted `buildQueryTreeDistributed` similarly: added `additional_filter`
parameter with a WHERE-injection implementation using the available
`mergeConditionNodes` utility.

Adapted `getInMemoryMetadataPtr()` → `getInMemoryMetadataPtr(local_context,
false)` (bucket 2: antalya-26.4 requires context and bypass-cache arguments
per commit `16e69dfc0f5`).

Adapted: ClusterProxy::rewriteSelectQuery — added additional_filter per antalya-26.3 PR #1442, simplified (no ALIAS column normalization)
Adapted: buildQueryTreeDistributed — added additional_filter with WHERE injection using mergeConditionNodes
Adapted: getInMemoryMetadataPtr() → getInMemoryMetadataPtr(local_context, false) per antalya-26.4 commit 16e69df

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.4 ai-resolved Port conflict auto-resolved by Claude labels Jun 7, 2026
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Workflow [PR], commit [68ca0fa]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-resolved Port conflict auto-resolved by Claude antalya-26.4 releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant