pub struct TaggedRewriteAssembly {
pub entry: IndexMetadata,
pub base_entry_version: Option<u64>,
pub reordered_sources: RoaringBitmap,
}Expand description
What the commit path assembled for a rewrite on a tagged fragment reuse
history: the complete entry to install, merged against the manifest the
commit attempt builds on. Supplied through
FragReuseUpdate::Rewrite on the
prepared index list once per attempt, while the operation’s
frag_reuse_index stays what the caller supplied, so every retry works
from the same intent.
Fields§
§entry: IndexMetadataThe entry to install, assembled against the manifest being built.
base_entry_version: Option<u64>dataset_version of the entry the assembly appended onto (None
when this rewrite creates the entry). The manifest build refuses the
splice when the manifest’s entry is a different one.
reordered_sources: RoaringBitmapThe source fragments of the transitions this rewrite appended. Their rewrite groups redistribute rows, so index bitmaps keep the retired source ids as provenance instead of following the rewrite.
Implementations§
Source§impl TaggedRewriteAssembly
impl TaggedRewriteAssembly
Sourcepub fn new(
entry: IndexMetadata,
base_entry_version: Option<u64>,
transitions: &[Transition],
) -> Result<Self>
pub fn new( entry: IndexMetadata, base_entry_version: Option<u64>, transitions: &[Transition], ) -> Result<Self>
Bundle an assembled entry with the transitions it appended.
Trait Implementations§
Source§impl Clone for TaggedRewriteAssembly
impl Clone for TaggedRewriteAssembly
Auto Trait Implementations§
impl Freeze for TaggedRewriteAssembly
impl RefUnwindSafe for TaggedRewriteAssembly
impl Send for TaggedRewriteAssembly
impl Sync for TaggedRewriteAssembly
impl Unpin for TaggedRewriteAssembly
impl UnsafeUnpin for TaggedRewriteAssembly
impl UnwindSafe for TaggedRewriteAssembly
Blanket Implementations§
impl<T> Allocation for T
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
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> ⓘ
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> ⓘ
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 more