-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
QE 2024-03-18, QE 2024-04-01, QE 2024-04-15, QE 2024-04-29, QE 2024-05-13, QE 2024-05-27, QE 2024-06-10, QE 2024-06-24, QE 2024-07-08, QE 2024-07-22, QE 2024-08-05, QE 2024-08-19, QE 2024-09-02, QE 2024-09-16, QE 2024-09-30, QE 2024-10-14, QE 2024-10-28, QE 2024-11-11, QE 2024-11-25, QE 2024-12-09, QE 2024-12-23, QE 2025-01-06, QE 2025-01-20
-
105
In block processing mode, when a $match predicate on a doted field is converted into a series of traverseF nested calls, we can operate directly with a valueBlockXXX function of the expanded navigation returned by TsBucketToCellBlockStage only if the predicate selects the kArrayElementsOnly. In this mode we know that the predicate only cares about the final leaf value, ignoring the arrays encountered during the descent.
Some predicates, like $exists or $typeMatch, operate in kDoNotTraverseLeaf mode, where they stop right before navigating the last part of the dotted field; we can enable these functions to operate on block values if we expose a Get/Traverse/Get/Id navigation for each Get/Traverse/Get/Traverse/Id path we extract in TsBucketToCellBlockStage
- is duplicated by
-
SERVER-93008 Add dotted path support for $exists using Block Processing
- Closed