pub struct RingBufferScan { /* private fields */ }Implementations§
Source§impl RingBufferScan
impl RingBufferScan
pub fn new( ringbuffer: ResolvedRingBuffer, context: Arc<QueryContext>, rx: &mut Transaction<'_>, ) -> Result<Self>
Trait Implementations§
Source§impl QueryNode for RingBufferScan
impl QueryNode for RingBufferScan
Source§fn initialize<'a>(
&mut self,
txn: &mut Transaction<'a>,
ctx: &QueryContext,
) -> Result<()>
fn initialize<'a>( &mut self, txn: &mut Transaction<'a>, ctx: &QueryContext, ) -> Result<()>
Initialize the operator with execution context
Called once before iteration begins
Source§fn next<'a>(
&mut self,
txn: &mut Transaction<'a>,
_ctx: &mut QueryContext,
) -> Result<Option<Columns>>
fn next<'a>( &mut self, txn: &mut Transaction<'a>, _ctx: &mut QueryContext, ) -> Result<Option<Columns>>
Get the next batch of results (volcano iterator pattern)
Returns None when exhausted
Source§fn headers(&self) -> Option<ColumnHeaders>
fn headers(&self) -> Option<ColumnHeaders>
Get the headers of columns this node produces
Source§fn set_scan_limit(&mut self, limit: usize)
fn set_scan_limit(&mut self, limit: usize)
Hint the maximum number of rows this scan needs to produce.
Scan operators override this to cap their batch size.
Non-scan operators ignore it (default no-op).
Source§fn next_lazy<'a>(
&mut self,
_rx: &mut Transaction<'a>,
_ctx: &mut QueryContext,
) -> Result<Option<LazyBatch>>
fn next_lazy<'a>( &mut self, _rx: &mut Transaction<'a>, _ctx: &mut QueryContext, ) -> Result<Option<LazyBatch>>
Get the next batch as a LazyBatch for deferred materialization
Returns None if this node doesn’t support lazy evaluation or is exhausted
Default implementation returns None (falls back to materialized evaluation)
Auto Trait Implementations§
impl Freeze for RingBufferScan
impl !RefUnwindSafe for RingBufferScan
impl Send for RingBufferScan
impl Sync for RingBufferScan
impl Unpin for RingBufferScan
impl UnsafeUnpin for RingBufferScan
impl !UnwindSafe for RingBufferScan
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
Mutably borrows from an owned value. Read more
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request