pub enum RowDatasetVersionMeta {
Inline(Arc<[u8]>),
Column,
}Expand description
Metadata about the location of dataset version sequence data Following the same pattern as RowIdMeta
When stored inline, identical byte sequences are shared across fragments
via Arc<[u8]> to reduce manifest memory for large tables.
Variants§
Inline(Arc<[u8]>)
Small sequences stored inline in the fragment metadata
Column
The sequence is spilled to a hidden column of one of the fragment’s
data files, one version per physical row in offset order, at
ROW_CREATED_AT_VERSION_FIELD_ID
or
ROW_LAST_UPDATED_AT_VERSION_FIELD_ID
depending on which sequence this is; see
Fragment::row_lineage_file.
Reading it needs IO, so it goes through the dataset’s loader rather
than Self::load_sequence.
Implementations§
Source§impl RowDatasetVersionMeta
impl RowDatasetVersionMeta
Sourcepub fn from_sequence(sequence: &RowDatasetVersionSequence) -> Result<Self>
pub fn from_sequence(sequence: &RowDatasetVersionSequence) -> Result<Self>
Create inline metadata from a version sequence
Sourcepub fn load_sequence(&self) -> Result<RowDatasetVersionSequence>
pub fn load_sequence(&self) -> Result<RowDatasetVersionSequence>
Decode the version sequence stored inline in this metadata.
A sequence stored outside the manifest needs IO to read, which this synchronous accessor cannot do; it is an error here and is loaded through the dataset instead.
Trait Implementations§
Source§impl Clone for RowDatasetVersionMeta
impl Clone for RowDatasetVersionMeta
Source§impl Debug for RowDatasetVersionMeta
impl Debug for RowDatasetVersionMeta
Source§impl DeepSizeOf for RowDatasetVersionMeta
impl DeepSizeOf for RowDatasetVersionMeta
fn deep_size_of_children(&self, __context: &mut Context) -> usize
fn deep_size_of(&self) -> usize
Source§impl<'de> Deserialize<'de> for RowDatasetVersionMeta
impl<'de> Deserialize<'de> for RowDatasetVersionMeta
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
impl Eq for RowDatasetVersionMeta
Source§impl PartialEq for RowDatasetVersionMeta
impl PartialEq for RowDatasetVersionMeta
Source§impl Serialize for RowDatasetVersionMeta
impl Serialize for RowDatasetVersionMeta
impl StructuralPartialEq for RowDatasetVersionMeta
Auto Trait Implementations§
impl Freeze for RowDatasetVersionMeta
impl RefUnwindSafe for RowDatasetVersionMeta
impl Send for RowDatasetVersionMeta
impl Sync for RowDatasetVersionMeta
impl Unpin for RowDatasetVersionMeta
impl UnsafeUnpin for RowDatasetVersionMeta
impl UnwindSafe for RowDatasetVersionMeta
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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