Trait tidb_query_executors::util::scan_executor::ScanExecutorImpl [−][src]
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]
&mut self,
key: &[u8],
value: &[u8],
columns: &mut LazyBatchColumnVec
) -> Result<()>
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.
Implementors
impl ScanExecutorImpl for IndexScanExecutorImpl
[src]
fn schema(&self) -> &[FieldType]
[src]
fn mut_context(&mut self) -> &mut EvalContext
[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.
fn process_kv_pair(
&mut self,
key: &[u8],
value: &[u8],
columns: &mut LazyBatchColumnVec
) -> Result<()>
[src]
&mut self,
key: &[u8],
value: &[u8],
columns: &mut LazyBatchColumnVec
) -> Result<()>
impl ScanExecutorImpl for TableScanExecutorImpl
[src]
fn schema(&self) -> &[FieldType]
[src]
fn mut_context(&mut self) -> &mut EvalContext
[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.
fn process_kv_pair(
&mut self,
key: &[u8],
value: &[u8],
columns: &mut LazyBatchColumnVec
) -> Result<()>
[src]
&mut self,
key: &[u8],
value: &[u8],
columns: &mut LazyBatchColumnVec
) -> Result<()>