[SERVER-58737] Use EvalExpr in more places in sbe_stage_builder_expression.cpp Created: 21/Jul/21  Updated: 29/Oct/23  Resolved: 27/Jul/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Drew Paroski Assignee: Drew Paroski
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Query Execution 2021-07-26, QE 2021-08-09
Participants:

 Description   

During the code review for SERVER-58569, it was noted that "sbe_stage_builder_expression.cpp" was generating some unnecessary ProjectStages.

By using EvalExpr in more places in "sbe_stage_builder_expression.cpp", we can eliminate these unnecessary ProjectStages. (The 'evalStack' in "sbe_stage_builder_expression.cpp" already uses EvalExpr, but many places in the code don't make use of EvalExpr's capabilities and just call extractExpr() to pull out the EExpression.)

The goal of this task is to change generateExpression() to return an EvalExprStagePair, to update various places in "sbe_stage_builder_expression.cpp" and callers of generateExpression() to take advantage of EvalExpr's capabilities.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 26/Jul/21 ]

Author:

{'name': 'Drew Paroski', 'email': 'drew.paroski@mongodb.com', 'username': 'paroski'}

Message: SERVER-58737 Use EvalExpr in more places in sbe_stage_builder_expression.cpp
Branch: master
https://github.com/mongodb/mongo/commit/02bcfc8991afe9ec8fb5d2dbf0d4e4499dce019e

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