risingwave_stream::executor

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§

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>