- 
    Type:Task 
- 
    Resolution: Unresolved
- 
    Priority:Major - P3 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: None
- 
    None
- 
        Query Integration
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Currently in ts_block.cpp there is a lot of logic that keeps track of what kinds of paths we support and don't and we carefully choose how to proceed based on that.
Once the path-based decompress method is complete, then we can simplify this a lot. We should just be able to take all of the paths and pass them to BSONColumn::decompress(paths) and it should just work.
There are a few outstanding issues before we can do this, I'll link them to this issue.
- depends on
- 
                    SERVER-87175 Reuse decompress(all) code from decompress(path) method when using root path -         
- Backlog
 
-         
- 
                    SERVER-87339 Refactor handling of missing values for Traverse paths -         
- Backlog
 
-         
- 
                    SERVER-88215 decompress(paths): append missing for non-trivial path and scalar data -         
- Backlog
 
-         
- 
                    SERVER-88217 decompress(paths): evaluate path for non-interleaved objects -         
- Backlog
 
-         
- 
                    SERVER-88218 decompress(paths): add top-level logic for handling non-interleaved -         
- Closed
 
-         
- is depended on by
- 
                    SERVER-90881 Complete TODO listed in SERVER-89514 -         
- Closed
 
-         
- is duplicated by
- 
                    SERVER-89514 Avoid traversing fieldMin and fieldMax for every path -         
- Backlog
 
-