rust_query::args

Struct Query

Source
pub struct Query<'outer, 'inner, S> { /* private fields */ }
Expand description

This is the top level query type and dereferences to Rows. Most importantly it can turn the query result into a Vec.

Implementations§

Source§

impl<'outer, 'inner, S> Query<'outer, 'inner, S>

Source

pub fn into_vec<D>(&'inner self, dummy: D) -> Vec<D::Out>
where D: Dummy<'inner, 'outer, S>,

Turn a database query into a rust Vec of results.

Methods from Deref<Target = Rows<'inner, S>>§

Source

pub fn join<T: Table<Schema = S>>(&mut self) -> Column<'inner, S, T>

Join a table, this is like a super simple Iterator::flat_map but for queries.

After this operation Rows has rows for the combinations of each original row with each row of the table. (Also called the “Carthesian product”)

For convenience there is also Table::join.

Source

pub fn filter(&mut self, prop: impl IntoColumn<'inner, S, Typ = bool>)

Filter rows based on a column.

Source

pub fn filter_some<Typ>( &mut self, val: impl IntoColumn<'inner, S, Typ = Option<Typ>>, ) -> Column<'inner, S, Typ>

Filter out rows where this column is None.

Returns a new column with the unwrapped type.

Trait Implementations§

Source§

impl<'outer, 'inner, S> Deref for Query<'outer, 'inner, S>

Source§

type Target = Rows<'inner, S>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'outer, 'inner, S> DerefMut for Query<'outer, 'inner, S>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<'outer, 'inner, S> !Freeze for Query<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !RefUnwindSafe for Query<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !Send for Query<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !Sync for Query<'outer, 'inner, S>

§

impl<'outer, 'inner, S> Unpin for Query<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !UnwindSafe for Query<'outer, 'inner, S>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V