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)
AndNetpostgres_backend
The return type of lsh.and(rhs) for network types
ArrayContainsDeprecatedpostgres_backend
ArrayIndexDeprecatedpostgres_backend
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()
AtTimeZonepostgres_backend
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)
ConcatArrayDeprecatedpostgres_backend
ConcatBinaryDeprecatedpostgres_backend
ConcatJsonbDeprecatedpostgres_backend
Containspostgres_backend
The return type of lhs.contains(rhs) for array expressions
ContainsJsonbDeprecatedpostgres_backend
ContainsNetpostgres_backend
The return type of lhs.contains(rhs) for network types
ContainsNetLoosepostgres_backend
The return type of lhs.contains_or_eq(rhs)
ContainsOrEqpostgres_backend
ContainsRangepostgres_backend
The return type of lhs.contains_range(rhs) for range expressions
Desc
The return type of expr.desc()
Diffpostgres_backend
Differencepostgres_backend
The return type of lhs.difference_range(rhs)
DifferenceNetpostgres_backend
The return type of lsh.diff(rhs)
DifferenceRangepostgres_backend
Distinct
Represents the return type of .distinct()
DistinctOnpostgres_backend
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
GreaterThanpostgres_backend
GreaterThanRangepostgres_backend
The return type of lhs.range_is_contained_by(rhs)
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)
HasAllKeyspostgres_backend
HasAllKeysJsonbpostgres_backend
The return type of lsh.has_all_keys(rhs)
HasAnyKeypostgres_backend
HasAnyKeyJsonbpostgres_backend
The return type of lsh.has_any_key(rhs)
HasKeypostgres_backend
HasKeyJsonbpostgres_backend
The return type of lsh.has_key(rhs)
Having
Represents the return type of .having(predicate)
ILikepostgres_backend
The return type of lhs.ilike(rhs)
Ilikepostgres_backend
Indexpostgres_backend
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)
Intersectionpostgres_backend
The return type of lhs.intersection_range(rhs)
IntersectionRangepostgres_backend
IntoBoxed
Represents the return type of .into_boxed::<'a, DB>()
IntoSql
Represents the return type of .into_sql()
Issqlite
The return type of lhs.is(rhs).
IsContainedBypostgres_backend
The return type of lhs.range_is_contained_by(rhs) and lhs.is_contained_by(rhs)
IsContainedByJsonbDeprecatedpostgres_backend
IsContainedByNetpostgres_backend
The return type of [lhs.is_contained_by(rhs)]((super::expression_methods::PgNetExpressionMethods::is_contained_by) for network types
IsContainedByNetLoosepostgres_backend
The return type of lhs.is_contained_by_or_eq(rhs)
IsContainedByOrEqpostgres_backend
IsContainedByRangepostgres_backend
The return type of lhs.is_contained_by_range(rhs)
IsDistinctFrompostgres_backend
The return type of lhs.is_distinct_from(rhs)
IsJsonpostgres_backend
The return type of expr.is_json()
IsJsonArraypostgres_backend
The return type of expr.is_json_array()
IsJsonObjectpostgres_backend
The return type of expr.is_json_object()
IsJsonScalarpostgres_backend
The return type of expr.is_json_scalar()
IsNotsqlite
The return type of lhs.is_not(rhs).
IsNotDistinctFrompostgres_backend
The return type of lhs.is_not_distinct_from(rhs)
IsNotJsonpostgres_backend
The return type of expr.is_not_json()
IsNotJsonArraypostgres_backend
The return type of expr.is_not_json_array()
IsNotJsonObjectpostgres_backend
The return type of expr.is_not_json_object()
IsNotJsonScalarpostgres_backend
The return type of expr.is_not_json_scalar()
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.
LesserThanpostgres_backend
LesserThanRangepostgres_backend
The return type of lhs.range_is_contained_by(rhs)
Like
The return type of lhs.like(rhs)
LikeBinaryDeprecatedpostgres_backend
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)
NotILikepostgres_backend
The return type of lhs.not_ilike(rhs)
NotIlikepostgres_backend
NotLike
The return type of lhs.not_like(rhs)
NotLikeBinaryDeprecatedpostgres_backend
NotSimilarTopostgres_backend
The return type of lhs.not_similar_to(rhs)
Nullable
The return type of expr.nullable()
NullableSelect
Represents the return type of .nullable()
NullsFirstpostgres_backend
The return type of expr.nulls_first()
NullsLastpostgres_backend
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)
OrNetpostgres_backend
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(...)
OverlapsWithpostgres_backend
The return type of lhs.overlaps_with(rhs) and lhs.overlaps_with(rhs)
OverlapsWithNetpostgres_backend
The return type of lhs.overlaps_with(rhs) for network types
RangeAdjacentpostgres_backend
The return type of lhs.range_adjacent(rhs)
RangeContainspostgres_backend
The return type of lhs.contains(rhs) for range expressions
RangeExtendsLeftTopostgres_backend
The return type of lhs.range_extends_left_to(rhs) for range expressions
RangeExtendsRightTopostgres_backend
The return type of lhs.range_extends_right_to(rhs) for range expressions
Removepostgres_backend
RemoveByPathpostgres_backend
RemoveByPathFromJsonbpostgres_backend
The return type of lhs.remove_by_path(rhs)
RemoveFromJsonbpostgres_backend
The return type of lhs.remove(rhs)
RetrieveAsObjectpostgres_backend
RetrieveAsObjectJsonpostgres_backend
The return type of lhs.retrieve_as_object(rhs)
RetrieveAsTextpostgres_backend
RetrieveAsTextJsonpostgres_backend
The return type of lhs.retrieve_as_text(rhs)
RetrieveByPathAsObjectpostgres_backend
RetrieveByPathAsObjectJsonpostgres_backend
The return type of lhs.retrieve_by_path_as_object(rhs)
RetrieveByPathAsTextpostgres_backend
RetrieveByPathAsTextJsonpostgres_backend
The return type of lhs.retrieve_by_path_as_text(rhs)
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()
SimilarTopostgres_backend
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)
UnionRangepostgres_backend
The return type of lhs.union_range(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(...)
array_appendpostgres_backend
Return type of array_append(array, element)
array_catpostgres_backend
Return type of array_cat(array_a, array_b)
array_dimspostgres_backend
Return type of array_dims(array)
array_fillpostgres_backend
Return type of array_fill(value,array)
array_fill_with_lower_boundpostgres_backend
Return type of array_fill_with_lower_bound(value,array,array)
array_lengthpostgres_backend
Return type of array_length(array, dimension)
array_lowerpostgres_backend
Return type of array_lower(array, bound)
array_ndimspostgres_backend
Return type of array_ndims(array)
array_positionpostgres_backend
Return type of array_position(array,element)
array_position_with_subscriptpostgres_backend
Return type of array_position_with_subscript(array,element,subscript)
array_positionspostgres_backend
Return type of array_positions(array,element)
array_prependpostgres_backend
Return type of array_prepend(element, array)
array_removepostgres_backend
Return type of array_remove(array, element)
array_replacepostgres_backend
Return type of array_replace(array, element, replace_with)
array_samplepostgres_backend
Return type of array_sample(array,n)
array_shufflepostgres_backend
Return type of array_shuffle(array)
array_to_jsonpostgres_backend
Return type of array_to_json(array)
array_to_stringpostgres_backend
Return type of array_to_string(arr, delim)
array_to_string_with_null_stringpostgres_backend
Return type of array_to_string_with_null_string(arr, delim, null_str)
array_upperpostgres_backend
Return type of array_upper(array, bound)
avg
The return type of avg(expr)
cardinalitypostgres_backend
Return type of cardinality(array)
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
isemptypostgres_backend
Return type of isempty(range)
jsonsqlite
Return type of json(json)
json_array_lengthpostgres_backend
Return type of json_array_length(json)
json_objectpostgres_backend
Return type of json_object(text_array)
json_object_with_keys_and_valuespostgres_backend
Return type of json_object_with_keys_and_values(text_array, text_array)
json_populate_recordpostgres_backend
Return type of json_populate_record(base, json)
json_prettysqlite
Return type of json_pretty(json)
json_pretty_with_indentationsqlite
Return type of json_pretty(json, indent)
json_strip_nullspostgres_backend
Return type of json_strip_nulls(json)
json_typeofpostgres_backend
Return type of json_typeof(json)
jsonbsqlite
Return type of jsonb(json)
jsonb_array_lengthpostgres_backend
Return type of jsonb_array_length(jsonb)
jsonb_insertpostgres_backend
Return type of jsonb_insert(base, path, new_value)
jsonb_insert_with_insert_afterpostgres_backend
Return type of jsonb_insert_with_insert_after(base, path, new_value, insert_after)
jsonb_objectpostgres_backend
Return type of jsonb_object(text_array)
jsonb_object_with_keys_and_valuespostgres_backend
Return type of jsonb_object_with_keys_and_values(text_array, text_array)
jsonb_populate_recordpostgres_backend
Return type of jsonb_populate_record(base, json)
jsonb_prettypostgres_backend
Return type of jsonb_pretty(jsonb)
jsonb_setpostgres_backend
Return type of jsonb_set(base, path, new_value)
jsonb_set_create_if_missingpostgres_backend
Return type of jsonb_set_create_if_missing(base, path, new_value, create_if_missing)
jsonb_set_laxpostgres_backend
Return type of jsonb_set_lax(base, path, new_value, create_if_missing, null_value_treatment)
jsonb_strip_nullspostgres_backend
Return type of jsonb_strip_nulls(jsonb)
jsonb_typeofpostgres_backend
Return type of jsonb_typeof(jsonb)
lowerpostgres_backend
Return type of lower(range)
lower_incpostgres_backend
Return type of lower_inc(range)
lower_infpostgres_backend
Return type of lower_inf(range)
max
The return type of max(expr)
min
The return type of min(expr)
multirange_mergepostgres_backend
Return type of multirange_merge(multirange)
not
The return type of not(expr)
range_mergepostgres_backend
Return type of range_merge(range_a, range_b)
replace_into
Represents the return type of diesel::replace_into
row_to_jsonpostgres_backend
Return type of row_to_json(record)
select
Represents the return type of diesel::select(selection)
sum
The return type of sum(expr)
to_jsonpostgres_backend
Return type of to_json(element)
to_jsonbpostgres_backend
Return type of to_jsonb(element)
trim_arraypostgres_backend
Return type of trim_array(array)
update
Represents the return type of diesel::update
upperpostgres_backend
Return type of upper(range)
upper_incpostgres_backend
Return type of upper_inc(range)
upper_infpostgres_backend
Return type of upper_inf(range)