pub fn try_pushdown_through_join(
projection: &ProjectionExec,
join_left: &Arc<dyn ExecutionPlan>,
join_right: &Arc<dyn ExecutionPlan>,
join_on: &[(Arc<dyn PhysicalExpr>, Arc<dyn PhysicalExpr>)],
schema: Arc<Schema>,
filter: Option<&JoinFilter>,
) -> Result<Option<JoinData>, DataFusionError>