Struct mem_query::relation::RelProxy[][src]

pub struct RelProxy<Ptr>(_);

Implementations

impl<Ptr> RelProxy<Ptr>[src]

pub fn new(rel: impl Into<Ptr>) -> Self[src]

Trait Implementations

impl<Ptr: Clone> Clone for RelProxy<Ptr>[src]

fn clone(&self) -> RelProxy<Ptr>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Ptr: Debug> Debug for RelProxy<Ptr>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<Ptr: DerefMut<Target = R>, R, Q> Delete<Q> for RelProxy<Ptr> where
    R: Delete<Q>,
    Q: QueryFilter
[src]

type Op = ProxyOp<R::Op>

type Deleter = impl Fn(Q) -> Self::Op

fn deleter() -> Self::Deleter[src]

fn delete_op(q: Q) -> Self::Op[src]

impl<Ptr: Deref> Deref for RelProxy<Ptr>[src]

type Target = Ptr::Target

The resulting type after dereferencing.

fn deref(&self) -> &Ptr::Target[src]

Dereferences the value.

impl<Ptr: DerefMut<Target = R>, R, H> Insert<H> for RelProxy<Ptr> where
    R: Insert<H>,
    H: Header
[src]

type Remainder = R::Remainder

The fields from H that aren’t consumed

type Op = ProxyOp<R::Op>

fn insert_op<FromRec: Record<Cols = H>>(
    rec: FromRec
) -> (Self::Op, Self::Remainder)
[src]

fn insert<FromRec: Record<Cols = H>>(
    &mut self,
    rec: FromRec
) -> Result<(), Either<<Self::Op as RevertableOp<Self>>::Err, Infallible>>
[src]

fn insert_multi(
    &mut self,
    recs: impl IntoIterator<Item = impl Record<Cols = H>>
) -> Result<(), Either<<Self::Op as RevertableOp<Self>>::Err, Infallible>>
[src]

impl<'a, Ptr: Deref<Target = R>, R: 'a + Relation<'a>> IntoIterator for &'a RelProxy<Ptr>[src]

type IntoIter = impl Iterator<Item = Self::Item>

Which kind of iterator are we turning this into?

type Item = R::QueryRow

The type of the elements being iterated over.

fn into_iter(self) -> Self::IntoIter[src]

Creates an iterator from a value. Read more

impl<'a, Ptr: Deref<Target = R>, R: QueryOutput<'a>> QueryOutput<'a> for RelProxy<Ptr>[src]

type QueryRow = R::QueryRow

impl<Ptr: Deref<Target = R>, R: RelationImpl> RelationImpl for RelProxy<Ptr>[src]

type Cols = R::Cols

type FastCols = R::FastCols

type Planner = ProxyPlanner

fn as_ref(&self) -> RelProxy<&Self>[src]

fn as_mut(&mut self) -> RelProxy<&mut Self>[src]

Auto Trait Implementations

impl<Ptr> RefUnwindSafe for RelProxy<Ptr> where
    Ptr: RefUnwindSafe

impl<Ptr> Send for RelProxy<Ptr> where
    Ptr: Send

impl<Ptr> Sync for RelProxy<Ptr> where
    Ptr: Sync

impl<Ptr> Unpin for RelProxy<Ptr> where
    Ptr: Unpin

impl<Ptr> UnwindSafe for RelProxy<Ptr> where
    Ptr: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<'a, Req, T> DynQueryable<'a, Req> for T where
    T: Queryable<'a, Req>,
    Req: QueryRequest + 'a, 
[src]

type Cols = <T as RelationImpl>::Cols

pub fn dyn_query(
    &'a Self,
    Req
) -> Box<dyn Iterator<Item = ErasedExtRecord<'a, <T as RelationImpl>::Cols>> + 'a, Global>
[src]

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<'a, Rel, Req, Plan> Queryable<'a, Req> for Rel where
    Rel: 'a + Relation<'a>,
    Req: QueryRequest + 'a,
    Plan: QueryPlan<'a, Rel, Req>,
    HCons<<Rel as RelationImpl>::Planner, HCons<Quote<&'a Rel>, HCons<Quote<Req>, HNil>>>: Eval,
    <HCons<<Rel as RelationImpl>::Planner, HCons<Quote<&'a Rel>, HCons<Quote<Req>, HNil>>> as Eval>::Result == Plan, 
[src]

type Plan = Plan

pub fn query(&'a Self, Req) -> <Plan as IntoIterator>::IntoIter[src]

pub fn prepare(&'a Self, Req) -> Plan[src]

fn explain(&'a self) -> &'static str[src]

impl<'a, T> Relation<'a> for T where
    T: RelationImpl + SelfQuery<'a>, 
[src]

fn subjoin<F: Col>(self) -> SubordinateJoin<Self, F> where
    SubordinateJoin<Self, F>: Relation<'a>, 
[src]

fn join<Rel>(self, rel: Rel) -> PeerJoin<Self, Rel> where
    PeerJoin<Self, Rel>: Relation<'a>, 
[src]

TODO: Maybe reverse the join order; key lookup always on right-hand side

fn where_eq<C: ColProxy>(self, c: C) -> FilterRel<Self, Exact<C>> where
    FilterRel<Self, Exact<C>>: Relation<'a>, 
[src]

fn project<H: Header>(self) -> ProjectedRel<Self, H> where
    ProjectedRel<Self, H>: Relation<'a>, 
[src]

fn iter_as<O: FromExternalRecord<'a>>(
    &'a self
) -> <IterAs<'a, Self, O> as IntoIterator>::IntoIter where
    IterAs<'a, Self, O>: IntoIterator
[src]

fn as_dyn(self) -> DynRel<Self> where
    DynRel<Self>: RelationImpl
[src]

fn truncate(&mut self) -> Result<(), <Self::Op as RevertableOp<Self>>::Err> where
    Self: Delete<HNil>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<'a, R> SelfQuery<'a> for R where
    R: 'a + QueryOutput<'a>,
    &'a R: IntoIterator,
    <&'a R as IntoIterator>::Item == <R as QueryOutput<'a>>::QueryRow
[src]

type Iter = <&'a R as IntoIterator>::IntoIter

pub fn iter_all(&'a Self) -> <R as SelfQuery<'a>>::Iter[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Everything for T where
    T: ?Sized
[src]