For some engines, especially those with vectorized Parquet readers, filter predicate can often be evaluated more efficiently by the engine. In these cases, Parquet record-level filtering may even slow down query execution when filter push-down is enabled. On the other hand, when the data is well prepared, filter push-down can be very valuable due to row group level filtering.
One possible improvement here is to add a configuration option that makes record-level filtering optional. In this way, the upper-level engine may leverage both Parquet row group level filtering and faster native record-level filtering.