fn supports_filters_pushdown()

in src/common/schema.rs [179:199]


    fn supports_filters_pushdown(
        &self,
        filters: &[&Expr],
    ) -> datafusion::common::Result<Vec<TableProviderFilterPushDown>> {
        filters
            .iter()
            .map(|f| {
                let filters = split_conjunction(f);
                if filters.iter().all(|f| is_supported_push_down_expr(f)) {
                    // Push down filters to the tablescan operation if all are supported
                    Ok(TableProviderFilterPushDown::Exact)
                } else if filters.iter().any(|f| is_supported_push_down_expr(f)) {
                    // Partially apply the filter in the TableScan but retain
                    // the Filter operator in the plan as well
                    Ok(TableProviderFilterPushDown::Inexact)
                } else {
                    Ok(TableProviderFilterPushDown::Unsupported)
                }
            })
            .collect()
    }