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
toAlias<S>
- The return type of
lhs.and(rhs)
- AndNet
postgres_backend
The return type oflsh.and(rhs)
for network types - ArrayContains
postgres_backend
The return type oflhs.contains(rhs)
for array expressions - ArrayIndex
postgres_backend
The return type oflhs.index(rhs)
- The type of
Item
when converted to an expression with the same type asTargetExpr
- The type of
Item
when 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()
- AtTimeZone
postgres_backend
The return type ofexpr.at_time_zone(tz)
- Represents the return type of
diesel::select(selection)
- The return type of
lhs.between(lower, upper)
- The return type of
lhs.concat(rhs)
- ConcatBinary
postgres_backend
The return type oflhs.remove_by_path(rhs)
- ConcatJsonb
postgres_backend
The return type oflsh.concat(rhs)
- ContainsJsonb
postgres_backend
The return type oflsh.contains(rhs)
for jsonb types - ContainsNet
postgres_backend
The return type oflhs.contains(rhs)
for network types - ContainsNetLoose
postgres_backend
The return type oflhs.contains_or_eq(rhs)
- The return type of
expr.desc()
- DifferenceNet
postgres_backend
The return type oflsh.diff(rhs)
- Represents the return type of
.distinct()
- DistinctOn
postgres_backend
Represents the return type of.distinct_on(expr)
- 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
.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)
- HasAllKeysJsonb
postgres_backend
The return type oflsh.has_all_keys(rhs)
- HasAnyKeyJsonb
postgres_backend
The return type oflsh.has_any_key(rhs)
- HasKeyJsonb
postgres_backend
The return type oflsh.has_key(rhs)
- Represents the return type of
.having(predicate)
- ILike
postgres_backend
The return type oflhs.ilike(rhs)
- 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>()
- Is
sqlite
The return type oflhs.is(rhs)
. - IsContainedBy
postgres_backend
The return type oflhs.is_contained_by(rhs)
- IsContainedByJsonb
postgres_backend
The return type oflsh.is_contained_by(rhs)
for jsonb types - IsContainedByNet
postgres_backend
The return type of [lhs.is_contained_by(rhs)
]((super::expression_methods::PgNetExpressionMethods::is_contained_by) for network types - IsContainedByNetLoose
postgres_backend
The return type oflhs.is_contained_by_or_eq(rhs)
- IsDistinctFrom
postgres_backend
The return type oflhs.is_distinct_from(rhs)
- IsNot
sqlite
The return type oflhs.is_not(rhs)
. - IsNotDistinctFrom
postgres_backend
The return type oflhs.is_not_distinct_from(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. 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)
- LikeBinary
postgres_backend
The return type oflhs.remove_by_path(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)
- NotILike
postgres_backend
The return type oflhs.not_ilike(rhs)
- The return type of
lhs.not_like(rhs)
- NotLikeBinary
postgres_backend
The return type oflhs.remove_by_path(rhs)
- NotSimilarTo
postgres_backend
The return type oflhs.not_similar_to(rhs)
- The return type of
expr.nullable()
- Represents the return type of
.nullable()
- NullsFirst
postgres_backend
The return type ofexpr.nulls_first()
- NullsLast
postgres_backend
The return type ofexpr.nulls_last()
- 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)
- OrNet
postgres_backend
The return type oflsh.or(rhs)
for network types - Represents the return type of
.order(ordering)
- OverlapsWith
postgres_backend
The return type oflhs.overlaps_with(rhs)
- OverlapsWithNet
postgres_backend
The return type oflhs.overlaps_with(rhs)
for network types - RangeContains
postgres_backend
The return type oflhs.contains(rhs)
for range expressions - RemoveByPathFromJsonb
postgres_backend
The return type oflhs.remove_by_path(rhs)
- RemoveFromJsonb
postgres_backend
The return type oflhs.remove(rhs)
- RetrieveAsObjectJson
postgres_backend
The return type oflhs.retrieve_as_object(rhs)
- RetrieveAsTextJson
postgres_backend
The return type oflhs.retrieve_as_text(rhs)
- RetrieveByPathAsObjectJson
postgres_backend
The return type oflhs.retrieve_by_path_as_object(rhs)
- RetrieveByPathAsTextJson
postgres_backend
The return type oflhs.retrieve_by_path_as_text(rhs)
- Represents the return type of
.select(selection)
- SimilarTo
postgres_backend
The return type oflhs.similar_to(rhs)
- 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
avg(expr)
- The return type of
exists(expr)
- The return type of
max(expr)
- The return type of
min(expr)
- The return type of
not(expr)
- The return type of
sum(expr)