pub enum QueryPlan {
VectorSearch {
query: Vec<f32>,
k: usize,
filters: Vec<Filter>,
condition: Option<Condition>,
order_by: Option<OrderBy>,
},
TagScan {
tags: Vec<String>,
filters: Vec<Filter>,
limit: Option<usize>,
condition: Option<Condition>,
order_by: Option<OrderBy>,
},
TemporalScan {
start: Timestamp,
end: Timestamp,
filters: Vec<Filter>,
limit: Option<usize>,
order_by: Option<OrderBy>,
},
GraphTraversal {
start: MemoryId,
depth: usize,
edge_types: Vec<EdgeType>,
},
PointLookup {
id: MemoryId,
},
EdgeInsert {
source: MemoryId,
target: MemoryId,
edge_type: EdgeType,
weight: f32,
},
Delete {
id: MemoryId,
},
Consolidate {
filters: Vec<Filter>,
},
}Expand description
A physical query plan describing how to execute a query.
Variants§
VectorSearch
Fields
TagScan
Fields
TemporalScan
A scan narrowed by the temporal (creation time) index. start..=end is
the creation range the index admits; filters holds every WHERE filter,
the range ones included, and the executor re-checks them all on each
loaded memory, so strict bounds (>, <) stay exact.
Fields
GraphTraversal
PointLookup
EdgeInsert
Delete
Consolidate
Trait Implementations§
Source§impl<'de> Deserialize<'de> for QueryPlan
impl<'de> Deserialize<'de> for QueryPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for QueryPlan
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