pub struct IrPathSelect {
pub root: IrSource,
pub joins: Vec<IrPathJoin>,
pub result: IrPathResult,
pub filter: Option<IrExpr>,
pub order_by: Vec<IrSort>,
pub offset: Option<IrExpr>,
pub limit: Option<IrExpr>,
pub distinct: bool,
pub poly_implementors: Vec<IrPolyImplementor>,
}Expand description
select Person.company.name — a flat SELECT that starts at a root type and
follows links before projecting a final scalar column or object id.
Fields§
§root: IrSource§joins: Vec<IrPathJoin>§result: IrPathResult§filter: Option<IrExpr>§order_by: Vec<IrSort>§offset: Option<IrExpr>§limit: Option<IrExpr>§distinct: bool§poly_implementors: Vec<IrPolyImplementor>Non-empty when the root is a polymorphic (abstract+materialized) type. The FROM clause uses a UNION ALL of these instead of the root table directly.
Trait Implementations§
Source§impl Clone for IrPathSelect
impl Clone for IrPathSelect
Auto Trait Implementations§
impl Freeze for IrPathSelect
impl RefUnwindSafe for IrPathSelect
impl Send for IrPathSelect
impl Sync for IrPathSelect
impl Unpin for IrPathSelect
impl UnsafeUnpin for IrPathSelect
impl UnwindSafe for IrPathSelect
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.