Skip to content

Commit 8266def

Browse files
committed
Add PhysicalExpr optimizer and cast unwrapping
1 parent c4d2cd7 commit 8266def

File tree

9 files changed

+1844
-815
lines changed

9 files changed

+1844
-815
lines changed

Cargo.lock

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

datafusion/expr-common/src/casts.rs

Lines changed: 1231 additions & 0 deletions
Large diffs are not rendered by default.

datafusion/expr-common/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#![deny(clippy::clone_on_ref_ptr)]
3434

3535
pub mod accumulator;
36+
pub mod casts;
3637
pub mod columnar_value;
3738
pub mod groups_accumulator;
3839
pub mod interval_arithmetic;

datafusion/optimizer/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ arrow = { workspace = true }
4545
chrono = { workspace = true }
4646
datafusion-common = { workspace = true, default-features = true }
4747
datafusion-expr = { workspace = true }
48+
datafusion-expr-common = { workspace = true }
4849
datafusion-physical-expr = { workspace = true }
4950
indexmap = { workspace = true }
5051
itertools = { workspace = true }

datafusion/optimizer/src/simplify_expressions/expr_simplifier.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ use datafusion_physical_expr::{create_physical_expr, execution_props::ExecutionP
4646

4747
use super::inlist_simplifier::ShortenInListSimplifier;
4848
use super::utils::*;
49+
use crate::analyzer::type_coercion::TypeCoercionRewriter;
4950
use crate::simplify_expressions::guarantees::GuaranteeRewriter;
5051
use crate::simplify_expressions::regex::simplify_regex_expr;
5152
use crate::simplify_expressions::unwrap_cast::{
@@ -54,11 +55,8 @@ use crate::simplify_expressions::unwrap_cast::{
5455
unwrap_cast_in_comparison_for_binary,
5556
};
5657
use crate::simplify_expressions::SimplifyInfo;
57-
use crate::{
58-
analyzer::type_coercion::TypeCoercionRewriter,
59-
simplify_expressions::unwrap_cast::try_cast_literal_to_type,
60-
};
6158
use datafusion_expr::expr::FieldMetadata;
59+
use datafusion_expr_common::casts::try_cast_literal_to_type;
6260
use indexmap::IndexSet;
6361
use regex::Regex;
6462

0 commit comments

Comments
 (0)