[package]
name = "datafusion-physical-expr"
description = "Physical expression implementation for DataFusion query engine"
keywords = ["arrow", "query", "sql"]
readme = "README.md"
version = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
license = { workspace = true }
authors = { workspace = true }
rust-version = { workspace = true }
[lints]
workspace = true
[lib]
name = "datafusion_physical_expr"
path = "src/lib.rs"
[features]
default = [
"regex_expressions",
"encoding_expressions",
]
encoding_expressions = ["base64", "hex"]
regex_expressions = ["regex"]
[dependencies]
ahash = { workspace = true }
arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-buffer = { workspace = true }
arrow-ord = { workspace = true }
arrow-schema = { workspace = true }
arrow-string = { workspace = true }
base64 = { version = "0.22", optional = true }
chrono = { workspace = true }
datafusion-common = { workspace = true, default-features = true }
datafusion-execution = { workspace = true }
datafusion-expr = { workspace = true }
datafusion-physical-expr-common = { workspace = true }
half = { workspace = true }
hashbrown = { workspace = true }
hex = { version = "0.4", optional = true }
indexmap = { workspace = true }
itertools = { workspace = true, features = ["use_std"] }
log = { workspace = true }
paste = "^1.0"
petgraph = "0.6.2"
regex = { workspace = true, optional = true }
[dev-dependencies]
arrow = { workspace = true, features = ["test_utils"] }
criterion = "0.5"
rand = { workspace = true }
rstest = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
[[bench]]
harness = false
name = "in_list"
[[bench]]
harness = false
name = "case_when"
[[bench]]
harness = false
name = "is_null"