Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions datafusion/common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ path = "src/lib.rs"
avro = ["apache-avro"]
default = []
jit = ["cranelift-module"]
optimizer_failed_rules = []
pyarrow = ["pyo3", "arrow/pyarrow"]

[dependencies]
Expand Down
1 change: 1 addition & 0 deletions datafusion/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ default = ["crypto_expressions", "regex_expressions", "unicode_expressions"]
force_hash_collisions = []
# Used to enable JIT code generation
jit = ["datafusion-jit", "datafusion-row/jit"]
optimizer_failed_rules = []
pyarrow = ["pyo3", "arrow/pyarrow", "datafusion-common/pyarrow"]
regex_expressions = ["datafusion-physical-expr/regex_expressions"]
# Used to enable scheduler
Expand Down
6 changes: 6 additions & 0 deletions datafusion/core/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,11 +237,17 @@ impl BuiltInConfigs {
to reduce the number of rows decoded.",
false,
),
// By default tests run with ignoring optimizer errors. To make errors visible need to run the project
// with enabled 'optimizer_failed_rules' configuration
// cargo test --features "optimizer_failed_rules"
ConfigDefinition::new_bool(
OPT_OPTIMIZER_SKIP_FAILED_RULES,
"When set to true, the logical plan optimizer will produce warning \
messages if any optimization rules produce errors and then proceed to the next \
rule. When set to false, any rules that produce errors will cause the query to fail.",
#[cfg(feature = "optimizer_failed_rules")]
false,
#[cfg(not(feature = "optimizer_failed_rules"))]
true
),
ConfigDefinition::new_u64(
Expand Down
1 change: 1 addition & 0 deletions datafusion/expr/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ name = "datafusion_expr"
path = "src/lib.rs"

[features]
optimizer_failed_rules = []

[dependencies]
ahash = { version = "0.8", default-features = false, features = ["runtime-rng"] }
Expand Down
1 change: 1 addition & 0 deletions datafusion/optimizer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ path = "src/lib.rs"

[features]
default = ["unicode_expressions"]
optimizer_failed_rules = []
unicode_expressions = []

[dependencies]
Expand Down
1 change: 1 addition & 0 deletions datafusion/physical-expr/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ path = "src/lib.rs"
[features]
crypto_expressions = ["md-5", "sha2", "blake2", "blake3"]
default = ["crypto_expressions", "regex_expressions", "unicode_expressions"]
optimizer_failed_rules = []
regex_expressions = ["regex"]
unicode_expressions = ["unicode-segmentation"]

Expand Down
1 change: 1 addition & 0 deletions datafusion/row/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ path = "src/lib.rs"
[features]
# Used to enable JIT code generation
jit = ["datafusion-jit"]
optimizer_failed_rules = []

[dependencies]
arrow = "25.0.0"
Expand Down
1 change: 1 addition & 0 deletions datafusion/sql/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ path = "src/lib.rs"

[features]
default = ["unicode_expressions"]
optimizer_failed_rules = []
unicode_expressions = []

[dependencies]
Expand Down