Skip to content
Draft
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
107 changes: 52 additions & 55 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,11 @@ testcontainers-modules = { version = "0.13" }
tokio = { version = "1.48", features = ["macros", "rt", "sync"] }
url = "2.5.7"

# Temporary override: pull apache-avro from upstream to include unreleased fixes.
# TODO: remove once the next version of apache-avro is published to crates.io and includes commit 3b202c5.
[patch.crates-io]
apache-avro = { git = "https://github.com/apache/avro-rs", rev = "3b202c58f12bd1217eccf8a0028e4176ee4aadf9" }
Comment on lines +186 to +189
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to see if a new proper release of apache-avro can be shipped to crates.io in order to let this just be a normal dependency. There seems to be a PR that tries to do this already #17509.

I see that @timsaucer moved apache-avro from xz2 to libzma here apache/avro-rs@3b202c5 (10 Sep).

If https://github.com/apache/avro-rs in fact follows a 2 month release cadence, we should be seeing a new version on crates.io very soon (last release was 25 Aug, 2 months and 3 days ago)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opened a ticket there apache/avro-rs#323


[workspace.lints.clippy]
# Detects large stack-allocated futures that may cause stack overflow crashes (see threshold in clippy.toml)
large_futures = "warn"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ This crate has several [features] which can be specified in your `Cargo.toml`.
Default features:

- `nested_expressions`: functions for working with nested type function such as `array_to_string`
- `compression`: reading files compressed with `xz2`, `bzip2`, `flate2`, and `zstd`
- `compression`: reading files compressed with `liblzma`, `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
Expand Down
4 changes: 2 additions & 2 deletions datafusion/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ array_expressions = ["nested_expressions"]
avro = ["datafusion-common/avro", "datafusion-datasource-avro"]
backtrace = ["datafusion-common/backtrace"]
compression = [
"xz2",
"liblzma",
"bzip2",
"flate2",
"zstd",
Expand Down Expand Up @@ -143,6 +143,7 @@ datafusion-sql = { workspace = true, optional = true }
flate2 = { version = "1.1.4", optional = true }
futures = { workspace = true }
itertools = { workspace = true }
liblzma = { version = "0.4.4", optional = true, features = ["static"] }
log = { workspace = true }
object_store = { workspace = true }
parking_lot = { workspace = true }
Expand All @@ -156,7 +157,6 @@ tempfile = { workspace = true }
tokio = { workspace = true }
url = { workspace = true }
uuid = { version = "1.18", features = ["v4", "js"] }
xz2 = { version = "0.1", optional = true, features = ["static"] }
zstd = { version = "0.13", optional = true, default-features = false }

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion datafusion/core/src/test/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ use flate2::write::GzEncoder;
use flate2::Compression as GzCompression;
use object_store::local_unpartitioned_file;
#[cfg(feature = "compression")]
use xz2::write::XzEncoder;
use liblzma::write::XzEncoder;
#[cfg(feature = "compression")]
use zstd::Encoder as ZstdEncoder;

Expand Down
6 changes: 3 additions & 3 deletions datafusion/datasource/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ version.workspace = true
all-features = true

[features]
compression = ["async-compression", "xz2", "bzip2", "flate2", "zstd", "tokio-util"]
compression = ["async-compression", "liblzma", "bzip2", "flate2", "zstd", "tokio-util"]
default = ["compression"]

[dependencies]
arrow = { workspace = true }
async-compression = { version = "0.4.19", features = [
async-compression = { version = "0.4.32", features = [
"bzip2",
"gzip",
"xz",
Expand All @@ -60,14 +60,14 @@ flate2 = { version = "1.1.4", optional = true }
futures = { workspace = true }
glob = "0.3.0"
itertools = { workspace = true }
liblzma = { version = "0.4.4", optional = true, features = ["static"] }
log = { workspace = true }
object_store = { workspace = true }
rand = { workspace = true }
tempfile = { workspace = true, optional = true }
tokio = { workspace = true }
tokio-util = { version = "0.7.16", features = ["io"], optional = true }
url = { workspace = true }
xz2 = { version = "0.1", optional = true, features = ["static"] }
zstd = { version = "0.13", optional = true, default-features = false }

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion datafusion/datasource/src/file_compression_type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ use tokio::io::AsyncWrite;
#[cfg(feature = "compression")]
use tokio_util::io::{ReaderStream, StreamReader};
#[cfg(feature = "compression")]
use xz2::read::XzDecoder;
use liblzma::read::XzDecoder;
#[cfg(feature = "compression")]
use zstd::Decoder as ZstdDecoder;

Expand Down