Struct Query

Source
pub struct Query<T>
where T: DataResult,
{ /* private fields */ }
Expand description

Representation of a database query. See QueryOpsSync and QueryOpsAsync for operations requiring a live database connection.

Implementations§

Source§

impl<T> Query<T>
where T: DataResult,

Source

pub fn new(table: &'static str) -> Query<T>

Creates a query which matches all objects in table. The set of matched objects can be restricted with filter and limit.

Source

pub fn filter(self, expr: BoolExpr) -> Query<T>

Restricts the query to matching only objects for which expr is true. Returns self as this method is expected to be chained.

Source

pub fn limit(self, lim: i32) -> Query<T>

Limits the query to matching the first lim objects. Returns self as this method is expected to be chained.

Source

pub fn offset(self, off: i32) -> Query<T>

Skips the first off objects before returning them. Returns self as this method is expected to be chained.

Source

pub fn order(self, column: &'static str, direction: OrderDirection) -> Query<T>

Order the query results by the given column. Multiple calls to this method may be made, with earlier calls taking precedence. It is recommended to use the colname! macro to construct the column name in a type-safe manner.

Source

pub fn order_asc(self, column: &'static str) -> Query<T>

Shorthand for order(column, OrderDirection::Ascending)

Source

pub fn order_desc(self, column: &'static str) -> Query<T>

Shorthand for order(column, OrderDirection::Descending)

Trait Implementations§

Source§

impl<T> Clone for Query<T>
where T: DataResult,

Source§

fn clone(&self) -> Query<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for Query<T>
where T: Debug + DataResult,

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<T> QueryOpsAsync<T> for Query<T>
where T: DataResult,

Source§

async fn load_first( self, conn: &impl ConnectionMethodsAsync, ) -> Result<Option<T>, Error>

Executes the query against conn and returns the first result (if any).
Source§

async fn load(self, conn: &impl ConnectionMethodsAsync) -> Result<Vec<T>, Error>

Executes the query against conn.
Source§

async fn delete( self, conn: &impl ConnectionMethodsAsync, ) -> Result<usize, Error>

Executes the query against conn and deletes all matching objects.
Source§

impl<T> QueryOpsSync<T> for Query<T>
where T: DataResult,

Source§

fn load_first(self, conn: &impl ConnectionMethods) -> Result<Option<T>, Error>

Executes the query against conn and returns the first result (if any).
Source§

fn load(self, conn: &impl ConnectionMethods) -> Result<Vec<T>, Error>

Executes the query against conn.
Source§

fn delete(self, conn: &impl ConnectionMethods) -> Result<usize, Error>

Executes the query against conn and deletes all matching objects.

Auto Trait Implementations§

§

impl<T> Freeze for Query<T>

§

impl<T> RefUnwindSafe for Query<T>
where T: RefUnwindSafe,

§

impl<T> Send for Query<T>
where T: Send,

§

impl<T> Sync for Query<T>
where T: Sync,

§

impl<T> Unpin for Query<T>
where T: Unpin,

§

impl<T> UnwindSafe for Query<T>
where T: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> Fake for T

Source§

fn fake<U>(&self) -> U
where Self: FakeBase<U>,

Source§

fn fake_with_rng<U, R>(&self, rng: &mut R) -> U
where R: Rng + ?Sized, Self: FakeBase<U>,

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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

Source§

impl<T> ErasedDestructor for T
where T: 'static,