[SBE] Support queries like "find({_id:1},{a:1})" and "find({_id:1}).returnKey()"

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.9.0
    • Affects Version/s: None
    • Component/s: Querying
    • Fully Compatible
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When SBE is enabled, I noticed that some simple queries such as "find({_id:1},{a:1})" and "find({_id:1}).returnKey()" fail with an error message that says "IDHack plan is not supported by SBE yet".

      Looking at the current state of the SBE stage builder code, it seems like we have all the infrastructure necessary to support the two queries mentioned above.

      The goal of this task is to (1) figure out what changes should be made to the SBE stage builder so that SBE can run the find() queries below and (2) to implement said changes:

      > db.c.drop()
      > db.c.insert({_id: 1, a: 2})
      > db.c.createIndex({a: 1})
      
      > db.c.find({_id: 1}, {a: 1})
      
      > db.c.find({_id: 1}).returnKey()

              Assignee:
              Drew Paroski
              Reporter:
              Drew Paroski
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: