Struct lance_table::format::Manifest
source · pub struct Manifest {Show 13 fields
pub schema: Schema,
pub version: u64,
pub writer_version: Option<WriterVersion>,
pub fragments: Arc<Vec<Fragment>>,
pub version_aux_data: usize,
pub index_section: Option<usize>,
pub timestamp_nanos: u128,
pub tag: Option<String>,
pub reader_feature_flags: u64,
pub writer_feature_flags: u64,
pub max_fragment_id: u32,
pub transaction_file: Option<String>,
pub next_row_id: u64,
/* private fields */
}Expand description
Manifest of a dataset
- Schema
- Version
- Fragments.
- Indices.
Fields§
§schema: SchemaDataset schema.
version: u64Dataset version
writer_version: Option<WriterVersion>Version of the writer library that wrote this manifest.
fragments: Arc<Vec<Fragment>>Fragments, the pieces to build the dataset.
version_aux_data: usizeThe file position of the version aux data.
index_section: Option<usize>The file position of the index metadata.
timestamp_nanos: u128The creation timestamp with nanosecond resolution as 128-bit integer
tag: Option<String>An optional string tag for this version
reader_feature_flags: u64The reader flags
writer_feature_flags: u64The writer flags
max_fragment_id: u32The max fragment id used so far
transaction_file: Option<String>The path to the transaction file, relative to the root of the dataset
next_row_id: u64The max row id used so far.
Implementations§
source§impl Manifest
impl Manifest
pub fn new(schema: Schema, fragments: Arc<Vec<Fragment>>) -> Self
pub fn new_from_previous( previous: &Self, schema: Schema, fragments: Arc<Vec<Fragment>>, ) -> Self
sourcepub fn set_timestamp(&mut self, nanos: u128)
pub fn set_timestamp(&mut self, nanos: u128)
Set the timestamp_nanos value from a Utc DateTime
sourcepub fn update_max_fragment_id(&mut self)
pub fn update_max_fragment_id(&mut self)
Check the current fragment list and update the high water mark
sourcepub fn max_fragment_id(&self) -> Option<u64>
pub fn max_fragment_id(&self) -> Option<u64>
Return the max fragment id. Note this does not support recycling of fragment ids.
This will return None if there are no fragments.
sourcepub fn max_field_id(&self) -> i32
pub fn max_field_id(&self) -> i32
Get the max used field id
This is different than Schema::max_field_id because it also considers the field ids in the data files that have been dropped from the schema.
sourcepub fn fragments_since(&self, since: &Self) -> Result<Vec<Fragment>>
pub fn fragments_since(&self, since: &Self) -> Result<Vec<Fragment>>
Return the fragments that are newer than the given manifest. Note this does not support recycling of fragment ids.
Trait Implementations§
source§impl PartialEq for Manifest
impl PartialEq for Manifest
impl StructuralPartialEq for Manifest
Auto Trait Implementations§
impl Freeze for Manifest
impl !RefUnwindSafe for Manifest
impl Send for Manifest
impl Sync for Manifest
impl Unpin for Manifest
impl !UnwindSafe for Manifest
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
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