pub struct MergeRelationshipOperator { /* private fields */ }Expand description
Merge operator for relationship patterns.
Takes input rows containing source and target node IDs, then for each row:
- Searches for an existing relationship matching the type and properties
- If found, applies ON MATCH properties and returns the existing edge
- If not found, creates a new relationship and applies ON CREATE properties
Implementations§
Source§impl MergeRelationshipOperator
impl MergeRelationshipOperator
Sourcepub fn new(
store: Arc<dyn GraphStoreMut>,
input: Box<dyn Operator>,
config: MergeRelationshipConfig,
) -> Self
pub fn new( store: Arc<dyn GraphStoreMut>, input: Box<dyn Operator>, config: MergeRelationshipConfig, ) -> Self
Creates a new merge relationship operator.
Sourcepub fn with_transaction_context(
self,
epoch: EpochId,
transaction_id: Option<TransactionId>,
) -> Self
pub fn with_transaction_context( self, epoch: EpochId, transaction_id: Option<TransactionId>, ) -> Self
Sets the transaction context for versioned mutations.
Sourcepub fn with_validator(self, validator: Arc<dyn ConstraintValidator>) -> Self
pub fn with_validator(self, validator: Arc<dyn ConstraintValidator>) -> Self
Sets the constraint validator for schema enforcement.
Trait Implementations§
Source§impl Operator for MergeRelationshipOperator
impl Operator for MergeRelationshipOperator
Auto Trait Implementations§
impl Freeze for MergeRelationshipOperator
impl !RefUnwindSafe for MergeRelationshipOperator
impl Send for MergeRelationshipOperator
impl Sync for MergeRelationshipOperator
impl Unpin for MergeRelationshipOperator
impl UnsafeUnpin for MergeRelationshipOperator
impl !UnwindSafe for MergeRelationshipOperator
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> 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