Expand description
Provide helper types for concisely writing the return type of functions. As with iterators, it is unfortunately difficult to return a partially constructed query without exposing the exact implementation of the function. Without higher kinded types, these various DSLs can’t be combined into a single trait for boxing purposes.
All types here are in the form <FirstType as DslName<OtherTypes>>::Output
. So the return type of
users.filter(first_name.eq("John")).order(last_name.asc()).limit(10)
would
be Limit<Order<FindBy<users, first_name, &str>, Asc<last_name>>>
Type Aliases§
- Aliased
Fields - Maps
F
toAlias<S>
- And
- The return type of
lhs.and(rhs)
- AsExpr
- The type of
Item
when converted to an expression with the same type asTargetExpr
- AsExpr
Of - The type of
Item
when converted to an expression ofType
- AsSelect
- Represents the return type of
.as_select()
- Asc
- The return type of
expr.asc()
- Assume
NotNull - The return type of
expr.assume_not_null()
- Between
- The return type of
lhs.between(lower, upper)
- Concat
- The return type of
lhs.concat(rhs)
- Desc
- The return type of
expr.desc()
- Distinct
- Represents the return type of
.distinct()
- Eq
- The return type of
lhs.eq(rhs)
- EqAny
- The return type of
lhs.eq_any(rhs)
- Escape
- The return type of
lhs.escape('x')
- Except
- Represents the return type of
.except(rhs)
- Except
All - Represents the return type of
.except_all(rhs)
- Field
- The return type of
alias.field(field)
- Fields
- The return type of
alias.fields(fields)
- Filter
- Represents the return type of
.filter(predicate)
- Find
- Represents the return type of
.find(pk)
- FindBy
- Represents the return type of
.filter(lhs.eq(rhs))
- ForKey
Share - Represents the return type of
.for_key_share()
- ForNo
KeyUpdate - Represents the return type of
.for_no_key_update()
- ForShare
- Represents the return type of
.for_share()
- ForUpdate
- Represents the return type of
.for_update()
- Ge
- GroupBy
- Represents the return type of
.group_by(expr)
- Gt
- The return type of
lhs.gt(rhs)
- GtEq
- The return type of
lhs.ge(rhs)
- Having
- Represents the return type of
.having(predicate)
- Inner
Join - Represents the return type of
.inner_join(rhs)
- Inner
Join On - Represents the return type of
.inner_join(rhs.on(on))
- Inner
Join Query Source - A query source representing the inner join between two tables.
- Intersect
- Represents the return type of
.intersect(rhs)
- Intersect
All - Represents the return type of
.intersect_all(rhs)
- Into
Boxed - Represents the return type of
.into_boxed::<'a, DB>()
- IntoSql
- Represents the return type of
.into_sql()
- Is
- The return type of
lhs.is(rhs)
. - IsNot
- The return type of
lhs.is_not(rhs)
. - IsNot
Null - The return type of
expr.is_not_null()
- IsNull
- The return type of
expr.is_null()
- Le
- Left
Join - Represents the return type of
.left_join(rhs)
- Left
Join On - Represents the return type of
.left_join(rhs.on(on))
- Left
Join Query Source - A query source representing the left outer join between two tables.
- Like
- The return type of
lhs.like(rhs)
- Limit
- Represents the return type of
.limit()
- Lt
- The return type of
lhs.lt(rhs)
- LtEq
- The return type of
lhs.le(rhs)
- Ne
- NeAll
- NeAny
- The return type of
lhs.ne_all(rhs)
- NoWait
- Represents the return type of
.no_wait()
- NotBetween
- The return type of
lhs.not_between(lower, upper)
- NotEq
- The return type of
lhs.ne(rhs)
- NotLike
- The return type of
lhs.not_like(rhs)
- Nullable
- The return type of
expr.nullable()
- Nullable
Select - Represents the return type of
.nullable()
- Offset
- Represents the return type of
.offset()
- On
- Represents the return type of
rhs.on(on)
- Or
- The return type of
lhs.or(rhs)
- OrFilter
- Represents the return type of
.or_filter(predicate)
- Order
- Represents the return type of
.order(ordering)
- OrderBy
- Represents the return type of
.order_by(ordering)
- Otherwise
- The return type of
case_when(...).otherwise(...)
- Returning
- Represents the return type of
InsertStatement::returning
,UpdateStatement::returning
andDeleteStatement::returning
- Select
- Represents the return type of
.select(selection)
- Set
- Represents the return type of
UpdateStatement::set()
- Single
Value - Represents the return type of
.single_value()
- Skip
Locked - Represents the return type of
.skip_locked()
- SqlType
Of - The SQL type of an expression
- Then
Order By - Represents the return type of
.then_order_by(ordering)
- Union
- Represents the return type of
.union(rhs)
- Union
All - Represents the return type of
.union_all(rhs)
- Update
- Represents the return type of
update(lhs).set(rhs)
- Values
- Represents the return type of
IncompleteInsertStatement::values()
- When
- The return type of
case_when(...).when(...)
- avg
- The return type of
avg(expr)
- case_
when - The return type of
case_when()
- delete
- Represents the return type of
diesel::delete
- exists
- The return type of
exists(expr)
- insert_
into - Represents the return type of
diesel::insert_into
- insert_
or_ ignore_ into - Represents the return type of
diesel::insert_or_ignore_into
- max
- The return type of
max(expr)
- min
- The return type of
min(expr)
- not
- The return type of
not(expr)
- replace_
into - Represents the return type of
diesel::replace_into
- select
- Represents the return type of
diesel::select(selection)
- sum
- The return type of
sum(expr)
- update
- Represents the return type of
diesel::update