pub enum IndexExprResult {
Exact(RowAddrMask),
AtMost(RowAddrMask),
AtLeast(RowAddrMask),
}Expand description
Result of an index search after NULL rows have been dropped. This is what the read planner consumes.
Variants§
Exact(RowAddrMask)
The answer is exactly the rows in the allow list minus the rows in the block list.
AtMost(RowAddrMask)
The answer is at most the rows in the allow list minus the rows in the block list. Some of the rows in the allow list may not be in the result and will need to be filtered by a recheck. Every row in the block list is definitely not in the result.
AtLeast(RowAddrMask)
The answer is at least the rows in the allow list minus the rows in the block list. Some of the rows in the block list might be in the result. Every row in the allow list is definitely in the result.
Implementations§
Source§impl IndexExprResult
impl IndexExprResult
pub fn row_addr_mask(&self) -> &RowAddrMask
pub fn discriminant(&self) -> u32
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IndexExprResult
impl RefUnwindSafe for IndexExprResult
impl Send for IndexExprResult
impl Sync for IndexExprResult
impl Unpin for IndexExprResult
impl UnsafeUnpin for IndexExprResult
impl UnwindSafe for IndexExprResult
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more