[SERVER-51356] Single eval frame model in SBE Created: 05/Oct/20  Updated: 29/Oct/23  Resolved: 05/Nov/20

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

Type: Task Priority: Major - P3
Reporter: Nikita Lapkov (Inactive) Assignee: Nikita Lapkov (Inactive)
Resolution: Fixed Votes: 0
Labels: qexec-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Query 2020-10-19, Query 2020-11-02, Query 2020-11-16
Participants:

 Description   

Currently, SBE builder in sbe_stage_builder_filter.cpp uses stack to isolate generation of SBE sub-trees.
SBE builder in sbe_stage_builder_expression.cpp uses stacks for each type of expressions which require sub-tree generation (for instance, there is a stack for logical expressions). We could unify these stacks into one abstraction like it is done in sbe_stage_builder_filter.cpp.

We should also research if it is possible to unify stacks from sbe_stage_builder_expression.cpp and sbe_stage_builder_filter.cpp into one abstraction to use in both places.

Also it looks like we would be able to extract logical expressions generation code from both builders into common code after this refactoring is performed. We should explore this possibility too.



 Comments   
Comment by Githook User [ 05/Nov/20 ]

Author:

{'name': 'Nikita Lapkov', 'email': 'nikita.lapkov@mongodb.com', 'username': 'laplab'}

Message: SERVER-51356 Introduce single eval frame model to SBE builders
Branch: master
https://github.com/mongodb/mongo/commit/bf9d4cc9999f6fa7f26d9801671813daa64c9d36

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