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

Optimize _shouldProduceRecordIdSlot maintenance

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Fully Compatible
    • QE 2022-09-19, QE 2022-10-03
    • 2

      _shouldProduceRecordIdSlot is set to indicate if $project stage needs to produce recordId slot. If the $group stage is present the plan then it will not have recordId. Since buildProjectionDefault() is expected to be called first because it's the root (top) stage in the plan and because childReqs aren't updated by the child stage (by a $group stage) the flag _shouldProduceRecordIdSlot must be set in advance.
      Investigate if its viable to update childReqs by the child stage and if its not possible then have only one traversal of the plan tree to set _shouldProduceRecordIdSlot.

            alberto.massari@mongodb.com Alberto Massari
            misha.tyulenev@mongodb.com Misha Tyulenev
            0 Vote for this issue
            6 Start watching this issue