Type Alias diesel::dsl::BareSelect

source ·
pub type BareSelect<Selection> = SelectStatement<NoFromClause, SelectClause<Selection>>;
Expand description

Represents the return type of diesel::select(selection)

Aliased Type§

struct BareSelect<Selection> {
    pub select: SelectClause<Selection>,
    pub from: NoFromClause,
    pub distinct: NoDistinctClause,
    pub where_clause: NoWhereClause,
    pub order: NoOrderClause,
    pub limit_offset: LimitOffsetClause<NoLimitClause, NoOffsetClause>,
    pub group_by: NoGroupByClause,
    pub having: NoHavingClause,
    pub locking: NoLockingClause,
}

Fields§

§select: SelectClause<Selection>

The select clause of the query

§from: NoFromClause

The from clause of the query

§distinct: NoDistinctClause

The distinct clause of the query

§where_clause: NoWhereClause

The where clause of the query

§order: NoOrderClause

The order clause of the query

§limit_offset: LimitOffsetClause<NoLimitClause, NoOffsetClause>

The combined limit/offset clause of the query

§group_by: NoGroupByClause

The group by clause of the query

§having: NoHavingClause

The having clause of the query

§locking: NoLockingClause

The locking clauise of the query

Trait Implementations§

source§

impl<ST, F, S, D, W, O, LOf, G, H, LC> AsInExpression<ST> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where ST: SqlType + TypedExpressionType, Subselect<Self, ST>: Expression<SqlType = ST>, Self: SelectQuery<SqlType = ST>,

§

type InExpression = Subselect<SelectStatement<F, S, D, W, O, LOf, G, H, LC>, ST>

Type of the expression returned by AsInExpression::as_in_expression
source§

fn as_in_expression(self) -> Self::InExpression

Construct the diesel query dsl representation of the IN (values) clause for the given type
source§

impl<'a, S, D, W, O, LOf, G, H, DB> BoxedDsl<'a, DB> for SelectStatement<NoFromClause, S, D, W, O, LOf, G, H>where Self: AsQuery, DB: Backend, S: SelectClauseExpression<NoFromClause> + QueryFragment<DB> + Send + 'a, S::Selection: ValidGrouping<G::Expressions>, D: QueryFragment<DB> + Send + 'a, W: Into<BoxedWhereClause<'a, DB>>, O: Into<Option<Box<dyn QueryFragment<DB> + Send + 'a>>>, LOf: IntoBoxedClause<'a, DB, BoxedClause = BoxedLimitOffsetClause<'a, DB>>, G: ValidGroupByClause + QueryFragment<DB> + Send + 'a, H: QueryFragment<DB> + Send + 'a,

§

type Output = BoxedSelectStatement<'a, <S as SelectClauseExpression<NoFromClause>>::SelectClauseSqlType, NoFromClause, DB, <G as ValidGroupByClause>::Expressions>

The return type of internal_into_boxed
source§

fn internal_into_boxed(self) -> Self::Output

See the trait documentation.
source§

impl<From: Clone, Select: Clone, Distinct: Clone, Where: Clone, Order: Clone, LimitOffset: Clone, GroupBy: Clone, Having: Clone, Locking: Clone> Clone for SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>

source§

fn clone( &self ) -> SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>

Returns a copy 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<F, S, D, W, O, LOf, G, H, LC> CombineDsl for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where Self: Query,

§

type Query = SelectStatement<F, S, D, W, O, LOf, G, H, LC>

What kind of query does this type represent?
source§

fn union<Rhs>(self, rhs: Rhs) -> Union<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL UNION Read more
source§

fn union_all<Rhs>(self, rhs: Rhs) -> UnionAll<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL UNION ALL
source§

fn intersect<Rhs>(self, rhs: Rhs) -> Intersect<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL INTERSECT
source§

fn intersect_all<Rhs>(self, rhs: Rhs) -> IntersectAll<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL INTERSECT ALL
source§

fn except<Rhs>(self, rhs: Rhs) -> Except<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL EXCEPT
source§

fn except_all<Rhs>(self, rhs: Rhs) -> ExceptAll<Self, Rhs>where Rhs: AsQuery<SqlType = <Self::Query as Query>::SqlType>,

Combine two queries using a SQL EXCEPT ALL
source§

impl<From: Debug, Select: Debug, Distinct: Debug, Where: Debug, Order: Debug, LimitOffset: Debug, GroupBy: Debug, Having: Debug, Locking: Debug> Debug for SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>

source§

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

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

impl<ST, F, S, D, W, O, LOf, G, H> DistinctDsl for SelectStatement<F, S, D, W, O, LOf, G, H>where Self: SelectQuery<SqlType = ST>, SelectStatement<F, S, DistinctClause, W, O, LOf, G, H>: SelectQuery<SqlType = ST>,

§

type Output = SelectStatement<F, S, DistinctClause, W, O, LOf, G, H, NoLockingClause>

The type returned by .distinct
source§

fn distinct(self) -> Self::Output

See the trait documentation.
source§

impl<F, S, D, W, O, LOf, G, H, LC, Predicate> FilterDsl<Predicate> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where Predicate: Expression + NonAggregate, Predicate::SqlType: BoolOrNullableBool, W: WhereAnd<Predicate>,

§

type Output = SelectStatement<F, S, D, <W as WhereAnd<Predicate>>::Output, O, LOf, G, H, LC>

The type returned by .filter.
source§

fn filter(self, predicate: Predicate) -> Self::Output

See the trait documentation.
source§

impl<F, S, D, W, O, LOf, G, H, Expr> GroupByDsl<Expr> for SelectStatement<F, S, D, W, O, LOf, G, H>where SelectStatement<F, S, D, W, O, LOf, GroupByClause<Expr>, H>: SelectQuery, Expr: Expression + AppearsOnTable<F>,

§

type Output = SelectStatement<F, S, D, W, O, LOf, GroupByClause<Expr>, H, NoLockingClause>

The type returned by .group_by
source§

fn group_by(self, expr: Expr) -> Self::Output

See the trait documentation.
source§

impl<F, S, D, W, O, LOf, G, H, LC, Tab> Insertable<Tab> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where Tab: Table, Self: Query, <Tab::AllColumns as ValidGrouping<()>>::IsAggregate: MixedAggregates<No, Output = No>,

§

type Values = InsertFromSelect<SelectStatement<F, S, D, W, O, LOf, G, H, LC>, <Tab as Table>::AllColumns>

The VALUES clause to insert these records Read more
source§

fn values(self) -> Self::Values

Construct Self::Values Read more
source§

fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where T: Table, Self: Sized,

Insert self into a given table. Read more
source§

impl<ST, F, S, D, W, O, L, Of, G, H, LC> LimitDsl for SelectStatement<F, S, D, W, O, LimitOffsetClause<L, Of>, G, H, LC>where Self: SelectQuery<SqlType = ST>, SelectStatement<F, S, D, W, O, LimitOffsetClause<LimitClause<AsExprOf<i64, BigInt>>, Of>, G, H, LC>: SelectQuery<SqlType = ST>,

§

type Output = SelectStatement<F, S, D, W, O, LimitOffsetClause<LimitClause<<i64 as AsExpression<BigInt>>::Expression>, Of>, G, H, LC>

The type returned by .limit
source§

fn limit(self, limit: i64) -> Self::Output

See the trait documentation
source§

impl<F, S, W, O, LOf, Lock> LockingDsl<Lock> for SelectStatement<F, S, NoDistinctClause, W, O, LOf>

§

type Output = SelectStatement<F, S, NoDistinctClause, W, O, LOf, NoGroupByClause, NoHavingClause, LockingClause<Lock, NoModifier>>

The type returned by set_lock. See dsl::ForUpdate and friends for convenient access to this type.
source§

fn with_lock(self, lock: Lock) -> Self::Output

See the trait level documentation
source§

impl<ST, F, S, D, W, O, L, Of, G, H, LC> OffsetDsl for SelectStatement<F, S, D, W, O, LimitOffsetClause<L, Of>, G, H, LC>where Self: SelectQuery<SqlType = ST>, SelectStatement<F, S, D, W, O, LimitOffsetClause<L, OffsetClause<AsExprOf<i64, BigInt>>>, G, H, LC>: SelectQuery<SqlType = ST>,

§

type Output = SelectStatement<F, S, D, W, O, LimitOffsetClause<L, OffsetClause<<i64 as AsExpression<BigInt>>::Expression>>, G, H, LC>

The type returned by .offset.
source§

fn offset(self, offset: i64) -> Self::Output

See the trait documentation
source§

impl<F, S, D, W, O, LOf, G, H, LC, Predicate> OrFilterDsl<Predicate> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where Predicate: Expression + NonAggregate, Predicate::SqlType: BoolOrNullableBool, W: WhereOr<Predicate>,

§

type Output = SelectStatement<F, S, D, <W as WhereOr<Predicate>>::Output, O, LOf, G, H, LC>

The type returned by .filter.
source§

fn or_filter(self, predicate: Predicate) -> Self::Output

See the trait documentation.
source§

impl<F, S, D, W, O, LOf, G, H, LC> Query for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where G: ValidGroupByClause, S: SelectClauseExpression<F>, S::Selection: ValidGrouping<G::Expressions>, W: ValidWhereClause<F>,

§

type SqlType = <S as SelectClauseExpression<F>>::SelectClauseSqlType

The SQL type that this query represents. Read more
source§

impl<F, S, D, W, O, LOf, G, H, LC> QueryDsl for SelectStatement<F, S, D, W, O, LOf, G, H, LC>

source§

fn distinct_on<Expr>(self, expr: Expr) -> DistinctOn<Self, Expr>where Self: DistinctOnDsl<Expr>,

Adds the DISTINCT ON clause to a query. Read more
source§

fn select<Selection>(self, selection: Selection) -> Select<Self, Selection>where Selection: Expression, Self: SelectDsl<Selection>,

Adds a SELECT clause to the query. Read more
source§

fn inner_join<Rhs>(self, rhs: Rhs) -> InnerJoin<Self, Rhs>where Self: JoinWithImplicitOnClause<Rhs, Inner>,

Join two tables using a SQL INNER JOIN. Read more
source§

fn left_outer_join<Rhs>(self, rhs: Rhs) -> LeftJoin<Self, Rhs>where Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,

Join two tables using a SQL LEFT OUTER JOIN. Read more
source§

fn left_join<Rhs>(self, rhs: Rhs) -> LeftJoin<Self, Rhs>where Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,

Alias for left_outer_join.
source§

fn filter<Predicate>(self, predicate: Predicate) -> Filter<Self, Predicate>where Self: FilterDsl<Predicate>,

Adds to the WHERE clause of a query. Read more
source§

fn or_filter<Predicate>(self, predicate: Predicate) -> OrFilter<Self, Predicate>where Self: OrFilterDsl<Predicate>,

Adds to the WHERE clause of a query using OR Read more
source§

fn find<PK>(self, id: PK) -> Find<Self, PK>where Self: FindDsl<PK>,

Attempts to find a single record from the given table by primary key. Read more
source§

fn order<Expr>(self, expr: Expr) -> Order<Self, Expr>where Expr: Expression, Self: OrderDsl<Expr>,

Sets the order clause of a query. Read more
source§

fn order_by<Expr>(self, expr: Expr) -> Order<Self, Expr>where Expr: Expression, Self: OrderDsl<Expr>,

Alias for order
source§

fn then_order_by<Order>(self, order: Order) -> ThenOrderBy<Self, Order>where Self: ThenOrderDsl<Order>,

Appends to the ORDER BY clause of this SQL query. Read more
source§

fn group_by<GB>(self, group_by: GB) -> GroupBy<Self, GB>where GB: Expression, Self: GroupByDsl<GB>,

Sets the group by clause of a query. Read more
source§

fn having<Predicate>(self, predicate: Predicate) -> Having<Self, Predicate>where Self: HavingDsl<Predicate>,

Adds to the HAVING clause of a query. Read more
source§

fn into_boxed<'a, DB>(self) -> IntoBoxed<'a, Self, DB>where DB: Backend, Self: BoxedDsl<'a, DB>,

Boxes the pieces of a query into a single type. Read more
source§

impl<F, S, D, W, O, LOf, G, H, LC, DB> QueryFragment<DB, AnsiSqlSelectStatement> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where DB: Backend<SelectStatementSyntax = AnsiSqlSelectStatement>, S: QueryFragment<DB>, F: QueryFragment<DB>, D: QueryFragment<DB>, W: QueryFragment<DB>, O: QueryFragment<DB>, LOf: QueryFragment<DB>, G: QueryFragment<DB>, H: QueryFragment<DB>, LC: QueryFragment<DB>,

source§

fn walk_ast<'b>(&'b self, out: AstPass<'_, 'b, DB>) -> QueryResult<()>

Walk over this QueryFragment for all passes. Read more
source§

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

Converts this QueryFragment to its SQL representation. Read more
source§

fn collect_binds<'b>( &'b self, out: &mut <DB as HasBindCollector<'b>>::BindCollector, metadata_lookup: &mut DB::MetadataLookup, backend: &'b DB ) -> QueryResult<()>

Serializes all bind parameters in this query. Read more
source§

fn is_safe_to_cache_prepared(&self, backend: &DB) -> QueryResult<bool>

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

fn is_noop(&self, backend: &DB) -> QueryResult<bool>

Does walking this AST have any effect?
source§

impl<From: QueryId, Select: QueryId, Distinct: QueryId, Where: QueryId, Order: QueryId, LimitOffset: QueryId, GroupBy: QueryId, Having: QueryId, Locking: QueryId> QueryId for SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>

§

type QueryId = SelectStatement<<From as QueryId>::QueryId, <Select as QueryId>::QueryId, <Distinct as QueryId>::QueryId, <Where as QueryId>::QueryId, <Order as QueryId>::QueryId, <LimitOffset as QueryId>::QueryId, <GroupBy as QueryId>::QueryId, <Having as QueryId>::QueryId, <Locking as QueryId>::QueryId>

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

const HAS_STATIC_QUERY_ID: bool = _

Can the SQL generated by Self be uniquely identified by its type? Read more
source§

fn query_id() -> Option<TypeId>

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

impl<F, S, D, W, O, LOf, G, H, LC, Conn> RunQueryDsl<Conn> for SelectStatement<F, S, D, W, O, LOf, G, H, LC>

source§

fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>where Self: LoadQuery<'query, Conn, U>,

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

fn load_iter<'conn, 'query: 'conn, U, B>( self, conn: &'conn mut Conn ) -> QueryResult<LoadIter<'conn, 'query, Self, Conn, U, B>>where U: 'conn, Self: LoadQuery<'query, Conn, U, B> + 'conn,

Executes the given query, returning an Iterator with the returned rows. Read more
source§

fn get_result<'query, U>(self, conn: &mut Conn) -> QueryResult<U>where Self: LoadQuery<'query, Conn, U>,

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

fn get_results<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>where Self: LoadQuery<'query, Conn, U>,

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

impl<S, D, W, O, LOf, G, H, LC, Selection> SelectDsl<Selection> for SelectStatement<NoFromClause, S, D, W, O, LOf, G, H, LC>where G: ValidGroupByClause, Selection: SelectableExpression<NoFromClause> + ValidGrouping<G::Expressions>, SelectStatement<NoFromClause, SelectClause<Selection>, D, W, O, LOf, G, H, LC>: SelectQuery,

§

type Output = SelectStatement<NoFromClause, SelectClause<Selection>, D, W, O, LOf, G, H, LC>

The type returned by .select
source§

fn select(self, selection: Selection) -> Self::Output

See the trait documentation
source§

impl<F, S, D, W, O, LOf, G, H> SelectNullableDsl for SelectStatement<F, SelectClause<S>, D, W, O, LOf, G, H>

§

type Output = SelectStatement<F, SelectClause<Nullable<S>>, D, W, O, LOf, G, H, NoLockingClause>

The return type of nullable
source§

fn nullable(self) -> Self::Output

See the trait documentation
source§

impl<F, S, D, W, O, LOf, G, H, LC> SelectQuery for SelectStatement<F, S, D, W, O, LOf, G, H, LC>where S: SelectClauseExpression<F>, O: ValidOrderingForDistinct<D>,

§

type SqlType = <S as SelectClauseExpression<F>>::SelectClauseSqlType

The SQL type of the SELECT clause
source§

impl<F, S, D, W, LOf, G, LC, Expr> ThenOrderDsl<Expr> for SelectStatement<F, S, D, W, NoOrderClause, LOf, G, LC>where Expr: Expression, Self: OrderDsl<Expr>,

§

type Output = <SelectStatement<F, S, D, W, NoOrderClause, LOf, G, LC, NoLockingClause> as OrderDsl<Expr>>::Output

The type returned by .then_order_by.
source§

fn then_order_by(self, expr: Expr) -> Self::Output

See the trait documentation.
source§

impl<From: Copy, Select: Copy, Distinct: Copy, Where: Copy, Order: Copy, LimitOffset: Copy, GroupBy: Copy, Having: Copy, Locking: Copy> Copy for SelectStatement<From, Select, Distinct, Where, Order, LimitOffset, GroupBy, Having, Locking>