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
FtoAlias<S> - And
- The return type of
lhs.and(rhs) - AndNet
- The return type of
lsh.and(rhs)for network types - Array
Contains Deprecated - Array
Index Deprecated - AsExpr
- The type of
Itemwhen converted to an expression with the same type asTargetExpr - AsExpr
Of - The type of
Itemwhen 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() - AtTime
Zone - The return type of
expr.at_time_zone(tz) - Between
- The return type of
lhs.between(lower, upper) - Concat
- The return type of
lhs.concat(rhs) - Concat
Array Deprecated - Concat
Binary Deprecated - Concat
Jsonb Deprecated - Contains
- The return type of
lhs.contains(rhs)for array expressions - Contains
Jsonb Deprecated - Contains
Net - The return type of
lhs.contains(rhs)for network types - Contains
NetLoose - The return type of
lhs.contains_or_eq(rhs) - Contains
OrEq - Desc
- The return type of
expr.desc() - Diff
- Difference
Net - The return type of
lsh.diff(rhs) - Distinct
- Represents the return type of
.distinct() - Distinct
On - Represents the return type of
.distinct_on(expr) - 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) - HasAll
Keys - HasAll
Keys Jsonb - The return type of
lsh.has_all_keys(rhs) - HasAny
Key - HasAny
KeyJsonb - The return type of
lsh.has_any_key(rhs) - HasKey
- HasKey
Jsonb - The return type of
lsh.has_key(rhs) - Having
- Represents the return type of
.having(predicate) - ILike
- The return type of
lhs.ilike(rhs) - Ilike
- Index
- The return type of
lhs.index(rhs) - 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() - IsContained
By - The return type of
lhs.is_contained_by(rhs) - IsContained
ByJsonb Deprecated - IsContained
ByNet - The return type of [
lhs.is_contained_by(rhs)]((super::expression_methods::PgNetExpressionMethods::is_contained_by) for network types - IsContained
ByNet Loose - The return type of
lhs.is_contained_by_or_eq(rhs) - IsContained
ByOr Eq - IsDistinct
From - The return type of
lhs.is_distinct_from(rhs) - IsNot
Distinct From - The return type of
lhs.is_not_distinct_from(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) - Like
Binary Deprecated - 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) - NotI
Like - The return type of
lhs.not_ilike(rhs) - NotIlike
- NotLike
- The return type of
lhs.not_like(rhs) - NotLike
Binary Deprecated - NotSimilar
To - The return type of
lhs.not_similar_to(rhs) - Nullable
- The return type of
expr.nullable() - Nullable
Select - Represents the return type of
.nullable() - Nulls
First - The return type of
expr.nulls_first() - Nulls
Last - The return type of
expr.nulls_last() - 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) - OrNet
- The return type of
lsh.or(rhs)for network types - 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(...) - Overlaps
With - The return type of
lhs.overlaps_with(rhs) - Overlaps
With Net - The return type of
lhs.overlaps_with(rhs)for network types - Range
Contains - The return type of
lhs.contains(rhs)for range expressions - Remove
- Remove
ByPath - Remove
ByPath From Jsonb - The return type of
lhs.remove_by_path(rhs) - Remove
From Jsonb - The return type of
lhs.remove(rhs) - Retrieve
AsObject - Retrieve
AsObject Json - The return type of
lhs.retrieve_as_object(rhs) - Retrieve
AsText - Retrieve
AsText Json - The return type of
lhs.retrieve_as_text(rhs) - Retrieve
ByPath AsObject - Retrieve
ByPath AsObject Json - The return type of
lhs.retrieve_by_path_as_object(rhs) - Retrieve
ByPath AsText - Retrieve
ByPath AsText Json - The return type of
lhs.retrieve_by_path_as_text(rhs) - Returning
- Represents the return type of
InsertStatement::returning,UpdateStatement::returningandDeleteStatement::returning - Select
- Represents the return type of
.select(selection) - Set
- Represents the return type of
UpdateStatement::set() - Similar
To - The return type of
lhs.similar_to(rhs) - 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