pub struct RenameCommitHandler;
Expand description
A commit implementation that uses a temporary path and renames the object.
This only works for object stores that support atomic rename if not exist.
Trait Implementations§
Source§impl CommitHandler for RenameCommitHandler
impl CommitHandler for RenameCommitHandler
Source§fn commit<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
manifest: &'life1 mut Manifest,
indices: Option<Vec<Index>>,
base_path: &'life2 Path,
object_store: &'life3 ObjectStore,
manifest_writer: ManifestWriter,
naming_scheme: ManifestNamingScheme,
) -> Pin<Box<dyn Future<Output = Result<ManifestLocation, CommitError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn commit<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
manifest: &'life1 mut Manifest,
indices: Option<Vec<Index>>,
base_path: &'life2 Path,
object_store: &'life3 ObjectStore,
manifest_writer: ManifestWriter,
naming_scheme: ManifestNamingScheme,
) -> Pin<Box<dyn Future<Output = Result<ManifestLocation, CommitError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Commit a manifest. Read more
fn resolve_latest_location<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'life2 ObjectStore,
) -> Pin<Box<dyn Future<Output = Result<ManifestLocation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_version_location<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
version: u64,
object_store: &'life2 dyn OSObjectStore,
) -> Pin<Box<dyn Future<Output = Result<ManifestLocation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn list_manifest_locations<'a>(
&self,
base_path: &Path,
object_store: &'a ObjectStore,
sorted_descending: bool,
) -> BoxStream<'a, Result<ManifestLocation>>
fn list_manifest_locations<'a>( &self, base_path: &Path, object_store: &'a ObjectStore, sorted_descending: bool, ) -> BoxStream<'a, Result<ManifestLocation>>
If
sorted_descending
is true
, the stream will yield manifests in descending
order of version. When the object store has a lexicographically
ordered list and the naming scheme is V2, this will use an optimized
list operation. Otherwise, it will list all manifests and sort them
in memory. When sorted_descending
is false
, the stream will yield manifests
in arbitrary order.Auto Trait Implementations§
impl Freeze for RenameCommitHandler
impl RefUnwindSafe for RenameCommitHandler
impl Send for RenameCommitHandler
impl Sync for RenameCommitHandler
impl Unpin for RenameCommitHandler
impl UnwindSafe for RenameCommitHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.