Struct tidb_query_common::storage::scanner::RangesScanner [−][src]
A scanner that scans over multiple ranges. Each range can be a point range containing only one row, or an interval range containing multiple rows.
Fields
storage: T
ranges_iter: RangesIterator
scan_backward_in_range: bool
is_key_only: bool
scanned_rows_per_range: Vec<usize>
is_scanned_range_aware: bool
current_range: IntervalRange
working_range_begin_key: Vec<u8>
working_range_end_key: Vec<u8>
Implementations
impl<T: Storage> RangesScanner<T>
[src]
pub fn new(_: RangesScannerOptions<T>) -> RangesScanner<T>
[src]
pub fn next(&mut self) -> Result<Option<OwnedKvPair>, StorageError>
[src]
Fetches next row.
pub fn collect_storage_stats(&mut self, dest: &mut T::Statistics)
[src]
Appends storage statistics collected so far to the given container and clears the collected statistics.
pub fn collect_scanned_rows_per_range(&mut self, dest: &mut Vec<usize>)
[src]
Appends scanned rows of each range so far to the given container and clears the collected statistics.
pub fn take_scanned_range(&mut self) -> IntervalRange
[src]
Returns scanned range since last call.
pub fn can_be_cached(&self) -> bool
[src]
fn update_scanned_range_from_new_point(&mut self, point: &PointRange)
[src]
fn update_scanned_range_from_new_range(&mut self, range: &IntervalRange)
[src]
fn update_working_range_begin_key(&mut self)
[src]
fn update_working_range_end_key(&mut self)
[src]
fn update_scanned_range_from_scanned_row(
&mut self,
some_row: &Option<OwnedKvPair>
)
[src]
&mut self,
some_row: &Option<OwnedKvPair>
)
Auto Trait Implementations
impl<T> RefUnwindSafe for RangesScanner<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for RangesScanner<T> where
T: Send,
T: Send,
impl<T> Sync for RangesScanner<T> where
T: Sync,
T: Sync,
impl<T> Unpin for RangesScanner<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for RangesScanner<T> where
T: UnwindSafe,
T: UnwindSafe,
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[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> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,