1. Rewrite Filter(Project) to Project(Filter) to make sure when do partition prune the tree looks like this: Project(Filter(OlapScan)). 2. Enable the MergeConsecutiveProject MergeConsecutiveFilter rules. 3. prune range partition just like what Legacy Planner do.