pub enum IndexUsability {
Equality,
MultiColumnEquality {
eq_columns: usize,
trailing_constraint: MultiColumnTrailingConstraint,
},
Range {
selectivity: f64,
},
InExpansion {
probe_count: usize,
},
LikePrefix {
low: String,
high: Option<String>,
},
NotUsable,
}Expand description
Result of analyzing a WHERE term against an index.
Variants§
Equality
Index can satisfy an equality constraint on its leftmost column.
MultiColumnEquality
Multi-column equality prefix: equality on the first eq_columns index
columns, optionally followed by an additional constraint on the next
column.
Fields
§
trailing_constraint: MultiColumnTrailingConstraintConstraint on the column immediately after the equality prefix.
Range
Index can satisfy a range constraint (rightmost usable position).
InExpansion
IN (...) expanded to multiple equality probes.
LikePrefix
LIKE/GLOB with a constant prefix and derived upper bound.
Represents the range: column >= low and optionally column < high.
NotUsable
The term cannot use this index.
Trait Implementations§
Source§impl Clone for IndexUsability
impl Clone for IndexUsability
Source§fn clone(&self) -> IndexUsability
fn clone(&self) -> IndexUsability
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IndexUsability
impl Debug for IndexUsability
Source§impl PartialEq for IndexUsability
impl PartialEq for IndexUsability
Source§fn eq(&self, other: &IndexUsability) -> bool
fn eq(&self, other: &IndexUsability) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IndexUsability
Auto Trait Implementations§
impl Freeze for IndexUsability
impl RefUnwindSafe for IndexUsability
impl Send for IndexUsability
impl Sync for IndexUsability
impl Unpin for IndexUsability
impl UnsafeUnpin for IndexUsability
impl UnwindSafe for IndexUsability
Blanket Implementations§
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