From e34c98c7f69a559c9cda9b860b2592f6e6a1f433 Mon Sep 17 00:00:00 2001 From: Faiaz Sanaulla Date: Tue, 13 Aug 2024 10:42:39 +0200 Subject: [PATCH 1/4] add clone trait to GetOptions struct --- object_store/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs index 1339d1c011e5..566e6b1e99db 100644 --- a/object_store/src/lib.rs +++ b/object_store/src/lib.rs @@ -911,7 +911,7 @@ pub struct ObjectMeta { } /// Options for a get request, such as range -#[derive(Debug, Default)] +#[derive(Debug, Default, Clone)] pub struct GetOptions { /// Request will succeed if the `ObjectMeta::e_tag` matches /// otherwise returning [`Error::Precondition`] From e1a48d9e56ddca04e68fc2e7712524db5dcdd7b5 Mon Sep 17 00:00:00 2001 From: Faiaz Sanaulla Date: Tue, 13 Aug 2024 10:57:03 +0200 Subject: [PATCH 2/4] fixes --- object_store/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs index 566e6b1e99db..cce9cf2568c0 100644 --- a/object_store/src/lib.rs +++ b/object_store/src/lib.rs @@ -1290,9 +1290,9 @@ impl From for std::io::Error { #[cfg(test)] mod tests { use super::*; - use crate::buffered::BufWriter; + use chrono::TimeZone; - use tokio::io::AsyncWriteExt; + macro_rules! maybe_skip_integration { () => { @@ -1302,7 +1302,7 @@ mod tests { } }; } - pub(crate) use maybe_skip_integration; + /// Test that the returned stream does not borrow the lifetime of Path fn list_store<'a>( From 63885a3df12c2385654602b2b7c9bbc4a3abc204 Mon Sep 17 00:00:00 2001 From: Faiaz Sanaulla Date: Tue, 13 Aug 2024 11:11:59 +0200 Subject: [PATCH 3/4] docs --- object_store/src/lib.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs index cce9cf2568c0..e2745223f02e 100644 --- a/object_store/src/lib.rs +++ b/object_store/src/lib.rs @@ -38,14 +38,11 @@ //! //! # Highlights //! -//! 1. A high-performance async API focused on providing a consistent interface -//! mirroring that of object stores such as [S3] +//! 1. A high-performance async API focused on providing a consistent interface mirroring that of object stores such as [S3] //! -//! 2. Production quality, leading this crate to be used in large -//! scale production systems, such as [crates.io] and [InfluxDB IOx] +//! 2. Production quality, leading this crate to be used in large scale production systems, such as [crates.io] and [InfluxDB IOx] //! -//! 3. Support for advanced functionality, including atomic, conditional reads -//! and writes, vectored IO, bulk deletion, and more... +//! 3. Support for advanced functionality, including atomic, conditional reads and writes, vectored IO, bulk deletion, and more... //! //! 4. Stable and predictable governance via the [Apache Arrow] project //! @@ -97,8 +94,7 @@ //! * All operations are atomic, and readers cannot observe partial and/or failed writes //! * Methods map directly to object store APIs, providing both efficiency and predictability //! * Abstracts away filesystem and operating system specific quirks, ensuring portability -//! * Allows for functionality not native to filesystems, such as operation preconditions -//! and atomic multipart uploads +//! * Allows for functionality not native to filesystems, such as operation preconditions and atomic multipart uploads //! //! This crate does provide [`BufReader`] and [`BufWriter`] adapters //! which provide a more filesystem-like API for working with the From 32f0221f50ca66ccc6b7a5596e50e9618dc5e207 Mon Sep 17 00:00:00 2001 From: Faiaz Sanaulla Date: Tue, 13 Aug 2024 11:18:37 +0200 Subject: [PATCH 4/4] revert some changes --- object_store/src/lib.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs index e2745223f02e..424e715e27ae 100644 --- a/object_store/src/lib.rs +++ b/object_store/src/lib.rs @@ -1286,9 +1286,11 @@ impl From for std::io::Error { #[cfg(test)] mod tests { use super::*; - + use crate::buffered::BufWriter; + use chrono::TimeZone; - + use tokio::io::AsyncWriteExt; + macro_rules! maybe_skip_integration { () => { @@ -1298,7 +1300,7 @@ mod tests { } }; } - + pub(crate) use maybe_skip_integration; /// Test that the returned stream does not borrow the lifetime of Path fn list_store<'a>(