pub struct SsTable {
pub generation: u64,
pub path: String,
pub in_memory_bytes: Option<u64>,
pub physical_rows: Option<u64>,
pub primary_key_bytes: Option<u64>,
}Expand description
An SSTable: the immutable result of flushing a MemTable, stored as a Lance dataset.
Fields§
§generation: u64Generation number identifying this SSTable.
path: StringDirectory name relative to the shard directory.
in_memory_bytes: Option<u64>Payload size of the rows, as the writer’s MemTable accounted for them: the sum over its buffers of the window each one holds.
An estimate of the payload, not a bound on what reading the SSTable costs. It excludes the per-array structure a reader materializes, so a consumer budgeting memory from it must add its own headroom.
Absent on an SSTable written before this field existed, so a reader must not read a missing value as zero. The same applies to the two below.
physical_rows: Option<u64>Rows held, counting the older duplicates of a primary key that the generation’s deletion vector masks. A scan that applies the deletion vector yields fewer.
primary_key_bytes: Option<u64>Total payload size of the primary-key columns, summed over every row in
physical_rows. Not a per-row size: a variable-length key differs from row
to row, and a consumer wanting a mean divides by the row count.
Accounted the same way as in_memory_bytes, so the same caveat applies –
it is not the size of any encoded form of the key, such as a comparable
byte-ordered encoding a reader might build for sorting or deduplication.
Absent also on a table with no primary key.
Implementations§
Source§impl SsTable
impl SsTable
Sourcepub fn in_memory_bytes(&self) -> u64
pub fn in_memory_bytes(&self) -> u64
Returns the value of in_memory_bytes, or the default value if in_memory_bytes is unset.
Sourcepub fn physical_rows(&self) -> u64
pub fn physical_rows(&self) -> u64
Returns the value of physical_rows, or the default value if physical_rows is unset.
Sourcepub fn primary_key_bytes(&self) -> u64
pub fn primary_key_bytes(&self) -> u64
Returns the value of primary_key_bytes, or the default value if primary_key_bytes is unset.
Trait Implementations§
impl Eq for SsTable
Source§impl Message for SsTable
impl Message for SsTable
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 SsTable
impl Name for SsTable
Source§const NAME: &'static str = "SsTable"
const NAME: &'static str = "SsTable"
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 SsTable
Auto Trait Implementations§
impl Freeze for SsTable
impl RefUnwindSafe for SsTable
impl Send for SsTable
impl Sync for SsTable
impl Unpin for SsTable
impl UnsafeUnpin for SsTable
impl UnwindSafe for SsTable
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<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