pub enum AccessPathProbe {
RowidEquality {
target: Box<Expr>,
},
Equality {
column: String,
target: Box<Expr>,
},
Range {
column: String,
lower: Option<(Box<Expr>, bool)>,
upper: Option<(Box<Expr>, bool)>,
},
InList {
column: String,
values: Vec<Box<Expr>>,
},
}Expand description
Probe expressions extracted from the WHERE clause during access-path selection. Carried forward so downstream consumers (connection seam, VDBE codegen) do not re-extract from the AST.
Variants§
RowidEquality
WHERE rowid = <target>
Equality
WHERE <column> = <target> backed by an index.
Range
WHERE <column> {>|>=} <lo> AND <column> {<|<=} <hi> backed by an index.
InList
WHERE <column> IN (<v1>, <v2>, ...) backed by an index — one seek per
value.
Trait Implementations§
Source§impl Clone for AccessPathProbe
impl Clone for AccessPathProbe
Source§fn clone(&self) -> AccessPathProbe
fn clone(&self) -> AccessPathProbe
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 AccessPathProbe
impl Debug for AccessPathProbe
Source§impl PartialEq for AccessPathProbe
impl PartialEq for AccessPathProbe
Source§fn eq(&self, other: &AccessPathProbe) -> bool
fn eq(&self, other: &AccessPathProbe) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for AccessPathProbe
Auto Trait Implementations§
impl Freeze for AccessPathProbe
impl RefUnwindSafe for AccessPathProbe
impl Send for AccessPathProbe
impl Sync for AccessPathProbe
impl Unpin for AccessPathProbe
impl UnsafeUnpin for AccessPathProbe
impl UnwindSafe for AccessPathProbe
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