-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
-
Fully Compatible
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
This could probably be split into two or three tickets once we start implementing this (one for implementing the document source, one for implementing the rewrite, one for adding the suite).
From the design:
We will introduce a new passthrough DocumentSource that holds a set of FieldPaths and asserts for every input document that none of the FieldPaths contain arrays. Additionally, we will introduce a new test-only rewrite (gated via a query knob) that inserts said DocumentSource before every stage. The rewrite will construct the set of field paths by looking at all fields referenced by the stage and adding them to the set if the graph reports canPathBeArray(stage, path) == false.
- depends on
-
SERVER-127302 Dependency graph arrayness tracking incorrect for $lookup with sorted INLJ indexes
-
- Closed
-
-
SERVER-127304 PathArrayness incorrectly marks parent field as non-array when index uses positional path notation
-
- Closed
-
-
SERVER-128465 Fix dependency graph arrayness for dotted path modifications that array-traverse their prefix
-
- Closed
-
-
SERVER-127292 Make $_internalValidateArrayness transparent to SBE pushdown
-
- Backlog
-
-
SERVER-127305 Move $_internalValidateArrayness insertion to a Rule-Based Rewriter (RBR) rule
-
- Backlog
-
-
SERVER-127290 $_internalValidateArrayness injection prevents $match pushdown, breaking {$meta: "indexKey"} in shred_documents.js
-
- Closed
-
-
SERVER-128112 Add timeseries collection test coverage for $_internalAssertDataAssumptions in agg_stage_coverage.js
-
- Closed
-
-
SERVER-128248 $unionWith sub-pipeline optimization runs without parent query settings
-
- Closed
-
-
SERVER-128040 Add dependency graph validation jstest suite for product_limits
-
- Closed
-
- related to
-
SERVER-129904 Exclude lookup_query_stats.js from aggregation_dependency_graph_validation_passthrough suite
-
- Closed
-