pub enum QueryPlan {
Literal {
pattern: Vec<u8>,
trigrams: Vec<Trigram>,
regex: Regex,
},
RegexWithLiterals {
regex: Regex,
required_trigram_sets: Vec<Vec<Trigram>>,
},
CaseInsensitive {
regex: Regex,
trigram_groups: Vec<Vec<Trigram>>,
},
FullScan {
regex: Regex,
},
}Expand description
Optimal query execution strategy chosen by the planner.
Variants§
Literal
Fast path: literal string search with pre-computed trigrams.
Fields
RegexWithLiterals
Regex with extractable literal sub-strings.
Fields
CaseInsensitive
Case-insensitive indexed search. Each group = case variants for one trigram position. Executor UNIONs within groups, INTERSECTs across.
Fields
FullScan
No literals extractable — full scan fallback.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryPlan
impl RefUnwindSafe for QueryPlan
impl Send for QueryPlan
impl Sync for QueryPlan
impl Unpin for QueryPlan
impl UnsafeUnpin for QueryPlan
impl UnwindSafe for QueryPlan
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
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