Skip to content

Commit 592f74a

Browse files
committed
move more physical expr
1 parent 7081206 commit 592f74a

25 files changed

+1010
-1251
lines changed

datafusion-physical-expr/Cargo.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ name = "datafusion_physical_expr"
3333
path = "src/lib.rs"
3434

3535
[features]
36+
default = ["crypto_expressions", "regex_expressions", "unicode_expressions"]
37+
crypto_expressions = ["md-5", "sha2", "blake2", "blake3"]
38+
regex_expressions = ["regex"]
39+
unicode_expressions = ["unicode-segmentation"]
3640

3741
[dependencies]
3842
datafusion-common = { path = "../datafusion-common", version = "7.0.0" }
@@ -41,3 +45,13 @@ arrow = { version = "9.0.0", features = ["prettyprint"] }
4145
paste = "^1.0"
4246
ahash = { version = "0.7", default-features = false }
4347
ordered-float = "2.10"
48+
lazy_static = { version = "^1.4.0" }
49+
md-5 = { version = "^0.10.0", optional = true }
50+
sha2 = { version = "^0.10.1", optional = true }
51+
blake2 = { version = "^0.10.2", optional = true }
52+
blake3 = { version = "1.0", optional = true }
53+
rand = "0.8"
54+
hashbrown = { version = "0.12", features = ["raw"] }
55+
chrono = { version = "0.4", default-features = false }
56+
regex = { version = "^1.4.3", optional = true }
57+
unicode-segmentation = { version = "^1.7.1", optional = true }

datafusion-physical-expr/src/aggregate_expr.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
// under the License.
1717

1818
use crate::PhysicalExpr;
19-
2019
use arrow::datatypes::Field;
2120
use datafusion_common::Result;
2221
use datafusion_expr::Accumulator;
23-
use std::fmt::Debug;
24-
2522
use std::any::Any;
23+
use std::fmt::Debug;
2624
use std::sync::Arc;
2725

2826
/// An aggregate expression that:

datafusion/src/physical_plan/array_expressions.rs renamed to datafusion-physical-expr/src/array_expressions.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@
1717

1818
//! Array expressions
1919
20-
use crate::error::{DataFusionError, Result};
2120
use arrow::array::*;
2221
use arrow::datatypes::DataType;
22+
use datafusion_common::{DataFusionError, Result};
23+
use datafusion_expr::ColumnarValue;
2324
use std::sync::Arc;
2425

25-
use super::ColumnarValue;
26-
2726
macro_rules! downcast_vec {
2827
($ARGS:expr, $ARRAY_TYPE:ident) => {{
2928
$ARGS

datafusion/src/physical_plan/crypto_expressions.rs renamed to datafusion-physical-expr/src/crypto_expressions.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@
1616
// under the License.
1717

1818
//! Crypto expressions
19-
use super::ColumnarValue;
20-
use crate::{
21-
error::{DataFusionError, Result},
22-
scalar::ScalarValue,
23-
};
19+
2420
use arrow::{
2521
array::{
2622
Array, ArrayRef, BinaryArray, GenericStringArray, StringArray,
@@ -30,6 +26,9 @@ use arrow::{
3026
};
3127
use blake2::{Blake2b512, Blake2s256, Digest};
3228
use blake3::Hasher as Blake3;
29+
use datafusion_common::ScalarValue;
30+
use datafusion_common::{DataFusionError, Result};
31+
use datafusion_expr::ColumnarValue;
3332
use md5::Md5;
3433
use sha2::{Sha224, Sha256, Sha384, Sha512};
3534
use std::any::type_name;

datafusion/src/physical_plan/datetime_expressions.rs renamed to datafusion-physical-expr/src/datetime_expressions.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,7 @@
1616
// under the License.
1717

1818
//! DateTime expressions
19-
use std::sync::Arc;
2019
21-
use super::ColumnarValue;
22-
use crate::{
23-
error::{DataFusionError, Result},
24-
scalar::{ScalarType, ScalarValue},
25-
};
2620
use arrow::{
2721
array::{Array, ArrayRef, GenericStringArray, PrimitiveArray, StringOffsetSizeTrait},
2822
compute::kernels::cast_utils::string_to_timestamp_nanos,
@@ -42,7 +36,11 @@ use arrow::{
4236
};
4337
use chrono::prelude::*;
4438
use chrono::Duration;
39+
use datafusion_common::{DataFusionError, Result};
40+
use datafusion_common::{ScalarType, ScalarValue};
41+
use datafusion_expr::ColumnarValue;
4542
use std::borrow::Borrow;
43+
use std::sync::Arc;
4644

4745
/// given a function `op` that maps a `&str` to a Result of an arrow native type,
4846
/// returns a `PrimitiveArray` after the application

datafusion-physical-expr/src/expressions/cume_dist.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
//! Defines physical expression for `cume_dist` that can evaluated
1919
//! at runtime during query execution
2020
21+
use crate::window::partition_evaluator::PartitionEvaluator;
2122
use crate::window::BuiltInWindowFunctionExpr;
22-
use crate::window::PartitionEvaluator;
2323
use crate::PhysicalExpr;
2424
use arrow::array::ArrayRef;
2525
use arrow::array::Float64Array;

datafusion-physical-expr/src/expressions/lead_lag.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
//! Defines physical expression for `lead` and `lag` that can evaluated
1919
//! at runtime during query execution
2020
21+
use crate::window::partition_evaluator::PartitionEvaluator;
2122
use crate::window::BuiltInWindowFunctionExpr;
22-
use crate::window::PartitionEvaluator;
2323
use crate::PhysicalExpr;
2424
use arrow::array::ArrayRef;
2525
use arrow::compute::cast;

datafusion-physical-expr/src/expressions/nth_value.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
//! Defines physical expressions for `first_value`, `last_value`, and `nth_value`
1919
//! that can evaluated at runtime during query execution
2020
21+
use crate::window::partition_evaluator::PartitionEvaluator;
2122
use crate::window::BuiltInWindowFunctionExpr;
22-
use crate::window::PartitionEvaluator;
2323
use crate::PhysicalExpr;
2424
use arrow::array::{new_null_array, ArrayRef};
2525
use arrow::compute::kernels::window::shift;

datafusion-physical-expr/src/expressions/rank.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
//! Defines physical expression for `rank`, `dense_rank`, and `percent_rank` that can evaluated
1919
//! at runtime during query execution
2020
21+
use crate::window::partition_evaluator::PartitionEvaluator;
2122
use crate::window::BuiltInWindowFunctionExpr;
22-
use crate::window::PartitionEvaluator;
2323
use crate::PhysicalExpr;
2424
use arrow::array::ArrayRef;
2525
use arrow::array::{Float64Array, UInt64Array};

datafusion-physical-expr/src/expressions/row_number.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
//! Defines physical expression for `row_number` that can evaluated at runtime during query execution
1919
20+
use crate::window::partition_evaluator::PartitionEvaluator;
2021
use crate::window::BuiltInWindowFunctionExpr;
21-
use crate::window::PartitionEvaluator;
2222
use crate::PhysicalExpr;
2323
use arrow::array::{ArrayRef, UInt64Array};
2424
use arrow::datatypes::{DataType, Field};

0 commit comments

Comments
 (0)