Conversation
This was referenced Oct 2, 2026
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 2, 2026 18:32
5686cf7 to
d9223e3
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
2 times, most recently
from
October 2, 2026 19:40
b22fa53 to
d82bcde
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
2 times, most recently
from
October 2, 2026 21:14
26da80b to
51a5484
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
2 times, most recently
from
October 2, 2026 21:22
337a0ff to
a94bd59
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 2, 2026 21:22
51a5484 to
b58f2b4
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
from
October 2, 2026 21:25
a94bd59 to
d84830e
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
2 times, most recently
from
October 2, 2026 21:56
8fb402b to
2535016
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
from
October 2, 2026 21:56
d84830e to
b631137
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 3, 2026 02:31
2535016 to
e55e580
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
2 times, most recently
from
October 3, 2026 02:39
075d8e2 to
d9dc49c
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 3, 2026 02:39
e55e580 to
397e56a
Compare
zzylol
changed the base branch from
stack/528-05-promql
to
stack/528-legacy-physical-base
October 3, 2026 14:57
zzylol
changed the base branch from
stack/528-legacy-physical-base
to
stack/528-05-promql
October 3, 2026 19:55
zzylol
force-pushed
the
stack/528-06-native
branch
from
October 3, 2026 19:55
d9dc49c to
04f9db2
Compare
zzylol
marked this pull request as draft
October 3, 2026 20:02
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 3, 2026 20:09
008b0d0 to
e3febef
Compare
zzylol
force-pushed
the
stack/528-06-native
branch
from
October 3, 2026 20:17
04f9db2 to
0ebce24
Compare
zzylol
added a commit
that referenced
this pull request
Oct 3, 2026
Cut today's planner over to the unified OperatorNode IR. Frontends return OperatorNode / QueryRoot, ParsedWorkload keeps scalar roots, Pass 1 (ASAPStrategies), the existing identical-sub-DAG sharing, selection, DAG assembly and lifecycle costing all run on OperatorNode, and PlanOutput exposes the whole workload DAG. The native compiler from #541 becomes the canonical physical_planner and consumes the PhysicalASAPDAG export. Ported from the earlier #542 (95eef55) without new #509 stage logic. Legacy QueryExpr/SummaryNode modules stay compiled for their own tests but are no longer re-exported from post_asap; the cleanup PR removes them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The logical export is phase-free. Physical planning still needs the lifecycle timing expansion; bring it back unchanged except for carrying coverage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The logical export carries no execution timing. Physical planning output needs it: reuse the logical payloads and node ids, and add each node's and edge's data state plus window compatibility, as the earlier post-ASAP export did. Coverage is carried through. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Match the logical export: a batch is one DAG whose roots are its queries, with shared sub-DAGs exported once. The runtime compiles all roots. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol
added a commit
that referenced
this pull request
Oct 3, 2026
Cut today's planner over to the unified OperatorNode IR. Frontends return OperatorNode / QueryRoot, ParsedWorkload keeps scalar roots, Pass 1 (ASAPStrategies), the existing identical-sub-DAG sharing, selection, DAG assembly and lifecycle costing all run on OperatorNode, and PlanOutput exposes the whole workload DAG. The native compiler from #541 becomes the canonical physical_planner and consumes the PhysicalASAPDAG export. Ported from the earlier #542 (95eef55) without new #509 stage logic. Legacy QueryExpr/SummaryNode modules stay compiled for their own tests but are no longer re-exported from post_asap; the cleanup PR removes them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol
force-pushed
the
stack/528-06-native
branch
from
October 3, 2026 20:48
0ebce24 to
aaa8467
Compare
zzylol
force-pushed
the
stack/528-05-promql
branch
from
October 3, 2026 20:48
e3febef to
ca8b839
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.
Rebuilt on the revised stack (2026-10-03)
This PR was based on the old
stack/528-legacy-physical-base. It now sits on the revised #540 (Phase A in #528), as four commits:Restore execution timing assignment (
ir/timing.rs). The revised feat(ir): add logical sub-DAG sharing and export without execution timing #537 exports only a logical DAG with no execution timing. The runtime still needs every node timed (ingestion vs query time), so the lifecycle → timing expansion comes back unchanged, except that it now carriescoverage.Export timed plans as
PhysicalASAPDAG(ir/physical_export.rs, the docs: propose workload-wide planning, summary sharing, and materialization #509 name for the oldPostAsapDAG). It reuses the logical export's payloads and node ids, and adds each node's and edge's data state, window compatibility and coverage. Tests: the timed export round-trips through JSON; a query-time producer feeding an ingestion-time consumer is rejected; an untimed plan is rejected.The runtime itself, unchanged apart from names. The runtime's own split into precompute and query is renamed from
PhysicalASAPDAGtoCompiledPhysicalPlan, so it no longer collides with the docs: propose workload-wide planning, summary sharing, and materialization #509 plan type.One root per batch query. Like the logical export (feat(ir): add logical sub-DAG sharing and export without execution timing #537), a
PhysicalASAPDAGholdsroots, one per query of the batch, and shared sub-DAGs are exported once.compile_physical_asap_workload(&[Rc<OperatorNode>])exports a timed batch, and the runtime compiles all roots. Scalar query roots are not physical nodes yet.Validation: the workspace passes clippy with
-D warnings, andcargo test --workspacepasses 2,027 tests with 0 failures.Revised Phase A stack (see #528): #567 → #560 → #537 → #539 → #540 → #541 → #542 → #543. The pre-rebuild description is in the PR history.
🤖 Generated with Claude Code