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
FtoAlias<S> - The return type of
lhs.and(rhs) - AndNet
postgres_backendThe return type oflsh.and(rhs)for network types - ArrayContains
postgres_backendThe return type oflhs.contains(rhs)for array expressions - ArrayIndex
postgres_backendThe return type oflhs.index(rhs) - The type of
Itemwhen converted to an expression with the same type asTargetExpr - The type of
Itemwhen 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_backendThe 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_backendThe return type oflhs.remove_by_path(rhs) - ConcatJsonb
postgres_backendThe return type oflsh.concat(rhs) - ContainsJsonb
postgres_backendThe return type oflsh.contains(rhs)for jsonb types - ContainsNet
postgres_backendThe return type oflhs.contains(rhs)for network types - ContainsNetLoose
postgres_backendThe return type oflhs.contains_or_eq(rhs) - The return type of
expr.desc() - DifferenceNet
postgres_backendThe return type oflsh.diff(rhs) - Represents the return type of
.distinct() - DistinctOn
postgres_backendRepresents 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_backendThe return type oflsh.has_all_keys(rhs) - HasAnyKeyJsonb
postgres_backendThe return type oflsh.has_any_key(rhs) - HasKeyJsonb
postgres_backendThe return type oflsh.has_key(rhs) - Represents the return type of
.having(predicate) - ILike
postgres_backendThe 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
sqliteThe return type oflhs.is(rhs). - IsContainedBy
postgres_backendThe return type oflhs.is_contained_by(rhs) - IsContainedByJsonb
postgres_backendThe return type oflsh.is_contained_by(rhs)for jsonb types - IsContainedByNet
postgres_backendThe return type of [lhs.is_contained_by(rhs)]((super::expression_methods::PgNetExpressionMethods::is_contained_by) for network types - IsContainedByNetLoose
postgres_backendThe return type oflhs.is_contained_by_or_eq(rhs) - IsDistinctFrom
postgres_backendThe return type oflhs.is_distinct_from(rhs) - IsNot
sqliteThe return type oflhs.is_not(rhs). - IsNotDistinctFrom
postgres_backendThe 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_backendThe 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_backendThe return type oflhs.not_ilike(rhs) - The return type of
lhs.not_like(rhs) - NotLikeBinary
postgres_backendThe return type oflhs.remove_by_path(rhs) - NotSimilarTo
postgres_backendThe return type oflhs.not_similar_to(rhs) - The return type of
expr.nullable() - Represents the return type of
.nullable() - NullsFirst
postgres_backendThe return type ofexpr.nulls_first() - NullsLast
postgres_backendThe 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_backendThe return type oflsh.or(rhs)for network types - Represents the return type of
.order(ordering) - OverlapsWith
postgres_backendThe return type oflhs.overlaps_with(rhs) - OverlapsWithNet
postgres_backendThe return type oflhs.overlaps_with(rhs)for network types - RangeContains
postgres_backendThe return type oflhs.contains(rhs)for range expressions - RemoveByPathFromJsonb
postgres_backendThe return type oflhs.remove_by_path(rhs) - RemoveFromJsonb
postgres_backendThe return type oflhs.remove(rhs) - RetrieveAsObjectJson
postgres_backendThe return type oflhs.retrieve_as_object(rhs) - RetrieveAsTextJson
postgres_backendThe return type oflhs.retrieve_as_text(rhs) - RetrieveByPathAsObjectJson
postgres_backendThe return type oflhs.retrieve_by_path_as_object(rhs) - RetrieveByPathAsTextJson
postgres_backendThe return type oflhs.retrieve_by_path_as_text(rhs) - Represents the return type of
.select(selection) - SimilarTo
postgres_backendThe 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)