pub enum LogicalOperator {
Show 59 variants
ScanNode(LogicalScanNode),
ScanRel(LogicalScanRel),
VectorSimilarityScan(LogicalVectorSimilarityScan),
ArtIndexRangeScan(LogicalArtIndexRangeScan),
Filter(LogicalFilter),
Projection(LogicalProjection),
HashJoin(LogicalHashJoin),
CrossProduct(LogicalCrossProduct),
OrderBy(LogicalOrderBy),
Limit(LogicalLimit),
TopK(LogicalTopK),
Aggregate(LogicalAggregate),
Union(LogicalUnion),
Flatten(LogicalFlatten),
TableFunctionCall(LogicalTableFunctionCall),
StandaloneCall(LogicalStandaloneCall),
CopyFrom(LogicalCopyFrom),
BatchInsert(LogicalBatchInsert),
IndexLookup(LogicalIndexLookup),
Delete(LogicalDelete),
Set(LogicalSet),
OptionalMatch(LogicalOptionalMatch),
OptionalExtend(LogicalOptionalExtend),
Unwind(LogicalUnwind),
Foreach(LogicalForeach),
Merge(LogicalMerge),
MergeRel(LogicalMergeRel),
SemiJoin(LogicalSemiJoin),
AntiJoin(LogicalAntiJoin),
Intersect(LogicalIntersect),
Explain(LogicalExplain),
RecursiveExtend(LogicalRecursiveExtend),
Accumulate(LogicalAccumulate),
ExpressionsScan(LogicalExpressionsScan),
CountRelTable(LogicalCountRelTable),
Partitioner(LogicalPartitioner),
PathPropertyProbe(LogicalPathPropertyProbe),
CreateNodeTable(LogicalCreateNodeTable),
CreateRelTable(LogicalCreateRelTable),
DropTable(LogicalDropTable),
AlterTable(LogicalAlterTable),
CreateIndex(LogicalCreateIndex),
DropIndex(LogicalDropIndex),
CreateVectorIndex(LogicalCreateVectorIndex),
CreateSequence(LogicalCreateSequence),
DropSequence(LogicalDropSequence),
CreateDml(LogicalCreateDml),
CreateNode(LogicalCreateNode),
CreateRel(LogicalCreateRel),
Extend(LogicalExtend),
ExportDatabase(LogicalExportDatabase),
ImportDatabase(LogicalImportDatabase),
CreateFtsIndex(LogicalCreateFtsIndex),
FtsScan(LogicalFtsScan),
EmptyResult(LogicalEmptyResult),
MultiplicityReducer(LogicalMultiplicityReducer),
Skip(LogicalSkip),
Insert(LogicalInsert),
ExtensionClause(LogicalExtensionClause),
}Variants§
ScanNode(LogicalScanNode)
ScanRel(LogicalScanRel)
VectorSimilarityScan(LogicalVectorSimilarityScan)
ArtIndexRangeScan(LogicalArtIndexRangeScan)
Filter(LogicalFilter)
Projection(LogicalProjection)
HashJoin(LogicalHashJoin)
CrossProduct(LogicalCrossProduct)
OrderBy(LogicalOrderBy)
Limit(LogicalLimit)
TopK(LogicalTopK)
Aggregate(LogicalAggregate)
Union(LogicalUnion)
Flatten(LogicalFlatten)
TableFunctionCall(LogicalTableFunctionCall)
StandaloneCall(LogicalStandaloneCall)
CopyFrom(LogicalCopyFrom)
BatchInsert(LogicalBatchInsert)
IndexLookup(LogicalIndexLookup)
Delete(LogicalDelete)
Set(LogicalSet)
OptionalMatch(LogicalOptionalMatch)
OptionalExtend(LogicalOptionalExtend)
Unwind(LogicalUnwind)
Foreach(LogicalForeach)
Merge(LogicalMerge)
MergeRel(LogicalMergeRel)
SemiJoin(LogicalSemiJoin)
AntiJoin(LogicalAntiJoin)
Intersect(LogicalIntersect)
Explain(LogicalExplain)
RecursiveExtend(LogicalRecursiveExtend)
Accumulate(LogicalAccumulate)
ExpressionsScan(LogicalExpressionsScan)
CountRelTable(LogicalCountRelTable)
Partitioner(LogicalPartitioner)
PathPropertyProbe(LogicalPathPropertyProbe)
CreateNodeTable(LogicalCreateNodeTable)
CreateRelTable(LogicalCreateRelTable)
DropTable(LogicalDropTable)
AlterTable(LogicalAlterTable)
CreateIndex(LogicalCreateIndex)
DropIndex(LogicalDropIndex)
CreateVectorIndex(LogicalCreateVectorIndex)
CreateSequence(LogicalCreateSequence)
DropSequence(LogicalDropSequence)
CreateDml(LogicalCreateDml)
CreateNode(LogicalCreateNode)
CreateRel(LogicalCreateRel)
Extend(LogicalExtend)
ExportDatabase(LogicalExportDatabase)
ImportDatabase(LogicalImportDatabase)
CreateFtsIndex(LogicalCreateFtsIndex)
FtsScan(LogicalFtsScan)
EmptyResult(LogicalEmptyResult)
MultiplicityReducer(LogicalMultiplicityReducer)
Skip(LogicalSkip)
Insert(LogicalInsert)
ExtensionClause(LogicalExtensionClause)
Implementations§
Source§impl LogicalOperator
impl LogicalOperator
Sourcepub fn cardinality(&self) -> u64
pub fn cardinality(&self) -> u64
Get the estimated cardinality for this operator.
Sourcepub fn set_cardinality(&mut self, card: u64)
pub fn set_cardinality(&mut self, card: u64)
Set the estimated cardinality for this operator.
Sourcepub fn visit_bottom_up<F: FnMut(&mut LogicalOperator)>(
op: &mut LogicalOperator,
f: &mut F,
)
pub fn visit_bottom_up<F: FnMut(&mut LogicalOperator)>( op: &mut LogicalOperator, f: &mut F, )
Recursively visit all operators in the tree bottom-up.
Sourcepub fn children_mut(&mut self) -> Vec<&mut LogicalOperator>
pub fn children_mut(&mut self) -> Vec<&mut LogicalOperator>
Get mutable references to all direct children of this operator.
Sourcepub fn children(&self) -> Vec<&LogicalOperator>
pub fn children(&self) -> Vec<&LogicalOperator>
Get the child operators (immutable).
Trait Implementations§
Source§impl Clone for LogicalOperator
impl Clone for LogicalOperator
Source§fn clone(&self) -> LogicalOperator
fn clone(&self) -> LogicalOperator
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 moreAuto Trait Implementations§
impl Freeze for LogicalOperator
impl RefUnwindSafe for LogicalOperator
impl Send for LogicalOperator
impl Sync for LogicalOperator
impl Unpin for LogicalOperator
impl UnsafeUnpin for LogicalOperator
impl UnwindSafe for LogicalOperator
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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