[SERVER-52664] Explore more simple ways to generate SBE expressions Created: 06/Nov/20  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Nikita Lapkov (Inactive) Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: qexec-team, sbe-post-v1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

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.


Generated at Thu Feb 08 05:28:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.