-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
The first step before we can have a block-based $group stage, is that the stage builder has a protocol to let SlotBasedStageBuilder::buildGroup inform the SlotBasedStageBuilder::build method building its source stage (via PlanStageReqs) that such stage is allowed to return block-based slots in its PlanStageOutputs.
The block-producing stages (currently just SlotBasedStageBuilder::buildUnpackTsBucket) would not insert the BlockToRowStage, and delegate the insertion to the first buildXXX method that accepts blocks in input but cannot generate blocks in output (because the stage output is not a block, or because the parent stage didn't signal in the PlanStageReqs that it can handle blocks)