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§

AliasedFields
Maps F to Alias<S>
And
The return type of lhs.and(rhs)
AndNet
The return type of lsh.and(rhs) for network types
ArrayContainsDeprecated
ArrayIndexDeprecated
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()
AtTimeZone
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)
ConcatArrayDeprecated
ConcatBinaryDeprecated
ConcatJsonbDeprecated
Contains
The return type of lhs.contains(rhs) for array expressions
ContainsJsonbDeprecated
ContainsNet
The return type of lhs.contains(rhs) for network types
ContainsNetLoose
The return type of lhs.contains_or_eq(rhs)
ContainsOrEq
Desc
The return type of expr.desc()
Diff
DifferenceNet
The return type of lsh.diff(rhs)
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')
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))
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()
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)
HasAllKeys
HasAllKeysJsonb
The return type of lsh.has_all_keys(rhs)
HasAnyKey
HasAnyKeyJsonb
The return type of lsh.has_any_key(rhs)
HasKey
HasKeyJsonb
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)
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()
IsContainedBy
The return type of lhs.is_contained_by(rhs)
IsContainedByJsonbDeprecated
IsContainedByNet
The return type of [lhs.is_contained_by(rhs)]((super::expression_methods::PgNetExpressionMethods::is_contained_by) for network types
IsContainedByNetLoose
The return type of lhs.is_contained_by_or_eq(rhs)
IsContainedByOrEq
IsDistinctFrom
The return type of lhs.is_distinct_from(rhs)
IsNotDistinctFrom
The return type of lhs.is_not_distinct_from(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)
LikeBinaryDeprecated
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)
NotILike
The return type of lhs.not_ilike(rhs)
NotIlike
NotLike
The return type of lhs.not_like(rhs)
NotLikeBinaryDeprecated
NotSimilarTo
The return type of lhs.not_similar_to(rhs)
Nullable
The return type of expr.nullable()
NullableSelect
Represents the return type of .nullable()
NullsFirst
The return type of expr.nulls_first()
NullsLast
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(...)
OverlapsWith
The return type of lhs.overlaps_with(rhs)
OverlapsWithNet
The return type of lhs.overlaps_with(rhs) for network types
RangeContains
The return type of lhs.contains(rhs) for range expressions
Remove
RemoveByPath
RemoveByPathFromJsonb
The return type of lhs.remove_by_path(rhs)
RemoveFromJsonb
The return type of lhs.remove(rhs)
RetrieveAsObject
RetrieveAsObjectJson
The return type of lhs.retrieve_as_object(rhs)
RetrieveAsText
RetrieveAsTextJson
The return type of lhs.retrieve_as_text(rhs)
RetrieveByPathAsObject
RetrieveByPathAsObjectJson
The return type of lhs.retrieve_by_path_as_object(rhs)
RetrieveByPathAsText
RetrieveByPathAsTextJson
The return type of lhs.retrieve_by_path_as_text(rhs)
Select
Represents the return type of .select(selection)
Set
Represents the return type of UpdateStatement::set()
SimilarTo
The return type of lhs.similar_to(rhs)
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)
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(...)
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)