fix(clickhouse): validate coverage for every join input - #570
Merged
Merged
Conversation
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
2 times, most recently
from
September 10, 2026 14:13
0f70e49 to
ef94f52
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
from
September 10, 2026 14:13
8a176f5 to
d87bfbb
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 14:16
ef94f52 to
c337678
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
from
September 10, 2026 14:16
d87bfbb to
74fa720
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 14:29
c337678 to
f763b17
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
from
September 10, 2026 14:29
74fa720 to
3b15697
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 14:30
f763b17 to
56536ca
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
from
September 10, 2026 14:30
3b15697 to
1582453
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 14:35
56536ca to
fe61603
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
2 times, most recently
from
September 10, 2026 14:36
0642263 to
ef763e0
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 14:36
fe61603 to
0f4f556
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
from
September 10, 2026 14:44
ef763e0 to
bdd39bd
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
2 times, most recently
from
September 10, 2026 14:47
118d2b5 to
70f0a5c
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
2 times, most recently
from
September 10, 2026 14:51
bf1ba25 to
2d62236
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
2 times, most recently
from
September 10, 2026 14:56
1ec60eb to
212a2b3
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
2 times, most recently
from
September 10, 2026 15:00
168195a to
300d7f0
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
2 times, most recently
from
September 10, 2026 16:17
c5f15e4 to
ce83878
Compare
zzylol
force-pushed
the
feat/unified-clickhouse-relational-join
branch
2 times, most recently
from
September 10, 2026 17:18
c752ab4 to
fec0c51
Compare
* feat(clickhouse): execute SQL joins in the shared query DAG * fix: consume canonical planner lifecycle contract
zzylol
changed the base branch from
feat/unified-clickhouse-relational-join
to
main
September 10, 2026 17:46
zzylol
force-pushed
the
feat/unified-clickhouse-temporal
branch
from
September 10, 2026 17:46
ce83878 to
d661dc6
Compare
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.
Why
A joined ClickHouse query could previously accept complete coverage from one summary leaf as evidence for the complete join. That could serve a result while another input was stale, incomplete, or aligned to a different pane boundary.
What
How
The accelerator walks the installed shared QueryPlan DAG, executes each reachable
ReadMaterializationleaf separately, and checks that leaf's returned coverage against its catalog binding. Only after every leaf passes does the existing relational runtime join and project the values.Before
Coverage from one complete summary input could mask a gap in another join input.
After
Every input must independently prove coverage for the requested interval; a stale or incomplete leaf causes fail-closed exact fallback.
Verification
cargo fmt -p control_plane -p data_plane -- --checkcargo check -p control_plane -p data_planecargo test -p data_plane --lib asap_clickhouse_query_engine --no-fail-fast(11/11)