pub struct ExactRowSet { /* private fields */ }Expand description
Exact, byte-bounded row-key set that can outlive one physical operator.
Recursive fixpoint evaluation needs duplicate state to survive across
multiple executions of its recursive term. Distinct deliberately
resets its state on every open, so this small public carrier exposes the
same collision-safe memory-to-disk migration without coupling the engine to
the on-disk format.
Implementations§
Source§impl ExactRowSet
impl ExactRowSet
pub fn new(work_mem_bytes: usize) -> Self
pub fn with_spill_directory( work_mem_bytes: usize, directory: impl Into<PathBuf>, ) -> Self
Sourcepub fn insert_row(
&mut self,
row: &ResultRow,
schema: &[String],
) -> ExecResult<bool>
pub fn insert_row( &mut self, row: &ResultRow, schema: &[String], ) -> ExecResult<bool>
Insert the positional values from row in schema order.
Returns true only for the first exact occurrence.
pub fn contains_row( &mut self, row: &ResultRow, schema: &[String], ) -> ExecResult<bool>
Sourcepub fn insert_values(&mut self, values: &[Value]) -> ExecResult<bool>
pub fn insert_values(&mut self, values: &[Value]) -> ExecResult<bool>
Insert an already-positional SQL value key without constructing a named row. The binary encoding is the same collision-safe, cross-numeric representation used by physical DISTINCT.
Sourcepub fn contains_values(&mut self, values: &[Value]) -> ExecResult<bool>
pub fn contains_values(&mut self, values: &[Value]) -> ExecResult<bool>
Probe an already-positional SQL value key without constructing a named row. Disk-backed sets perform an exact full-key comparison.
Sourcepub fn insert_physical(
&mut self,
row: &PhysicalRow,
schema: &RowSchema,
) -> ExecResult<bool>
pub fn insert_physical( &mut self, row: &PhysicalRow, schema: &RowSchema, ) -> ExecResult<bool>
Insert a physical row directly in logical schema order without constructing a named row or cloning its values.
Sourcepub fn contains_physical(
&mut self,
row: &PhysicalRow,
schema: &RowSchema,
) -> ExecResult<bool>
pub fn contains_physical( &mut self, row: &PhysicalRow, schema: &RowSchema, ) -> ExecResult<bool>
Probe a physical row directly in logical schema order without constructing a named row or cloning its values.
pub fn has_spilled(&self) -> bool
pub fn in_memory_key_bytes(&self) -> usize
Auto Trait Implementations§
impl Freeze for ExactRowSet
impl RefUnwindSafe for ExactRowSet
impl Send for ExactRowSet
impl Sync for ExactRowSet
impl Unpin for ExactRowSet
impl UnsafeUnpin for ExactRowSet
impl UnwindSafe for ExactRowSet
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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