@@ -26,7 +26,6 @@ use datafusion_common::{DataFusionError, Result};
26
26
use datafusion_expr:: expr:: Exists ;
27
27
use datafusion_expr:: expr:: InSubquery ;
28
28
use datafusion_expr:: expr_rewriter:: FunctionRewrite ;
29
- use datafusion_expr:: utils:: inspect_expr_pre;
30
29
use datafusion_expr:: { Expr , LogicalPlan } ;
31
30
32
31
use crate :: analyzer:: count_wildcard_rule:: CountWildcardRule ;
@@ -156,18 +155,21 @@ impl Analyzer {
156
155
/// Do necessary check and fail the invalid plan
157
156
fn check_plan ( plan : & LogicalPlan ) -> Result < ( ) > {
158
157
plan. apply ( & mut |plan : & LogicalPlan | {
159
- for expr in plan. expressions ( ) . iter ( ) {
158
+ plan. inspect_expressions ( |expr| {
160
159
// recursively look for subqueries
161
- inspect_expr_pre ( expr, |expr| match expr {
162
- Expr :: Exists ( Exists { subquery, .. } )
163
- | Expr :: InSubquery ( InSubquery { subquery, .. } )
164
- | Expr :: ScalarSubquery ( subquery) => {
165
- check_subquery_expr ( plan, & subquery. subquery , expr)
166
- }
167
- _ => Ok ( ( ) ) ,
160
+ expr. apply ( & mut |expr| {
161
+ match expr {
162
+ Expr :: Exists ( Exists { subquery, .. } )
163
+ | Expr :: InSubquery ( InSubquery { subquery, .. } )
164
+ | Expr :: ScalarSubquery ( subquery) => {
165
+ check_subquery_expr ( plan, & subquery. subquery , expr) ?;
166
+ }
167
+ _ => { }
168
+ } ;
169
+ Ok ( TreeNodeRecursion :: Continue )
168
170
} ) ?;
169
- }
170
-
171
+ Ok :: < ( ) , DataFusionError > ( ( ) )
172
+ } ) ? ;
171
173
Ok ( TreeNodeRecursion :: Continue )
172
174
} ) ?;
173
175
0 commit comments