Skip to content

Commit e3d3257

Browse files
authored
feat: add datafusion-physical-adapter, implement predicate adaptation missing fields of structs (#16589)
1 parent b4c7ef7 commit e3d3257

File tree

21 files changed

+427
-40
lines changed

21 files changed

+427
-40
lines changed

Cargo.lock

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ members = [
4040
"datafusion/functions-window-common",
4141
"datafusion/optimizer",
4242
"datafusion/physical-expr",
43+
"datafusion/physical-expr-adapter",
4344
"datafusion/physical-expr-common",
4445
"datafusion/physical-optimizer",
4546
"datafusion/pruning",
@@ -134,6 +135,7 @@ datafusion-functions-window-common = { path = "datafusion/functions-window-commo
134135
datafusion-macros = { path = "datafusion/macros", version = "49.0.0" }
135136
datafusion-optimizer = { path = "datafusion/optimizer", version = "49.0.0", default-features = false }
136137
datafusion-physical-expr = { path = "datafusion/physical-expr", version = "49.0.0", default-features = false }
138+
datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "49.0.0", default-features = false }
137139
datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "49.0.0", default-features = false }
138140
datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "49.0.0" }
139141
datafusion-physical-plan = { path = "datafusion/physical-plan", version = "49.0.0" }

datafusion-examples/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ dashmap = { workspace = true }
6868
base64 = "0.22.1"
6969
datafusion = { workspace = true, default-features = true }
7070
datafusion-ffi = { workspace = true }
71+
datafusion-physical-expr-adapter = { workspace = true }
7172
datafusion-proto = { workspace = true }
7273
env_logger = { workspace = true }
7374
futures = { workspace = true }

datafusion-examples/examples/custom_file_casts.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ use datafusion::execution::context::SessionContext;
3131
use datafusion::execution::object_store::ObjectStoreUrl;
3232
use datafusion::parquet::arrow::ArrowWriter;
3333
use datafusion::physical_expr::expressions::CastExpr;
34-
use datafusion::physical_expr::schema_rewriter::{
35-
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
36-
};
3734
use datafusion::physical_expr::PhysicalExpr;
3835
use datafusion::prelude::SessionConfig;
36+
use datafusion_physical_expr_adapter::{
37+
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
38+
};
3939
use object_store::memory::InMemory;
4040
use object_store::path::Path;
4141
use object_store::{ObjectStore, PutPayload};

datafusion-examples/examples/default_column_values.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ use datafusion::logical_expr::{Expr, TableProviderFilterPushDown, TableType};
3838
use datafusion::parquet::arrow::ArrowWriter;
3939
use datafusion::parquet::file::properties::WriterProperties;
4040
use datafusion::physical_expr::expressions::{CastExpr, Column, Literal};
41-
use datafusion::physical_expr::schema_rewriter::{
42-
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
43-
};
4441
use datafusion::physical_expr::PhysicalExpr;
4542
use datafusion::physical_plan::ExecutionPlan;
4643
use datafusion::prelude::{lit, SessionConfig};
44+
use datafusion_physical_expr_adapter::{
45+
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
46+
};
4747
use futures::StreamExt;
4848
use object_store::memory::InMemory;
4949
use object_store::path::Path;

datafusion-examples/examples/json_shredding.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ use datafusion::logical_expr::{
4040
};
4141
use datafusion::parquet::arrow::ArrowWriter;
4242
use datafusion::parquet::file::properties::WriterProperties;
43-
use datafusion::physical_expr::schema_rewriter::{
44-
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
45-
};
4643
use datafusion::physical_expr::PhysicalExpr;
4744
use datafusion::physical_expr::{expressions, ScalarFunctionExpr};
4845
use datafusion::physical_plan::ExecutionPlan;
4946
use datafusion::prelude::{lit, SessionConfig};
5047
use datafusion::scalar::ScalarValue;
48+
use datafusion_physical_expr_adapter::{
49+
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
50+
};
5151
use futures::StreamExt;
5252
use object_store::memory::InMemory;
5353
use object_store::path::Path;

datafusion/core/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ datafusion-functions-table = { workspace = true }
129129
datafusion-functions-window = { workspace = true }
130130
datafusion-optimizer = { workspace = true }
131131
datafusion-physical-expr = { workspace = true }
132+
datafusion-physical-expr-adapter = { workspace = true }
132133
datafusion-physical-expr-common = { workspace = true }
133134
datafusion-physical-optimizer = { workspace = true }
134135
datafusion-physical-plan = { workspace = true }

datafusion/core/src/datasource/listing/table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ use datafusion_execution::{
4848
use datafusion_expr::{
4949
dml::InsertOp, Expr, SortExpr, TableProviderFilterPushDown, TableType,
5050
};
51-
use datafusion_physical_expr::schema_rewriter::PhysicalExprAdapterFactory;
51+
use datafusion_physical_expr_adapter::PhysicalExprAdapterFactory;
5252
use datafusion_physical_expr_common::sort_expr::LexOrdering;
5353
use datafusion_physical_plan::{empty::EmptyExec, ExecutionPlan, Statistics};
5454
use futures::{future, stream, Stream, StreamExt, TryStreamExt};

datafusion/core/tests/parquet/schema_adapter.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ use datafusion_datasource::schema_adapter::{
3434
use datafusion_datasource::ListingTableUrl;
3535
use datafusion_execution::object_store::ObjectStoreUrl;
3636
use datafusion_physical_expr::expressions::{self, Column};
37-
use datafusion_physical_expr::schema_rewriter::{
38-
DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter, PhysicalExprAdapterFactory,
37+
use datafusion_physical_expr::PhysicalExpr;
38+
use datafusion_physical_expr_adapter::{
39+
DefaultPhysicalExprAdapter, DefaultPhysicalExprAdapterFactory, PhysicalExprAdapter,
40+
PhysicalExprAdapterFactory,
3941
};
40-
use datafusion_physical_expr::{DefaultPhysicalExprAdapter, PhysicalExpr};
4142
use itertools::Itertools;
4243
use object_store::{memory::InMemory, path::Path, ObjectStore};
4344
use parquet::arrow::ArrowWriter;

datafusion/datasource-parquet/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ datafusion-execution = { workspace = true }
4242
datafusion-expr = { workspace = true }
4343
datafusion-functions-aggregate = { workspace = true }
4444
datafusion-physical-expr = { workspace = true }
45+
datafusion-physical-expr-adapter = { workspace = true }
4546
datafusion-physical-expr-common = { workspace = true }
4647
datafusion-physical-optimizer = { workspace = true }
4748
datafusion-physical-plan = { workspace = true }

0 commit comments

Comments
 (0)