pub struct LinkDescriptor {
pub name: String,
pub target: String,
pub nullable: bool,
pub description: Option<String>,
pub default_pyql: Option<String>,
pub is_exclusive: bool,
pub is_readonly: bool,
pub rewrites: Vec<RewriteEntry>,
pub on_delete: Vec<OnDeletePolicy>,
pub through: Option<String>,
}Fields§
§name: String§target: StringQualified name of the target type, e.g. catalog::Category.
nullable: bool§description: Option<String>§default_pyql: Option<String>§is_exclusive: boolTrue when a UNIQUE constraint applies to this FK column alone.
is_readonly: boolTrue when the transpiler should reject PyQL updates targeting this pointer.
rewrites: Vec<RewriteEntry>§on_delete: Vec<OnDeletePolicy>§through: Option<String>Qualified name of the explicit junction type, if any — when set, this
link is backed by a junction table (source, target, plus the
junction’s own properties) instead of a {name}_id FK column on the
source table, the same storage MultiLink’s own through already
uses, just constrained to at most one row per source.
Implementations§
Source§impl LinkDescriptor
impl LinkDescriptor
pub fn is_junction_backed(&self) -> bool
Trait Implementations§
Source§impl Clone for LinkDescriptor
impl Clone for LinkDescriptor
Source§impl Debug for LinkDescriptor
impl Debug for LinkDescriptor
Source§impl<'de> Deserialize<'de> for LinkDescriptor
impl<'de> Deserialize<'de> for LinkDescriptor
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
Auto Trait Implementations§
impl Freeze for LinkDescriptor
impl RefUnwindSafe for LinkDescriptor
impl Send for LinkDescriptor
impl Sync for LinkDescriptor
impl Unpin for LinkDescriptor
impl UnsafeUnpin for LinkDescriptor
impl UnwindSafe for LinkDescriptor
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> 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>
Returns the layout of the type.
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
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.