Module diesel::helper_types[][src]

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

And

The return type of lhs.and(rhs)

AsExpr

The type of Item when converted to an expression with the same type as TargetExpr

AsExprOf

The type of Item when converted to an expression of Type

Asc

The return type of expr.asc()

Between

The return type of lhs.between(lower, upper)

Desc

The return type of expr.desc()

Distinct

Represents the return type of .distinct()

DistinctOn

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')

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))

ForKeyShare

Represents the return type of .for_key_share()

ForNoKeyUpdate

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()

Gt

The return type of lhs.gt(rhs)

GtEq

The return type of lhs.ge(rhs)

InnerJoin

Represents the return type of .inner_join(rhs)

IntoBoxed

Represents the return type of .into_boxed::<'a, DB>()

IsNotNull

The return type of expr.is_not_null()

IsNull

The return type of expr.is_null()

LeftJoin

Represents the return type of .left_join(rhs)

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)

NeAny

The return type of lhs.ne_any(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()

NullableSelect

Represents the return type of .nullable()

Offset

Represents the return type of .offset()

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)

Select

Represents the return type of .select(selection)

SingleValue

Represents the return type of .single_value()

SkipLocked

Represents the return type of .skip_locked()

SqlTypeOf

The SQL type of an expression

ThenOrderBy

Represents the return type of .then_order_by(ordering)

Update

Represents the return type of update(lhs).set(rhs)

avg

The return type of avg(expr)

max

The return type of max(expr)

min

The return type of min(expr)

not

The return type of not(expr)

sum

The return type of sum(expr)