-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
None
-
None
-
None
-
None
-
None
-
None
-
None
We can infer the type of $match with $type expressions from SERVER-134594.
Implement an method (internal) to connect that narrowType logic to the dependency graph.
This involves finding the previous $match with dependency on the field (in O(N)) and calling narrowType with type 'any' as the input.
The pipeline:
[\{$match: {x: {$not: {$type: 'array'}}}, ...] should tell us the type of 'x' at the end.
- depends on
-
SERVER-134594 Implement TypeMatchExpression narrowing
-
- Closed
-
- is depended on by
-
SERVER-135478 Add microbenchmarks for DependencyGraph::getType
-
- Open
-
-
SERVER-134596 Use type of field in canPathBeArray
-
- In Code Review
-
-
SERVER-135480 Skip $match stages that don't depend on the given path in DependencyGraph::getType()
-
- In Code Review
-
-
SERVER-135481 Handle dotted paths in DependencyGraph type check
-
- In Code Review
-
- is related to
-
SERVER-135568 Make dependency graph type check follow renames
-
- Backlog
-