Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Encapsulate time range constraints for predicate pushdown
MetricFlow currently allows for a limited scope form of filter predicate pushdown that is particular to time range constraints where the querying user has provided an explicit time window for us to query against. The application of the pushdown operation is managed by threading the time range constraint through the entire dataflow plan builder and applying the filter operation as appropriate. This is exactly what we need to do for robust predicate pushdown evaluation for our expanded set of pushdown operations. Rather than wire a whole new set of parameters through, we simply encapsulate the time range constraints inside of a new object that is more readily extensible to other predicate pushdown handling. This specific change is as mechanical as possible in order to minimize confusion. Places that stood out for improvement via the encapsulating object have been marked for later updates, which will follow shortly.
- Loading branch information