pub struct Manifest {Show 20 fields
pub fields: Vec<Field>,
pub schema_metadata: HashMap<String, Vec<u8>>,
pub fragments: Vec<DataFragment>,
pub version: u64,
pub version_aux_data: u64,
pub writer_version: Option<WriterVersion>,
pub index_section: Option<u64>,
pub timestamp: Option<Timestamp>,
pub tag: String,
pub reader_feature_flags: u64,
pub writer_feature_flags: u64,
pub max_fragment_id: Option<u32>,
pub transaction_file: String,
pub next_row_id: u64,
pub data_format: Option<DataStorageFormat>,
pub config: HashMap<String, String>,
pub table_metadata: HashMap<String, String>,
pub blob_dataset_version: u64,
pub base_paths: Vec<BasePath>,
pub branch: Option<String>,
}Expand description
Manifest is a global section shared between all the files.
Fields§
§fields: Vec<Field>All fields of the dataset, including the nested fields.
schema_metadata: HashMap<String, Vec<u8>>Schema metadata.
fragments: Vec<DataFragment>Fragments of the dataset.
version: u64Snapshot version number.
version_aux_data: u64The file position of the version auxiliary data.
- It is not inheritable between versions.
- It is not loaded by default during query.
writer_version: Option<WriterVersion>The version of the writer that created this file.
This information may be used to detect whether the file may have known bugs associated with that writer.
index_section: Option<u64>If present, the file position of the index metadata.
timestamp: Option<Timestamp>Version creation Timestamp, UTC timezone
tag: StringOptional version tag
reader_feature_flags: u64Feature flags for readers.
A bitmap of flags that indicate which features are required to be able to read the table. If a reader does not recognize a flag that is set, it should not attempt to read the dataset.
Known flags:
- 1: deletion files are present
- 2: row ids are stable and stored as part of the fragment metadata.
- 4: use v2 format (deprecated)
- 8: table config is present
writer_feature_flags: u64Feature flags for writers.
A bitmap of flags that indicate which features must be used when writing to the dataset. If a writer does not recognize a flag that is set, it should not attempt to write to the dataset.
The flag identities are the same as for reader_feature_flags, but the values of reader_feature_flags and writer_feature_flags are not required to be identical.
max_fragment_id: Option<u32>The highest fragment ID that has been used so far.
This ID is not guaranteed to be present in the current version, but it may have been used in previous versions.
For a single fragment, will be zero. For no fragments, will be absent.
transaction_file: StringPath to the transaction file, relative to {root}/_transactions. The file at that
location contains a wire-format serialized Transaction message representing the
transaction that created this version.
This string field “transaction_file” may be empty if no transaction file was written.
The path format is “{read_version}-{uuid}.txn” where {read_version} is the version of the table the transaction read from (serialized to decimal with no padding digits), and {uuid} is a hyphen-separated UUID.
next_row_id: u64The next unused row id. If zero, then the table does not have any rows.
This is only used if the “stable_row_ids” feature flag is set.
data_format: Option<DataStorageFormat>The data storage format
This specifies what format is used to store the data files.
config: HashMap<String, String>Table config.
Keys with the prefix “lance.” are reserved for the Lance library. Other libraries may wish to similarly prefix their configuration keys appropriately.
table_metadata: HashMap<String, String>Metadata associated with the table.
This is a key-value map that can be used to store arbitrary metadata associated with the table.
This is different than configuration, which is used to tell libraries how to read, write, or manage the table.
This is different than schema metadata, which is used to describe the data itself and is attached to the output schema of scans.
blob_dataset_version: u64The version of the blob dataset associated with this table. Changes to blob fields will modify the blob dataset and update this version in the parent table.
If this value is 0 then there are no blob fields.
base_paths: Vec<BasePath>The base paths of data files.
This is used to determine the base path of a data file. In common cases data file paths are under current dataset base path.
But for shallow cloning, importing file and other multi-tier storage cases, the actual data files could be outside of the current dataset.
This field is used with the base_id in lance.file.File and lance.file.DeletionFile.
For example, if we have a dataset with base path s3://bucket/dataset, we have a DataFile with base_id 0, we get the actual data file path by:
base_paths[id = 0] + /data/ + file.path
the key(a.k.a index) starts from 0, increased by 1 for each new base path.
branch: Option<String>The branch of the dataset. None means main branch.
Implementations§
Source§impl Manifest
impl Manifest
Sourcepub fn index_section(&self) -> u64
pub fn index_section(&self) -> u64
Returns the value of index_section, or the default value if index_section is unset.
Sourcepub fn max_fragment_id(&self) -> u32
pub fn max_fragment_id(&self) -> u32
Returns the value of max_fragment_id, or the default value if max_fragment_id is unset.
Trait Implementations§
Source§impl Message for Manifest
impl Message for Manifest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl Name for Manifest
impl Name for Manifest
Source§const NAME: &'static str = "Manifest"
const NAME: &'static str = "Manifest"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "lance.table"
const PACKAGE: &'static str = "lance.table"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.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> 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