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

POC: Rewind functionality in document source machinery

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Optimization 2021-04-05, Query Optimization 2021-04-19, Query Optimization 2021-05-03

    Description

      For window functions, in some cases we may want a "two-pass" execution approach such that a first pass computes the result and the second pass projects it to the desired document. This will prevent the need to cache all documents in a partition before streaming. Things to consider:

      • Add "reset" functionality to DS machinery, such that on the first pass we compute the accumulation result over the entire partition then seek back to the first document to project the new field. Would need to reset to the partition boundary as well.
      • Could re-use TeeBuffer and instead of pausing add functionality to spill to disk
      • Spool operator/stage?

      Attachments

        Activity

          People

            ted.tuckman@mongodb.com Ted Tuckman
            nicholas.zolnierz@mongodb.com Nicholas Zolnierz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: