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§
- Maps
FtoAlias<S> - The return type of
lhs.and(rhs) - The type of
Itemwhen converted to an expression with the same type asTargetExpr - The type of
Itemwhen converted to an expression ofType - Represents the return type of
.as_select() - The return type of
expr.asc() - The return type of
expr.assume_not_null() - The return type of
lhs.between(lower, upper) - The return type of
lhs.concat(rhs) - The return type of
expr.desc() - Represents the return type of
.distinct() - The return type of
lhs.eq(rhs) - The return type of
lhs.eq_any(rhs) - The return type of
lhs.escape('x') - Represents the return type of
.except(rhs) - Represents the return type of
.except_all(rhs) - The return type of
alias.field(field) - The return type of
alias.fields(fields) - Represents the return type of
.filter(predicate) - Represents the return type of
.find(pk) - Represents the return type of
.filter(lhs.eq(rhs)) - Represents the return type of
.for_key_share() - Represents the return type of
.for_no_key_update() - Represents the return type of
.for_share() - Represents the return type of
.for_update() - Represents the return type of
.group_by(expr) - The return type of
lhs.gt(rhs) - The return type of
lhs.ge(rhs) - Represents the return type of
.having(predicate) - Represents the return type of
.inner_join(rhs) - Represents the return type of
.inner_join(rhs.on(on)) - A query source representing the inner join between two tables.
- Represents the return type of
.intersect(rhs) - Represents the return type of
.intersect_all(rhs) - Represents the return type of
.into_boxed::<'a, DB>() - Represents the return type of
.into_sql() - The return type of
lhs.is(rhs). - The return type of
lhs.is_not(rhs). - The return type of
expr.is_not_null() - The return type of
expr.is_null() - Represents the return type of
.left_join(rhs) - Represents the return type of
.left_join(rhs.on(on)) - A query source representing the left outer join between two tables.
- The return type of
lhs.like(rhs) - Represents the return type of
.limit() - The return type of
lhs.lt(rhs) - The return type of
lhs.le(rhs) - The return type of
lhs.ne_all(rhs) - Represents the return type of
.no_wait() - The return type of
lhs.not_between(lower, upper) - The return type of
lhs.ne(rhs) - The return type of
lhs.not_like(rhs) - The return type of
expr.nullable() - Represents the return type of
.nullable() - Represents the return type of
.offset() - Represents the return type of
rhs.on(on) - The return type of
lhs.or(rhs) - Represents the return type of
.or_filter(predicate) - Represents the return type of
.order(ordering) - Represents the return type of
.order_by(ordering) - The return type of
case_when(...).otherwise(...) - Represents the return type of
.select(selection) - Represents the return type of
UpdateStatement::set() - Represents the return type of
.single_value() - Represents the return type of
.skip_locked() - The SQL type of an expression
- Represents the return type of
.then_order_by(ordering) - Represents the return type of
.union(rhs) - Represents the return type of
.union_all(rhs) - Represents the return type of
update(lhs).set(rhs) - Represents the return type of
IncompleteInsertStatement::values() - The return type of
case_when(...).when(...) - The return type of
avg(expr) - The return type of
case_when() - Represents the return type of
diesel::delete - The return type of
exists(expr) - Represents the return type of
diesel::insert_into - Represents the return type of
diesel::insert_or_ignore_into - The return type of
max(expr) - The return type of
min(expr) - The return type of
not(expr) - Represents the return type of
diesel::replace_into - Represents the return type of
diesel::select(selection) - The return type of
sum(expr)