pub struct TagManager { /* private fields */ }Expand description
Manager for tag files using unified FileIO.
Tags are named snapshots stored as JSON files at {table_path}/tag/tag-{name}.
The tag file format is identical to a Snapshot JSON file.
Reference: org.apache.paimon.utils.TagManager
Implementations§
Source§impl TagManager
impl TagManager
pub fn new(file_io: FileIO, table_path: String) -> Self
Sourcepub fn tag_directory(&self) -> String
pub fn tag_directory(&self) -> String
Path to the tag directory (e.g. table_path/tag).
Sourcepub fn with_branch(&self, branch_name: &str) -> Self
pub fn with_branch(&self, branch_name: &str) -> Self
Create a TagManager for a branch of this table.
Sourcepub fn tag_path(&self, tag_name: &str) -> String
pub fn tag_path(&self, tag_name: &str) -> String
Path to the tag file for the given name (e.g. tag/tag-my_tag).
Sourcepub async fn tag_exists(&self, tag_name: &str) -> Result<bool>
pub async fn tag_exists(&self, tag_name: &str) -> Result<bool>
Check if a tag exists.
Sourcepub async fn get(&self, tag_name: &str) -> Result<Option<Snapshot>>
pub async fn get(&self, tag_name: &str) -> Result<Option<Snapshot>>
Get the snapshot for a tag, or None if the tag file does not exist.
Tag files are JSON with the same schema as Snapshot. Reads directly and catches NotFound to avoid a separate exists() IO round-trip.
Sourcepub async fn list_all_names(&self) -> Result<Vec<String>>
pub async fn list_all_names(&self) -> Result<Vec<String>>
List all tag names sorted ascending. Returns an empty vector when the tag directory does not exist.
Trait Implementations§
Source§impl Clone for TagManager
impl Clone for TagManager
Source§fn clone(&self) -> TagManager
fn clone(&self) -> TagManager
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TagManager
impl !UnwindSafe for TagManager
impl Freeze for TagManager
impl Send for TagManager
impl Sync for TagManager
impl Unpin for TagManager
impl UnsafeUnpin for TagManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreimpl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSend for Twhere
T: Send,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.