fn filter_and_project( batch: &RecordBatch, predicate: &Arc<dyn PhysicalExpr>, projection: Option<&Vec<usize>>, output_schema: &SchemaRef, ) -> Result<RecordBatch>