-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Consolidate feature flags into configuration guide #14657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
57e0f39
e60db0c
705e180
fbcece9
df190ad
6654168
49b8cf5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -25,7 +25,47 @@ control DataFusion's behavior. | |||
|
|
||||
| [configuration settings]: configs.md | ||||
|
|
||||
| ## Add latest non published DataFusion dependency | ||||
| ## Crate features | ||||
|
|
||||
| The `datafusion` crate has several [features] which can be specified in your `Cargo.toml`. For example | ||||
| to enable support for `avro` you can put the following in your `Cargo.toml`: | ||||
|
|
||||
| ```toml | ||||
| datafusion = { version = "45", features = ["avro"] } | ||||
| ``` | ||||
|
|
||||
| [features]: https://doc.rust-lang.org/cargo/reference/features.html | ||||
|
|
||||
| You can always check the [Cargo.toml] file for the most up to date list of features. | ||||
|
|
||||
| [cargo.toml]: https://github.com/apache/datafusion/blob/main/datafusion/core/Cargo.toml#L39 | ||||
|
|
||||
| ### Default features: | ||||
|
|
||||
| - `compression`: reading files compressed with `xz2`, `bzip2`, `flate2`, and `zstd` | ||||
| - `crypto_expressions`: cryptographic functions such as `md5` and `sha256` | ||||
| - `datetime_expressions`: date and time functions such as `to_timestamp` | ||||
| - `encoding_expressions`: `encode` and `decode` functions | ||||
| - `math_expressions`: `sqrt` and other math functions | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This doesn't appear to be in the defaults list here: datafusion/datafusion/core/Cargo.toml Line 49 in 40bb75f
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That was an excellent call. I fixed it in df190ad However, I think since the subcrates already have their own default features, it is likely not possible to remove these various functon packages 🤔 maybe we should fix that in a following issue |
||||
| - `nested_expressions`: functions for working with nested type function such as `array_to_string` | ||||
| - `parquet`: support for reading the [Apache Parquet] format | ||||
| - `string_expressions`: string functions such as `concat` | ||||
| - `recursive_protection`: uses [recursive](https://docs.rs/recursive/latest/recursive/) for stack overflow protection. | ||||
| - `regex_expressions`: regular expression functions, such as `regexp_match` | ||||
| - `unicode_expressions`: Include unicode aware functions such as `character_length` | ||||
| - `unparser`: enables support to reverse LogicalPlans back into SQL | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This doesn't appear to be in the defaults list here: datafusion/datafusion/core/Cargo.toml Line 49 in 40bb75f
|
||||
|
|
||||
| ### Optional features: | ||||
|
|
||||
| - `avro`: support for reading the [Apache Avro] format | ||||
| - `backtrace`: include backtrace information in error messages | ||||
| - `pyarrow`: conversions between PyArrow and DataFusion types | ||||
| - `serde`: enable arrow-schema's `serde` feature | ||||
|
|
||||
| [apache avro]: https://avro.apache.org/ | ||||
| [apache parquet]: https://parquet.apache.org/ | ||||
|
|
||||
| ## Use latest non published DataFusion dependency | ||||
|
|
||||
| DataFusion changes are published to `crates.io` according to the [release schedule](https://github.com/apache/datafusion/blob/main/dev/release/README.md#release-process) | ||||
|
|
||||
|
|
||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There were also a few missing items here