pub enum Op {
Show 25 variants
ScanNodes {
labels: Vec<String>,
schema: Vec<ColDef>,
must_labels: Vec<String>,
forbidden_labels: Vec<String>,
est_rows: i64,
selectivity: f64,
graph_ref: Option<String>,
},
ScanRels {
types: Vec<String>,
schema: Vec<ColDef>,
src_labels: Vec<String>,
dst_labels: Vec<String>,
est_rows: i64,
selectivity: f64,
},
Expand {
input: u32,
src_col: u32,
types: Vec<String>,
dir: ExpandDir,
schema: Vec<ColDef>,
src_var: String,
rel_var: String,
dst_var: String,
legal_src_labels: Vec<String>,
legal_dst_labels: Vec<String>,
est_degree: f64,
graph_ref: Option<String>,
},
OptionalExpand {
input: u32,
src_col: u32,
types: Vec<String>,
dir: ExpandDir,
schema: Vec<ColDef>,
src_var: String,
rel_var: String,
dst_var: String,
legal_src_labels: Vec<String>,
legal_dst_labels: Vec<String>,
graph_ref: Option<String>,
},
SemiExpand {
input: u32,
src_col: u32,
types: Vec<String>,
dir: ExpandDir,
schema: Vec<ColDef>,
legal_src_labels: Vec<String>,
legal_dst_labels: Vec<String>,
},
ExpandVarLen {
input: u32,
src_col: u32,
types: Vec<String>,
dir: ExpandDir,
min_hops: i32,
max_hops: i32,
schema: Vec<ColDef>,
src_var: String,
path_var: String,
dst_var: String,
graph_ref: Option<String>,
},
Filter {
input: u32,
predicate: Expr,
},
BlockMarker {
input: u32,
block_id: i32,
branch_id: i32,
},
Project {
input: u32,
exprs: Vec<Expr>,
schema: Vec<ColDef>,
},
Aggregate {
input: u32,
keys: Vec<u32>,
aggs: Vec<Expr>,
schema: Vec<ColDef>,
},
Sort {
input: u32,
keys: Vec<u32>,
dirs: Vec<SortDir>,
},
Limit {
input: u32,
count: i64,
skip: i64,
cursor: Option<Vec<u8>>,
emit_cursor: bool,
},
Unwind {
input: u32,
list_expr: Expr,
out_var: String,
schema: Vec<ColDef>,
},
PathConstruct {
input: u32,
rel_cols: Vec<u32>,
schema: Vec<ColDef>,
},
Union {
lhs: u32,
rhs: u32,
all: bool,
schema: Vec<ColDef>,
},
CreateNode {
input: u32,
labels: Vec<String>,
props: Expr,
schema: Vec<ColDef>,
out_var: String,
},
CreateRel {
input: u32,
src_col: i32,
dst_col: i32,
rel_type: String,
props: Expr,
schema: Vec<ColDef>,
out_var: String,
},
Merge {
input: u32,
pattern: Expr,
on_create_props: Expr,
on_match_props: Expr,
schema: Vec<ColDef>,
},
Delete {
input: u32,
target_col: i32,
detach: bool,
schema: Vec<ColDef>,
},
SetProperty {
input: u32,
target_col: i32,
key: String,
value_expr: Expr,
schema: Vec<ColDef>,
},
RemoveProperty {
input: u32,
target_col: i32,
key: String,
schema: Vec<ColDef>,
},
VectorScan {
input: u32,
collection: String,
query_vector: Expr,
metric: VectorMetric,
top_k: u32,
approx_hint: bool,
schema: Vec<ColDef>,
},
Rerank {
input: u32,
score_expr: Expr,
top_k: u32,
schema: Vec<ColDef>,
},
Return {
input: u32,
},
ConstRow,
}Variants§
ScanNodes
Fields
ScanRels
Fields
Expand
Fields
OptionalExpand
Fields
SemiExpand
Fields
ExpandVarLen
Fields
Filter
BlockMarker
Project
Aggregate
Sort
Limit
Fields
Unwind
PathConstruct
Union
CreateNode
CreateRel
Fields
Merge
Delete
SetProperty
RemoveProperty
VectorScan
Fields
§
metric: VectorMetricRerank
Return
ConstRow
Zero-input source op that emits exactly one empty row. Used as the seed for standalone CREATE/INSERT without a preceding MATCH.
Trait Implementations§
impl StructuralPartialEq for Op
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
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