[SERVER-31294] Separate ExpressionContext into ExpressionContext and AggregationContext Created: 27/Sep/17  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Aggregation Framework, Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Tess Avitabile (Inactive) Assignee: Backlog - Query Optimization
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-24717 Rename ExpressionContext to Aggregati... Backlog
Assigned Teams:
Query Optimization
Participants:

 Description   

Due to the introduction of Expression into MatchExpression, we now use the ExpressionContext inside of MatchExpression. But ExpressionContext has members such as AggregationRequest parameters and an owned CollatorInterface that do not make sense outside of aggregation. We would like ExpressionContext to only contain members relevant to Expression (opCtx, variables, variablesParseState, and _collator) and make a new AggregationContext to hold an ExpressionContext and all the other state relevant to aggregation. AggregationContext will be used inside of aggregation, and an Expression should only hold an ExpressionContext, which makes sense to use outside of aggregation.



 Comments   
Comment by Charlie Swanson [ 19/Dec/17 ]

When doing this work, we should consider merging the concepts of a MongoProcessInterface and an ExpressionContext into one thing.

Generated at Thu Feb 08 04:26:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.