Type Alias AppendOnlyTopNExecutor

Source
pub type AppendOnlyTopNExecutor<S, const WITH_TIES: bool> = TopNExecutorWrapper<InnerAppendOnlyTopNExecutor<S, WITH_TIES>>;
Expand description

If the input is append-only, AppendOnlyGroupTopNExecutor does not need to keep all the rows seen. As long as a record is no longer in the result set, it can be deleted.

TODO: Optimization: primary key may contain several columns and is used to determine the order, therefore the value part should not contain the same columns to save space.

Aliased Type§

pub struct AppendOnlyTopNExecutor<S, const WITH_TIES: bool> {
    pub(super) input: Executor,
    pub(super) ctx: Arc<ActorContext>,
    pub(super) inner: InnerAppendOnlyTopNExecutor<S, WITH_TIES>,
}

Fields§

§input: Executor§ctx: Arc<ActorContext>§inner: InnerAppendOnlyTopNExecutor<S, WITH_TIES>

Implementations§

Source§

impl<S: StateStore, const WITH_TIES: bool> AppendOnlyTopNExecutor<S, WITH_TIES>

Source

pub fn new( input: Executor, ctx: ActorContextRef, schema: Schema, storage_key: Vec<ColumnOrder>, offset_and_limit: (usize, usize), order_by: Vec<ColumnOrder>, state_table: StateTable<S>, ) -> StreamResult<Self>