Skip to content

Commit 7fde24a

Browse files
authored
minor: Move file compression to datafusion-catalog-listing (#14555)
* move file_compression * old removal * fix taplo * proper format * fix: some Ci * for CI * fix: CI * add compression feature to sqllogictest * fix: CI * cargo lock + toml * proper way of doing things
1 parent 603721d commit 7fde24a

File tree

7 files changed

+24
-19
lines changed

7 files changed

+24
-19
lines changed

Cargo.lock

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ ctor = "0.2.9"
9999
dashmap = "6.0.1"
100100
datafusion = { path = "datafusion/core", version = "45.0.0", default-features = false }
101101
datafusion-catalog = { path = "datafusion/catalog", version = "45.0.0" }
102-
datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "45.0.0" }
102+
datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "45.0.0", default-features = false }
103103
datafusion-common = { path = "datafusion/common", version = "45.0.0", default-features = false }
104104
datafusion-common-runtime = { path = "datafusion/common-runtime", version = "45.0.0" }
105105
datafusion-doc = { path = "datafusion/doc", version = "45.0.0" }

datafusion/catalog-listing/Cargo.toml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ repository.workspace = true
2727
rust-version.workspace = true
2828
version.workspace = true
2929

30+
[features]
31+
compression = ["async-compression", "xz2", "bzip2", "flate2", "zstd", "tokio-util"]
32+
default = ["compression"]
33+
3034
[dependencies]
3135
arrow = { workspace = true }
3236
arrow-schema = { workspace = true }
@@ -37,6 +41,8 @@ async-compression = { version = "0.4.0", features = [
3741
"zstd",
3842
"tokio",
3943
], optional = true }
44+
bytes = { workspace = true }
45+
bzip2 = { version = "0.5.0", optional = true }
4046
chrono = { workspace = true }
4147
datafusion-catalog = { workspace = true }
4248
datafusion-common = { workspace = true, features = ["object_store"] }
@@ -45,17 +51,21 @@ datafusion-expr = { workspace = true }
4551
datafusion-physical-expr = { workspace = true }
4652
datafusion-physical-expr-common = { workspace = true }
4753
datafusion-physical-plan = { workspace = true }
54+
flate2 = { version = "1.0.24", optional = true }
4855
futures = { workspace = true }
4956
glob = "0.3.0"
5057
itertools = { workspace = true }
5158
log = { workspace = true }
5259
object_store = { workspace = true }
60+
tokio = { workspace = true }
61+
tokio-util = { version = "0.7.4", features = ["io"], optional = true }
5362
url = { workspace = true }
63+
xz2 = { version = "0.1", optional = true, features = ["static"] }
64+
zstd = { version = "0.13", optional = true, default-features = false }
5465

5566
[dev-dependencies]
5667
async-trait = { workspace = true }
5768
tempfile = { workspace = true }
58-
tokio = { workspace = true }
5969

6070
[lints]
6171
workspace = true

datafusion/core/src/datasource/file_format/file_compression_type.rs renamed to datafusion/catalog-listing/src/file_compression_type.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
2020
use std::str::FromStr;
2121

22-
use crate::error::{DataFusionError, Result};
22+
use datafusion_common::error::{DataFusionError, Result};
2323

2424
use datafusion_common::parsers::CompressionTypeVariant::{self, *};
2525
use datafusion_common::GetExt;
@@ -254,8 +254,8 @@ pub trait FileTypeExt {
254254
mod tests {
255255
use std::str::FromStr;
256256

257-
use crate::datasource::file_format::file_compression_type::FileCompressionType;
258-
use crate::error::DataFusionError;
257+
use super::FileCompressionType;
258+
use datafusion_common::error::DataFusionError;
259259

260260
use bytes::Bytes;
261261
use futures::StreamExt;

datafusion/catalog-listing/src/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
//! A table that uses the `ObjectStore` listing capability
1919
//! to get the list of files to process.
2020
21+
pub mod file_compression_type;
2122
pub mod file_groups;
2223
pub mod helpers;
2324
pub mod url;

datafusion/core/Cargo.toml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ array_expressions = ["nested_expressions"]
4343
# Used to enable the avro format
4444
avro = ["apache-avro", "num-traits", "datafusion-common/avro"]
4545
backtrace = ["datafusion-common/backtrace"]
46-
compression = ["xz2", "bzip2", "flate2", "zstd", "async-compression", "tokio-util"]
46+
compression = ["xz2", "bzip2", "flate2", "zstd", "datafusion-catalog-listing/compression"]
4747
crypto_expressions = ["datafusion-functions/crypto_expressions"]
4848
datetime_expressions = ["datafusion-functions/datetime_expressions"]
4949
default = [
@@ -87,13 +87,6 @@ apache-avro = { version = "0.17", optional = true }
8787
arrow = { workspace = true }
8888
arrow-ipc = { workspace = true }
8989
arrow-schema = { workspace = true }
90-
async-compression = { version = "0.4.0", features = [
91-
"bzip2",
92-
"gzip",
93-
"xz",
94-
"zstd",
95-
"tokio",
96-
], optional = true }
9790
async-trait = { workspace = true }
9891
bytes = { workspace = true }
9992
bzip2 = { version = "0.5.0", optional = true }
@@ -117,7 +110,6 @@ datafusion-physical-plan = { workspace = true }
117110
datafusion-sql = { workspace = true }
118111
flate2 = { version = "1.0.24", optional = true }
119112
futures = { workspace = true }
120-
glob = "0.3.0"
121113
itertools = { workspace = true }
122114
log = { workspace = true }
123115
num-traits = { version = "0.2", optional = true }
@@ -129,7 +121,6 @@ regex = { workspace = true }
129121
sqlparser = { workspace = true }
130122
tempfile = { workspace = true }
131123
tokio = { workspace = true }
132-
tokio-util = { version = "0.7.4", features = ["io"], optional = true }
133124
url = { workspace = true }
134125
uuid = { version = "1.7", features = ["v4", "js"] }
135126
xz2 = { version = "0.1", optional = true, features = ["static"] }

datafusion/core/src/datasource/file_format/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ pub const DEFAULT_SCHEMA_INFER_MAX_RECORD: usize = 1000;
2424
pub mod arrow;
2525
pub mod avro;
2626
pub mod csv;
27-
pub mod file_compression_type;
2827
pub mod json;
2928
pub mod options;
3029
#[cfg(feature = "parquet")]
3130
pub mod parquet;
3231
pub mod write;
32+
pub use datafusion_catalog_listing::file_compression_type;
3333

3434
use std::any::Any;
3535
use std::collections::{HashMap, VecDeque};

0 commit comments

Comments
 (0)