pub enum DropBehavior {
Restrict,
Cascade,
}Expand description
Behavior of a DROP NODE TYPE / DROP EDGE TYPE statement when the type
still has surviving instances or inbound type dependencies.
Restrict (the default when no behavior keyword is written) is the
Seam-B fix from the deletion-reclamation audit (Item 3): dropping a type
whose instances still exist would otherwise leave orphan instances whose
declared type no longer exists (a silent graph-type-consistency violation
on a closed GG02 graph). Restrict makes that rejection explicit and early.
Cascade (selene-db IM_DROP_CASCADE vendor extension) truncates the
instances first, then drops the type, atomically in one transaction.
Variants§
Restrict
Reject the drop when instances or inbound type dependencies remain; the
type is not dropped and no Change is recorded (no partial state).
Cascade
Truncate every instance of the type first (reusing the
Mutator::truncate_* funnel), then drop the type — both in one
transaction.
Trait Implementations§
Source§impl Clone for DropBehavior
impl Clone for DropBehavior
Source§fn clone(&self) -> DropBehavior
fn clone(&self) -> DropBehavior
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DropBehavior
Source§impl Debug for DropBehavior
impl Debug for DropBehavior
Source§impl Default for DropBehavior
impl Default for DropBehavior
Source§fn default() -> DropBehavior
fn default() -> DropBehavior
impl Eq for DropBehavior
Source§impl Hash for DropBehavior
impl Hash for DropBehavior
Source§impl PartialEq for DropBehavior
impl PartialEq for DropBehavior
Source§fn eq(&self, other: &DropBehavior) -> bool
fn eq(&self, other: &DropBehavior) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DropBehavior
Auto Trait Implementations§
impl Freeze for DropBehavior
impl RefUnwindSafe for DropBehavior
impl Send for DropBehavior
impl Sync for DropBehavior
impl Unpin for DropBehavior
impl UnsafeUnpin for DropBehavior
impl UnwindSafe for DropBehavior
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.