@@ -41,15 +41,14 @@ use datafusion::catalog::{Session, TableProviderFactory};
41
41
use datafusion:: config:: TableParquetOptions ;
42
42
use datafusion:: datasource:: memory:: DataSourceExec ;
43
43
use datafusion:: datasource:: physical_plan:: {
44
- wrap_partition_type_in_dict, wrap_partition_value_in_dict, FileScanConfig ,
45
- ParquetSource ,
44
+ wrap_partition_type_in_dict, wrap_partition_value_in_dict, FileScanConfig , ParquetSource ,
46
45
} ;
47
46
use datafusion:: datasource:: { listing:: PartitionedFile , MemTable , TableProvider , TableType } ;
48
47
use datafusion:: execution:: context:: { SessionConfig , SessionContext , SessionState , TaskContext } ;
49
48
use datafusion:: execution:: runtime_env:: RuntimeEnv ;
50
49
use datafusion:: execution:: FunctionRegistry ;
51
50
use datafusion:: optimizer:: simplify_expressions:: ExprSimplifier ;
52
- use datafusion:: physical_optimizer:: pruning:: PruningPredicate ;
51
+ use datafusion:: physical_optimizer:: pruning:: { PruningPredicate , PruningStatistics } ;
53
52
use datafusion_common:: scalar:: ScalarValue ;
54
53
use datafusion_common:: tree_node:: { TreeNode , TreeNodeRecursion , TreeNodeVisitor } ;
55
54
use datafusion_common:: {
@@ -60,7 +59,9 @@ use datafusion_expr::execution_props::ExecutionProps;
60
59
use datafusion_expr:: logical_plan:: CreateExternalTable ;
61
60
use datafusion_expr:: simplify:: SimplifyContext ;
62
61
use datafusion_expr:: utils:: conjunction;
63
- use datafusion_expr:: { col, Expr , Extension , LogicalPlan , TableProviderFilterPushDown , Volatility } ;
62
+ use datafusion_expr:: {
63
+ col, BinaryExpr , Expr , Extension , LogicalPlan , TableProviderFilterPushDown , Volatility ,
64
+ } ;
64
65
use datafusion_physical_expr:: { create_physical_expr, PhysicalExpr } ;
65
66
use datafusion_physical_plan:: filter:: FilterExec ;
66
67
use datafusion_physical_plan:: limit:: { GlobalLimitExec , LocalLimitExec } ;
@@ -571,18 +572,17 @@ impl<'a> DeltaScanBuilder<'a> {
571
572
} ;
572
573
573
574
let context = SessionContext :: new ( ) ;
574
- let df_schema = logical_schema. clone ( ) . to_dfschema ( ) ?;
575
575
576
576
let logical_filter = self . filter . map ( |expr| {
577
577
// Simplify the expression first
578
578
let props = ExecutionProps :: new ( ) ;
579
579
let simplify_context =
580
- SimplifyContext :: new ( & props) . with_schema ( df_schema . clone ( ) . into ( ) ) ;
580
+ SimplifyContext :: new ( & props) . with_schema ( filter_df_schema . clone ( ) . into ( ) ) ;
581
581
let simplifier = ExprSimplifier :: new ( simplify_context) . with_max_cycles ( 10 ) ;
582
582
let simplified = simplifier. simplify ( expr) . unwrap ( ) ;
583
583
584
584
context
585
- . create_physical_expr ( simplified, & df_schema )
585
+ . create_physical_expr ( simplified, & filter_df_schema )
586
586
. unwrap ( )
587
587
} ) ;
588
588
0 commit comments