Trait Executor

Source
pub trait Executor: Send + 'static {
    // Required methods
    fn schema(&self) -> &Schema;
    fn identity(&self) -> &str;
    fn execute(self: Box<Self>) -> BoxedDataChunkStream;
}
Expand description

Refactoring of Executor using Stream.

Required Methods§

Source

fn schema(&self) -> &Schema

Returns the schema of the executor’s return data.

Schema must be available before init.

Source

fn identity(&self) -> &str

Identity string of the executor

Source

fn execute(self: Box<Self>) -> BoxedDataChunkStream

Executes to return the data chunk stream.

The implementation should guaranteed that each DataChunk’s cardinality is not zero.

Implementors§

Source§

impl Executor for ManagedExecutor

Source§

impl Executor for BlockExecutor

Source§

impl Executor for BusyLoopExecutor

Source§

impl Executor for MockExecutor

impl<CS: 'static + Send + CreateSource> Executor for GenericExchangeExecutor<CS>

impl<K: HashKey + Send + Sync> Executor for HashAggExecutor<K>

impl<K: HashKey> Executor for DistributedLookupJoinExecutor<K>

impl<K: HashKey> Executor for GroupTopNExecutor<K>

impl<K: HashKey> Executor for HashJoinExecutor<K>

impl<K: HashKey> Executor for LocalLookupJoinExecutor<K>

impl<S: StateStore> Executor for LogRowSeqScanExecutor<S>

impl<S: StateStore> Executor for RowSeqScanExecutor<S>