Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-79539

Support general block-based stages in stage builders

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.3.0-rc0
    • 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)

            Assignee:
            alberto.massari@mongodb.com Alberto Massari
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: