pub enum IrMultiLinkJoin {
Standard {
junction_table: String,
module: String,
},
Through {
junction_table: String,
module: String,
source_col: String,
target_col: String,
},
BacklinkFk {
fk_col: String,
},
BacklinkJunction {
junction_table: String,
module: String,
owner_col: String,
current_col: String,
},
}Variants§
Standard
Standard Pylon junction table ({source_table}.{link_name}) with
source uuid and target uuid columns.
Fields
Through
Explicit through type with resolved FK columns.
Fields
BacklinkFk
Reverse of a single (FK) link — the owner type’s rows are correlated
directly by their FK column, no junction table involved. Still
many-valued (several owner rows can point at the same current row),
so this shares IrMultiLinkPointer’s array_agg-based emission
rather than the singular IrShapePointer::Link representation.
BacklinkJunction
Reverse of a multi-link — same junction table a forward Standard/
Through multi-link would use, but with the owner/current column
roles swapped: the sub-select’s own rows correlate via owner_col,
the current (outer) row correlates via current_col.
Trait Implementations§
Source§impl Clone for IrMultiLinkJoin
impl Clone for IrMultiLinkJoin
Auto Trait Implementations§
impl Freeze for IrMultiLinkJoin
impl RefUnwindSafe for IrMultiLinkJoin
impl Send for IrMultiLinkJoin
impl Sync for IrMultiLinkJoin
impl Unpin for IrMultiLinkJoin
impl UnsafeUnpin for IrMultiLinkJoin
impl UnwindSafe for IrMultiLinkJoin
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,
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.