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<Path, 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<Path, 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,
Source§fn resolve_latest_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'life2 ObjectStore,
) -> Pin<Box<dyn Future<Output = Result<Path, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_latest_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'life2 ObjectStore,
) -> Pin<Box<dyn Future<Output = Result<Path, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get the path to the latest version manifest of a dataset at the base_path
fn resolve_latest_version_id<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'life2 ObjectStore,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn resolve_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
version: u64,
object_store: &'life2 dyn OSObjectStore,
) -> Pin<Box<dyn Future<Output = Result<Path, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
version: u64,
object_store: &'life2 dyn OSObjectStore,
) -> Pin<Box<dyn Future<Output = Result<Path, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get the path to a specific versioned manifest of a dataset at the base_path Read more
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_manifests<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'a dyn OSObjectStore,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'a, Result<Path>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_manifests<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
base_path: &'life1 Path,
object_store: &'a dyn OSObjectStore,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'a, Result<Path>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List manifests that are available for a dataset at the base_path
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.