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

Explore more simple ways to generate SBE expressions

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Querying
    • Query Execution

      Currently we useĀ makeE functions to create SBE expressions in builders for aggregation expressions and find. Code for complex expressions is not easy to read and quite verbose. We should explore how we can generate SBE expressions in a more simple way.

      We have identified two options during the team discussion:

      1. Compile-time parser for DSL describing SBE expressions. We have a working prototype created by nikita.lapkov during Skunkworks: https://github.com/laplab/mongo/tree/sbe_strings
      2. C++ operator overloading and expression templates for constructing SBE expressions. This idea was proposed by anton.korshunov and martin.neupauer

      In the scope of this ticket we need to understand limitations of the first approach and experiment with the second one.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            nikita.lapkov@mongodb.com Nikita Lapkov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: