-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
Create a new header src/mongo/db/exec/expression/evaluate.h and define a namespace mongo::exec::expression with a set of functions
Value evaluate(const ExpressionConcat& expr, const Document& root, Variables* variables)
one for each
- ExpressionConcat
- ExpressionReplaceBase
- ExpressionStrcasecmp
- ExpressionSubstrBytes
- ExpressionSubstrCP
- ExpressionStrLenBytes
- ExpressionBinarySize
- ExpressionStrLenCP
- ExpressionToLower
- ExpressionToUpper
- ExpressionTrim
- ExpressionSplit
- ExpressionIndexOfBytes
- ExpressionIndexOfCP
The body of the functions will be in a src/mongo/db/exec/expression/evaluate_string.cpp and will be taken from the evaluate() method, and the evaluate() method will be changed so that it calls the new method.
- has to be done before
-
SERVER-97130 Create walker for Expression-based hierarchies
- Needs Scheduling