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

Split $meta field validation out of DepsTracker

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization

      The DepsTracker is described with this comment: "This struct allows components in an agg pipeline to report what they need from their input."

       
      Somewhere along the way, we decided to do a bit of validation inside the DepsTracker, to confirm that requests for any particular metadata are valid requests. For example, if you have a $project stage with {$meta: "textScore"}, we must validate that the preceding pipeline generates the "textScore". As the validation logic has ballooned, it's become clear that the DepsTracker is not quite the right structure to handle both tracking what is needed from the input and validating references to metadata are valid. 

            Assignee:
            Unassigned Unassigned
            Reporter:
            will.buerger@mongodb.com Will Buerger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: