[package]
name = "datafusion-optimizer"
description = "DataFusion Query Optimizer"
keywords = ["datafusion", "query", "optimizer"]
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 }
[package.metadata.docs.rs]
all-features = true
[lints]
workspace = true
[lib]
name = "datafusion_optimizer"
[features]
recursive_protection = ["dep:recursive"]
[dependencies]
arrow = { workspace = true }
chrono = { workspace = true }
datafusion-common = { workspace = true, default-features = true }
datafusion-expr = { workspace = true }
datafusion-physical-expr = { workspace = true }
indexmap = { workspace = true }
itertools = { workspace = true }
log = { workspace = true }
recursive = { workspace = true, optional = true }
regex = { workspace = true }
regex-syntax = "0.8.0"
[dev-dependencies]
async-trait = { workspace = true }
criterion = { workspace = true }
ctor = { workspace = true }
datafusion-functions-aggregate = { workspace = true }
datafusion-functions-window = { workspace = true }
datafusion-functions-window-common = { workspace = true }
datafusion-sql = { workspace = true }
env_logger = { workspace = true }
insta = { workspace = true }
[[bench]]
name = "projection_unnecessary"
harness = false