Function datafusion_optimizer::analyzer::subquery::check_subquery_expr
source ยท pub fn check_subquery_expr(
outer_plan: &LogicalPlan,
inner_plan: &LogicalPlan,
expr: &Expr,
) -> Result<()>
Expand description
Do necessary check on subquery expressions and fail the invalid plan
- Check whether the outer plan is in the allowed outer plans list to use subquery expressions, the allowed while list: [Projection, Filter, Window, Aggregate, Join].
- Check whether the inner plan is in the allowed inner plans list to use correlated(outer) expressions.
- Check and validate unsupported cases to use the correlated(outer) expressions inside the subquery(inner) plans/inner expressions. For example, we do not want to support to use correlated expressions as the Join conditions in the subquery plan when the Join is a Full Out Join