[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

      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: