Module diesel::helper_types
source · 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 Definitions
Maps
F
to Alias<S>
The return type of
lhs.and(rhs)
The type of
Item
when converted to an expression with the same type as TargetExpr
The type of
Item
when converted to an expression of Type
Represents the return type of
.as_select()
The return type of
expr.asc()
The return type of
expr.assume_not_null()
Represents the return type of
diesel::select(selection)
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)
Represents the return type of
.filter(predicate)
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.
For example, for the inner join between three tables that implement
JoinTo
:
InnerJoinQuerySource<InnerJoinQuerySource<table1, table2>, table3>
Which conveniently lets you omit the exact join condition.Represents the return type of
.intersect(rhs)
Represents the return type of
.intersect_all(rhs)
Represents the return type of
.into_boxed::<'a, DB>()
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.
For example, for the left join between three tables that implement
JoinTo
:
LeftJoinQuerySource<LeftJoinQuerySource<table1, table2>, table3>
Which conveniently lets you omit the exact join condition.The return type of
lhs.like(rhs)
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
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
.select(selection)
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)
The return type of
exists(expr)