Create optimized object walker(s) in SBE

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • QE 2025-09-01, QE 2025-09-15, QE 2025-09-29
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, ObjectEnumerator will branch on every call to advance based on whether the object is a TypeTags::Object or TypeTags::bsonObject. We can do something similar to arrayAny and arrayForEach in sbe/values/util.h (SERVER-74126) so we only dispatch on the underlying type once.

      We might also want to replace all existing uses of ObjectEnumerator with these new implementations.

      This enumerator will also need a way to exit early if we want to use it for the new traverseP stage.

            Assignee:
            Evan Bergeron
            Reporter:
            Parker Felix
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: