1515// specific language governing permissions and limitations
1616// under the License.
1717
18- use std:: collections:: HashMap ;
1918use crate :: execution:: operators:: ExecutionError ;
2019use crate :: parquet:: encryption_support:: { CometEncryptionConfig , ENCRYPTION_FACTORY_ID } ;
2120use crate :: parquet:: parquet_support:: SparkParquetOptions ;
21+ use crate :: parquet:: schema_adapter:: SparkPhysicalExprAdapterFactory ;
2222use arrow:: datatypes:: { Field , SchemaRef } ;
2323use datafusion:: config:: TableParquetOptions ;
2424use datafusion:: datasource:: listing:: PartitionedFile ;
@@ -29,13 +29,13 @@ use datafusion::datasource::source::DataSourceExec;
2929use datafusion:: execution:: object_store:: ObjectStoreUrl ;
3030use datafusion:: physical_expr:: expressions:: BinaryExpr ;
3131use datafusion:: physical_expr:: PhysicalExpr ;
32+ use datafusion:: physical_expr_adapter:: PhysicalExprAdapterFactory ;
3233use datafusion:: prelude:: SessionContext ;
34+ use datafusion:: scalar:: ScalarValue ;
3335use datafusion_comet_spark_expr:: EvalMode ;
3436use datafusion_datasource:: TableSchema ;
37+ use std:: collections:: HashMap ;
3538use std:: sync:: Arc ;
36- use datafusion:: physical_expr_adapter:: PhysicalExprAdapterFactory ;
37- use datafusion:: scalar:: ScalarValue ;
38- use crate :: parquet:: schema_adapter:: SparkPhysicalExprAdapterFactory ;
3939
4040/// Initializes a DataSourceExec plan with a ParquetSource. This may be used by either the
4141/// `native_datafusion` scan or the `native_iceberg_compat` scan.
@@ -138,11 +138,12 @@ pub(crate) fn init_datasource_exec(
138138 FileScanConfigBuilder :: new ( object_store_url, file_source) . with_file_groups ( file_groups) ;
139139
140140 if let Some ( projection_vector) = projection_vector {
141- file_scan_config_builder =
142- file_scan_config_builder. with_projection_indices ( Some ( projection_vector) ) ?;
141+ file_scan_config_builder = file_scan_config_builder
142+ . with_projection_indices ( Some ( projection_vector) ) ?
143+ . with_expr_adapter ( Some ( expr_adapter_factory) ) ;
143144 }
144145
145- let file_scan_config = file_scan_config_builder. with_expr_adapter ( Some ( expr_adapter_factory ) ) . build ( ) ;
146+ let file_scan_config = file_scan_config_builder. build ( ) ;
146147
147148 Ok ( Arc :: new ( DataSourceExec :: new ( Arc :: new ( file_scan_config) ) ) )
148149}
0 commit comments