Repository navigation
[core] Support composite BTree prefix and range queries - #10346
Merged
Merged
Conversation
leaves12138
approved these changes
Oct 3, 2026
leaves12138
left a comment
Contributor
There was a problem hiding this comment.
Reviewed 1934e40. No blocking issues found.
Checked the virtual tuple boundaries and SST seeks, open/closed endpoints and NULL exclusion, contradictory constraints, metadata pruning, composite/scalar selection, whole-definition budget fallback, residual predicates, and eager/reader coverage behavior. The persisted index format and full-key point/Bloom path remain unchanged.
Local validation on JDK 8, without fast-build:
- 408 Common regression tests covering composite/scalar BTree and SST readers passed.
- 167 Core regression tests covering query planning, index refresh, Data Evolution tables and related paths passed.
- The Flink 1 composite SQL/lifecycle test passed.
- Both Spark 3 / Scala 2.12 composite procedure tests passed.
- Two additional temporary randomized tests passed: 2,400 interval evaluations across BTree v1/v2, with and without local row-ID clipping, compared against row-level evaluation of the covered predicates. These exercise reordered and conflicting equality/range constraints, NULLs, and boundary suffixes.
Full GitHub CI still has pending jobs at review time. Flink 2 and Spark 4 were not rerun locally.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Extend composite BTree global index queries for Data Evolution tables with equality left prefixes and a range on the first non-equality key column. This follows #10345.
>,>=,<,<=andBETWEEN, including combined bounds and contradictory constraints.IN/IS NULLoptimization remain deferred.Tests
All scoped final tests pass without the
fast-buildprofile:Coverage includes both index file versions, compression and cross-block seeks, open/closed boundaries, NULL components, conflicting constraints, local row-ID ranges, independent single-column indexes, partial coverage, whole-definition budget fallback and eager/reader equivalence.
Checkstyle, Spotless, Maven Enforcer, Apache RAT and
git diff --checkalso pass. Two independent review iterations completed, with the final review reporting no actionable findings.