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

[SBE] Identify cases where it's safe to use LeafArrayTraversalMode::kArrayElementsOnly

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.9.0
    • Affects Version/s: None
    • Component/s: Querying
    • Fully Compatible
    • Query Execution 2021-03-22

      The diff for SERVER-49819 changed "sbe_stage_builder_filter.cpp" so that most operators call generateTraverse() with the mode = LeafArrayTraversalMode::kArrayAndItsElements, which generates a slightly more complex SBE plan tree that will apply the specified predicate to both an array's elements and the array itself.

      The goal of this task is to see if there are cases where we can safely call generateTraverse() with mode = LeafArrayTraversalMode::kArrayElementsOnly instead (which would generate a slightly simpler SBE plan tree).

            Assignee:
            nikita.lapkov@mongodb.com Nikita Lapkov (Inactive)
            Reporter:
            andrew.paroski@mongodb.com Drew Paroski
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: