Trait tidb_query_executors::interface::BatchExecutor [−][src]
The interface for pull-based executors. It is similar to the Volcano Iterator model, but pulls data in batch and stores data by column.
Associated Types
type StorageStats
[src]
Required methods
fn schema(&self) -> &[FieldType]
[src]
Gets the schema of the output.
fn next_batch(&mut self, scan_rows: usize) -> BatchExecuteResult
[src]
Pulls next several rows of data (stored by column).
This function might return zero rows, which doesn’t mean that there is no more result.
See is_drained
in BatchExecuteResult
.
fn collect_exec_stats(&mut self, dest: &mut ExecuteStats)
[src]
Collects execution statistics (including but not limited to metrics and execution summaries) accumulated during execution and prepares for next collection.
The executor implementation must invoke this function for each children executor. However the invocation order of children executors is not stipulated.
This function may be invoked several times during execution. For each invocation, it should
not contain accumulated meta data in last invocation. Normally the invocation frequency of
this function is less than next_batch()
.
fn collect_storage_stats(&mut self, dest: &mut Self::StorageStats)
[src]
Collects underlying storage statistics accumulated during execution and prepares for next collection.
Similar to collect_exec_stats()
, the implementation must invoke this function for each
children executor and this function may be invoked several times during execution.
fn take_scanned_range(&mut self) -> IntervalRange
[src]
fn can_be_cached(&self) -> bool
[src]
Provided methods
fn collect_summary(
self,
output_index: usize
) -> WithSummaryCollector<ExecSummaryCollectorEnabled, Self> where
Self: Sized,
[src]
self,
output_index: usize
) -> WithSummaryCollector<ExecSummaryCollectorEnabled, Self> where
Self: Sized,