Trait tidb_query_executors::util::scan_executor::ScanExecutorImpl[][src]

pub trait ScanExecutorImpl: Send {
    fn schema(&self) -> &[FieldType];
fn mut_context(&mut self) -> &mut EvalContext;
fn build_column_vec(&self, scan_rows: usize) -> LazyBatchColumnVec;
fn process_kv_pair(
        &mut self,
        key: &[u8],
        value: &[u8],
        columns: &mut LazyBatchColumnVec
    ) -> Result<()>; }

Common interfaces for table scan and index scan implementations.

Required methods

fn schema(&self) -> &[FieldType][src]

Gets the schema.

fn mut_context(&mut self) -> &mut EvalContext[src]

Gets a mutable reference of the executor context.

fn build_column_vec(&self, scan_rows: usize) -> LazyBatchColumnVec[src]

fn process_kv_pair(
    &mut self,
    key: &[u8],
    value: &[u8],
    columns: &mut LazyBatchColumnVec
) -> Result<()>
[src]

Accepts a key value pair and fills the column vector.

The column vector does not need to be regular when there are errors during this process. However if there is no error, the column vector must be regular.

Loading content...

Implementors

impl ScanExecutorImpl for IndexScanExecutorImpl[src]

fn build_column_vec(&self, scan_rows: usize) -> LazyBatchColumnVec[src]

Constructs empty columns, with PK containing int handle in decoded format and the rest in raw format.

Note: the structure of the constructed column is the same as table scan executor but due to different reasons.

impl ScanExecutorImpl for TableScanExecutorImpl[src]

fn build_column_vec(&self, scan_rows: usize) -> LazyBatchColumnVec[src]

Constructs empty columns, with PK in decoded format and the rest in raw format.

Loading content...