-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
In many cases, plans will have a SargableNode which will satisfy RemoveOrphansRequirement (SERVER-78507). However, plans without sargable predicates (or an empty query) may result in a full collection scan with a ScanNode without a SargableNode. This means we need ScanNode to be able to satisfy RemoveOrphansRequirement.
We could rely the existing enforcer for RemoveOrphansRequirement to generate a physical alternative, but this won't take advantage of the ability to push down top-level field projections into the physical scan.
We should take care to test dotted field paths.