Struct tidb_query_executors::runner::BatchExecutorsRunner [−][src]
Fields
deadline: Deadline
The deadline of this handler. For each check point (e.g. each iteration) we need to check whether or not the deadline is exceeded and break the process if so.
out_most_executor: Box<dyn BatchExecutor<StorageStats = SS>>
output_offsets: Vec<u32>
The offset of the columns need to be outputted. For example, TiDB may only needs a subset of the columns in the result so that unrelated columns don’t need to be encoded and returned back.
config: Arc<EvalConfig>
collect_exec_summary: bool
Whether or not execution summary need to be collected.
exec_stats: ExecuteStats
stream_row_limit: usize
Maximum rows to return in batch stream mode.
encode_type: EncodeType
The encoding method for the response. Possible encoding methods are:
- default: result is encoded row by row using datum format.
- chunk: result is encoded column by column using chunk format.
Implementations
impl BatchExecutorsRunner<()>
[src][−]
pub fn check_supported(exec_descriptors: &[Executor]) -> Result<()>
[src][−]
Given a list of executor descriptors and checks whether all executor descriptors can be used to build batch executors.
impl<SS: 'static> BatchExecutorsRunner<SS>
[src][−]
pub fn from_request<S: Storage<Statistics = SS> + 'static>(
req: DagRequest,
ranges: Vec<KeyRange>,
storage: S,
deadline: Deadline,
stream_row_limit: usize,
is_streaming: bool
) -> Result<Self>
[src]
req: DagRequest,
ranges: Vec<KeyRange>,
storage: S,
deadline: Deadline,
stream_row_limit: usize,
is_streaming: bool
) -> Result<Self>
fn batch_initial_size() -> usize
[src]
pub async fn handle_request(&mut self) -> Result<SelectResponse>
[src]
pub fn handle_streaming_request(
&mut self
) -> Result<(Option<(StreamResponse, IntervalRange)>, bool)>
[src]
&mut self
) -> Result<(Option<(StreamResponse, IntervalRange)>, bool)>
pub fn collect_storage_stats(&mut self, dest: &mut SS)
[src]
pub fn can_be_cached(&self) -> bool
[src]
fn internal_handle_request(
&mut self,
is_streaming: bool,
batch_size: usize,
chunk: &mut Chunk,
warnings: &mut EvalWarnings,
ctx: &mut EvalContext
) -> Result<(bool, usize)>
[src]
&mut self,
is_streaming: bool,
batch_size: usize,
chunk: &mut Chunk,
warnings: &mut EvalWarnings,
ctx: &mut EvalContext
) -> Result<(bool, usize)>
fn make_stream_response(
&mut self,
chunk: Chunk,
warnings: EvalWarnings
) -> Result<StreamResponse>
[src]
&mut self,
chunk: Chunk,
warnings: EvalWarnings
) -> Result<StreamResponse>
Auto Trait Implementations
impl<SS> !RefUnwindSafe for BatchExecutorsRunner<SS>
impl<SS> Send for BatchExecutorsRunner<SS>
impl<SS> !Sync for BatchExecutorsRunner<SS>
impl<SS> Unpin for BatchExecutorsRunner<SS>
impl<SS> !UnwindSafe for BatchExecutorsRunner<SS>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,