pub struct ResultSet {
pub(super) slots: Vec<Arc<VolumeSlot>>,
pub(super) structural: Vec<u64>,
pub(super) rows: Vec<(u32, EntryId)>,
}Expand description
Materialized, sort-ordered result. Pages are O(1) slices; reads stay
valid across content mutations and fail with Stale only after a
structural change (compaction/rescan).
Fields§
§slots: Vec<Arc<VolumeSlot>>§structural: Vec<u64>§rows: Vec<(u32, EntryId)>Implementations§
Source§impl ResultSet
impl ResultSet
Sourcepub fn fill_page(
&self,
offset: usize,
count: usize,
) -> Result<(Vec<FmfRow>, Vec<u8>), EngineError>
pub fn fill_page( &self, offset: usize, count: usize, ) -> Result<(Vec<FmfRow>, Vec<u8>), EngineError>
Builds the shared page representation — 48-byte contract rows plus
one string blob, offsets blob-relative — the single implementation
behind both the FFI FmfPage and the pipe ResultPage payload
(ADR-0018). Blob layout: per row, name bytes then parent bytes, in
row order (the canonical layout the golden corpus pins).
§Errors
Returns EngineError::Stale if the underlying index changed since
this result set was produced (the handle is stale).
Sourcepub fn page(&self, offset: usize, count: usize) -> Result<Vec<Row>, EngineError>
pub fn page(&self, offset: usize, count: usize) -> Result<Vec<Row>, EngineError>
Materialize [offset, offset + count) of the result into owned rows.
§Errors
Returns EngineError::Stale if any backing volume index changed
since this result set was produced (the handle is stale).
Auto Trait Implementations§
impl Freeze for ResultSet
impl !RefUnwindSafe for ResultSet
impl Send for ResultSet
impl Sync for ResultSet
impl Unpin for ResultSet
impl UnsafeUnpin for ResultSet
impl !UnwindSafe for ResultSet
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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