pub struct InMemoryFragmentExecutor { /* private fields */ }Expand description
Reference FragmentExecutor over an InMemoryTableStore. Interprets
scans, projections, partial aggregates, local merge sorts, bounded local
top-ks (with exact tie information), and limits for real; exchange
sources drain their input streams; join operators reject (their execution
binding lands with the tablet wave — plan shape is fully tested).
Implementations§
Source§impl InMemoryFragmentExecutor
impl InMemoryFragmentExecutor
Sourcepub fn new(store: Arc<InMemoryTableStore>) -> Self
pub fn new(store: Arc<InMemoryTableStore>) -> Self
An executor over store that emits up to k top-k rows locally.
Sourcepub fn with_topk_emit_batch(
store: Arc<InMemoryTableStore>,
batch: usize,
) -> Self
pub fn with_topk_emit_batch( store: Arc<InMemoryTableStore>, batch: usize, ) -> Self
Bounds the local top-k emission batch (refill exerciser).
Trait Implementations§
Source§impl FragmentExecutor for InMemoryFragmentExecutor
impl FragmentExecutor for InMemoryFragmentExecutor
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
fragment: &'life1 PlanFragment,
inputs: Vec<FragmentStream>,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<FragmentStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
fragment: &'life1 PlanFragment,
inputs: Vec<FragmentStream>,
control: FragmentControl,
) -> Pin<Box<dyn Future<Output = DistributedResult<FragmentStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Runs the fragment.
inputs carries one resolved stream per
FragmentOperator::RemoteExchangeSource operator, in operator order.Source§fn refill_top_k(
&self,
fragment: &PlanFragment,
offset: usize,
limit: usize,
) -> DistributedResult<TopKRefill>
fn refill_top_k( &self, fragment: &PlanFragment, offset: usize, limit: usize, ) -> DistributedResult<TopKRefill>
Returns the next
limit local top-k candidates after offset (the
number already returned), with a tightened unseen bound. Executors
without scored streams leave the default, which rejects.Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryFragmentExecutor
impl !UnwindSafe for InMemoryFragmentExecutor
impl Freeze for InMemoryFragmentExecutor
impl Send for InMemoryFragmentExecutor
impl Sync for InMemoryFragmentExecutor
impl Unpin for InMemoryFragmentExecutor
impl UnsafeUnpin for InMemoryFragmentExecutor
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more