[][src]Struct diesel::query_builder::SqlQuery

#[must_use = "Queries are only executed when calling `load`, `get_result` or similar."]
pub struct SqlQuery { /* fields omitted */ }

The return value of sql_query.

Unlike most queries in Diesel, SqlQuery loads its data by column name, rather than by index. This means that you cannot deserialize this query into a tuple, and any structs used must implement QueryableByName.

See sql_query for examples.

Methods

impl SqlQuery
[src]

pub fn bind<ST, Value>(self, value: Value) -> UncheckedBind<Self, Value, ST>
[src]

Bind a value for use with this SQL query.

Safety

This function should be used with care, as Diesel cannot validate that the value is of the right type nor can it validate that you have passed the correct number of parameters.

Example

let users = sql_query("SELECT * FROM users WHERE id > ? AND name <> ?")
    .bind::<Integer, _>(1)
    .bind::<Text, _>("Tess")
    .get_results(&connection);
let expected_users = vec![
    User { id: 3, name: "Jim".into() },
];
assert_eq!(Ok(expected_users), users);

Trait Implementations

impl QueryId for SqlQuery
[src]

type QueryId = ()

A type which uniquely represents Self in a SQL query. Read more

fn query_id() -> Option<TypeId>
[src]

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more

impl<DB> QueryFragment<DB> for SqlQuery where
    DB: Backend
[src]

fn to_sql(&self, out: &mut DB::QueryBuilder) -> QueryResult<()>
[src]

Converts this QueryFragment to its SQL representation. Read more

fn collect_binds(
    &self,
    out: &mut DB::BindCollector,
    metadata_lookup: &DB::MetadataLookup
) -> QueryResult<()>
[src]

Serializes all bind parameters in this query. Read more

fn is_safe_to_cache_prepared(&self) -> QueryResult<bool>
[src]

Is this query safe to store in the prepared statement cache? Read more

impl<Conn, T> LoadQuery<Conn, T> for SqlQuery where
    Conn: Connection,
    T: QueryableByName<Conn::Backend>, 
[src]

impl<Conn> RunQueryDsl<Conn> for SqlQuery
[src]

fn execute(self, conn: &Conn) -> QueryResult<usize> where
    Conn: Connection,
    Self: ExecuteDsl<Conn>, 
[src]

Executes the given command, returning the number of rows affected. Read more

fn load<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Executes the given query, returning a Vec with the returned rows. Read more

fn get_result<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, and returns the affected row. Read more

fn get_results<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, returning an Vec with the affected rows. Read more

fn first<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LimitDsl,
    Limit<Self>: LoadQuery<Conn, U>, 
[src]

Attempts to load a single record. Read more

impl Clone for SqlQuery
[src]

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

Performs copy-assignment from source. Read more

impl Debug for SqlQuery
[src]

Auto Trait Implementations

impl Send for SqlQuery

impl Sync for SqlQuery

Blanket Implementations

impl<T> IntoSql for T
[src]

fn into_sql<T>(self) -> AsExprOf<Self, T> where
    Self: AsExpression<T> + Sized
[src]

Convert self to an expression for Diesel's query builder. Read more

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T> where
    &'a Self: AsExpression<T>, 
[src]

Convert &self to an expression for Diesel's query builder. Read more

impl<Conn, T, U> LoadQuery for T where
    Conn: Connection,
    T: AsQuery + RunQueryDsl<Conn>,
    U: Queryable<<T as AsQuery>::SqlType, <Conn as Connection>::Backend>,
    <Conn as Connection>::Backend: HasSqlType<<T as AsQuery>::SqlType>,
    <T as AsQuery>::Query: QueryFragment<<Conn as Connection>::Backend>,
    <T as AsQuery>::Query: QueryId
[src]

impl<Conn, DB, T> ExecuteDsl for T where
    Conn: Connection<Backend = DB>,
    DB: Backend,
    T: QueryFragment<DB> + QueryId
[src]

impl<T, Conn> RunQueryDsl for T where
    T: Table
[src]

fn execute(self, conn: &Conn) -> QueryResult<usize> where
    Conn: Connection,
    Self: ExecuteDsl<Conn>, 
[src]

Executes the given command, returning the number of rows affected. Read more

fn load<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Executes the given query, returning a Vec with the returned rows. Read more

fn get_result<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, and returns the affected row. Read more

fn get_results<U>(self, conn: &Conn) -> QueryResult<Vec<U>> where
    Self: LoadQuery<Conn, U>, 
[src]

Runs the command, returning an Vec with the affected rows. Read more

fn first<U>(self, conn: &Conn) -> QueryResult<U> where
    Self: LimitDsl,
    Limit<Self>: LoadQuery<Conn, U>, 
[src]

Attempts to load a single record. Read more

impl<T> From for T
[src]

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

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

type Owned = T

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

type Error = !

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

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.

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