Skip to content

Commit 346e37f

Browse files
zzylolclaude
andcommitted
fix(executor): build per-entity summaries over a TimeShift pane
A tumbling pane (#580) reads TimeRange(w) over TimeShift(i*w) over Scan. The per-entity build path required the Scan directly under the TimeRange and rejected panes with "per-entity summary requires a resolved source". The deployment supplies the shifted raw rows, so look through one TimeShift to find the source schema. Ported from #566. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 6575cfe commit 346e37f

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

  • crates/executor/src/physical_planner

‎crates/executor/src/physical_planner/mod.rs‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,13 @@ fn compile_internal(
398398
"per-entity summary requires a resolved raw time range",
399399
));
400400
};
401-
let Some(NonASAPOp::Scan { schema, .. }) = child.non_asap() else {
401+
// A tumbling pane reads its window through a TimeShift (#580);
402+
// the deployment supplies the shifted raw rows.
403+
let source = match child.non_asap() {
404+
Some(NonASAPOp::TimeShift { child, .. }) => child,
405+
_ => child,
406+
};
407+
let Some(NonASAPOp::Scan { schema, .. }) = source.non_asap() else {
402408
return Err(invalid("per-entity summary requires a resolved source"));
403409
};
404410
if !schema.closed || update.item.is_some() {

0 commit comments

Comments
 (0)