Module 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 Aliases§

Add
The return type of l + r
AggregateAll
Return type of AggregateExpressionMethods::aggregate_all
AggregateDistinct
Return type of AggregateExpressionMethods::aggregate_distinct
AggregateFilter
Return type of AggregateExpressionMethods::aggregate_filter
AggregateOrder
Return type of AggregateExpressionMethods::aggregate_order
AliasedFields
Maps F to Alias<S>
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
AsSelect
Represents the return type of .as_select()
Asc
The return type of expr.asc()
AssumeNotNull
The return type of expr.assume_not_null()
Between
The return type of lhs.between(lower, upper)
Cast
The return type of expr.cast<ST>()
Concat
The return type of lhs.concat(rhs)
Desc
The return type of expr.desc()
Distinct
Represents the return type of .distinct()
Div
The return type of l / r
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)
ExceptAll
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))
Following
Return type of FrameBoundDsl::following
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()
FrameBetween
Return type of FrameClauseDsl::frame_between
FrameBetweenWithExclusion
Return type of FrameClauseDsl::frame_between_with_exclusion
FrameBy
Return type of WindowExpressionMethods::frame_by
FrameStartWith
Return type of FrameClauseDsl::frame_start_with
FrameStartWithExclusion
Return type of FrameClauseDsl::frame_start_with_exclusion
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)
InnerJoin
Represents the return type of .inner_join(rhs)
InnerJoinOn
Represents the return type of .inner_join(rhs.on(on))
InnerJoinQuerySource
A query source representing the inner join between two tables.
Intersect
Represents the return type of .intersect(rhs)
IntersectAll
Represents the return type of .intersect_all(rhs)
IntoBoxed
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).
IsNotNull
The return type of expr.is_not_null()
IsNull
The return type of expr.is_null()
Le
LeftJoin
Represents the return type of .left_join(rhs)
LeftJoinOn
Represents the return type of .left_join(rhs.on(on))
LeftJoinQuerySource
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)
Mul
The return type of l * r
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()
NullableSelect
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(...)
Over
Return type of WindowExpressionMethods::over
PartitionBy
Return type of WindowExpressionMethods::partition_by
Preceding
Return type of FrameBoundDsl::preceding
Returning
Represents the return type of InsertStatement::returning, UpdateStatement::returning and DeleteStatement::returning
Select
Represents the return type of .select(selection)
Set
Represents the return type of UpdateStatement::set()
SingleValue
Represents the return type of .single_value()
SkipLocked
Represents the return type of .skip_locked()
SqlTypeOf
The SQL type of an expression
Sub
The return type of l - r
ThenOrderBy
Represents the return type of .then_order_by(ordering)
Union
Represents the return type of .union(rhs)
UnionAll
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(...)
WindowFilter
Return type of WindowExpressionMethods::window_filter
WindowOrder
Return type of WindowExpressionMethods::window_order
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)
first_value
The return type of first_value(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
json
Return type of the json() SQL function.
json_array_0
Return type of the json_array_0() SQL function.
json_array_1
Return type of the json_array_1() SQL function.
json_array_2
Return type of the json_array_2() SQL function.
json_array_length
Return type of the json_array_length() SQL function.
json_array_length_with_path
Return type of the json_array_length_with_path() SQL function.
json_error_position
Return type of the json_error_position() SQL function.
json_group_array
Return type of the json_group_array() SQL function.
json_group_object
Return type of the json_group_object() SQL function.
json_patch
Return type of the json_patch() SQL function.
json_pretty
Return type of the json_pretty() SQL function.
json_pretty_with_indentation
Return type of the json_pretty_with_indentation() SQL function.
json_quote
Return type of the json_quote() SQL function.
json_remove_0
Return type of the json_remove_0() SQL function.
json_remove_1
Return type of the json_remove_1() SQL function.
json_remove_2
Return type of the json_remove_2() SQL function.
json_type
Return type of the json_type() SQL function.
json_type_with_path
Return type of the json_type_with_path() SQL function.
json_valid
Return type of the json_valid() SQL function.
jsonb
Return type of the jsonb() SQL function.
jsonb_array_0
Return type of the jsonb_array_0() SQL function.
jsonb_array_1
Return type of the jsonb_array_1() SQL function.
jsonb_array_2
Return type of the jsonb_array_2() SQL function.
jsonb_group_array
Return type of the jsonb_group_array() SQL function.
jsonb_group_object
Return type of the jsonb_group_object() SQL function.
jsonb_patch
Return type of the jsonb_patch() SQL function.
jsonb_remove_0
Return type of the jsonb_remove_0() SQL function.
jsonb_remove_1
Return type of the jsonb_remove_1() SQL function.
jsonb_remove_2
Return type of the jsonb_remove_2() SQL function.
lag
The return type of lag(expr)
lag_with_offset
The return type of lag_with_offset(expr, offset)
lag_with_offset_and_default
The return type of lag_with_offset_and_default(expr, offset)
last_value
The return type of last_value(expr)
lead
The return type of lead(expr)
lead_with_offset
The return type of lead_with_offset(expr, offset)
lead_with_offset_and_default
The return type of lead_with_offset_and_default(expr, offset)
max
The return type of max(expr)
min
The return type of min(expr)
not
The return type of not(expr)
nth_value
The return type of nth_value(expr, n)
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