Expand description
Includes various helper types and bare functions which are named too generically to be included in prelude, but are often used when using Diesel.
Re-exports§
pub use crate::pg::expression::dsl::*;postgres_backendpub use crate::sqlite::expression::dsl::*;sqlite
Modules§
- frame
- Different frame clause specifications for window functions
Structs§
- Count
Star - Duplicated
Keys mysql_backend - A marker type signaling that the given
ON CONFLICTclause uses mysql’sON DUPLICATE KEYsyntax that triggers on all unique constraints - now
- Represents the SQL
CURRENT_TIMESTAMPconstant. This is equivalent to theNOW()function on backends that support it. - today
- Represents the SQL
CURRENT_DATEconstant.
Traits§
- Frame
Bound Dsl - Construct a frame clause for window functions from an integer
- Frame
Clause Dsl - Construct a frame clause for window functions
- OnlyDsl
postgres_backend - The
onlymethod - Tablesample
Dsl postgres_backend - The
tablesamplemethod
Functions§
- avg
- Represents a SQL
AVGfunction. This function can only take types which are Foldable. - case_
when - Creates a SQL
CASE WHEN ... ENDexpression - copy_
from postgres_backend - Creates a
COPY FROMstatement - copy_to
postgres_backend - Creates a
COPY TOstatement - count
- Creates a SQL
COUNTexpression - count_
distinct Deprecated with-deprecatedand non-without-deprecated - count_
star - Creates a SQL
COUNT(*)expression - cume_
dist - Cumulative distribution value
- date
- Represents the SQL
DATEfunction. The argument should be a Timestamp expression, and the return value will be an expression of type Date. - delete
- Creates a
DELETEstatement. - dense_
rank - Rank of current row within its partition, without gaps
- exists
- Creates a SQL
EXISTSexpression. - first_
value - Value of argument from first row of window frame
- insert_
into - Creates an
INSERTstatement for the target table. - insert_
or_ ignore_ into - Creates an
INSERT [OR] IGNOREstatement. - lag
- Value of argument from row lagging current row within partition
- lag_
with_ offset - Value of argument from row lagging current row within partition
- lag_
with_ offset_ and_ default - Value of argument from row lagging current row within partition
- last_
value - Value of argument from last row of window frame
- lead
- Value of argument from row leading current row within partition
- lead_
with_ offset - Value of argument from row leading current row within partition
- lead_
with_ offset_ and_ default - Value of argument from row leading current row within partition
- max
- Represents a SQL
MAXfunction. This function can only take types which are ordered. - min
- Represents a SQL
MINfunction. This function can only take types which are ordered. - not
- Creates a SQL
NOTexpression - nth_
value - Value of argument from N-th row of window frame
- ntile
- Bucket number of current row within its partition
- percent_
rank - Percentage rank value
- rank
- Rank of current row within its partition, with gaps
- replace_
into - Creates a
REPLACEstatement. - row_
number - Number of th current row within its partition
- select
- Creates a bare select statement, with no from clause. Primarily used for testing diesel itself, but likely useful for third party crates as well. The given expressions must be selectable from anywhere.
- sql
- Use literal SQL in the query builder.
- sql_
query - Construct a full SQL query using raw SQL.
- sum
- Represents a SQL
SUMfunction. This function can only take types which are Foldable. - update
- Creates an
UPDATEstatement.
Type Aliases§
- Add
- The return type of
l + r - Aggregate
All - Return type of
AggregateExpressionMethods::aggregate_all - Aggregate
Distinct - Return type of
AggregateExpressionMethods::aggregate_distinct - Aggregate
Filter - Return type of
AggregateExpressionMethods::aggregate_filter - Aggregate
Order - Return type of
AggregateExpressionMethods::aggregate_order - Aliased
Fields - Maps
FtoAlias<S> - And
- The return type of
lhs.and(rhs) - AndNet
postgres_backend - The return type of
lsh.and(rhs)for network types - Array
Contains Deprecated postgres_backend - Array
Index Deprecated postgres_backend - AsExpr
- The type of
Itemwhen converted to an expression with the same type asTargetExpr - AsExpr
Of - The type of
Itemwhen converted to an expression ofType - AsSelect
- Represents the return type of
.as_select() - Asc
- The return type of
expr.asc() - Assume
NotNull - The return type of
expr.assume_not_null() - AtTime
Zone postgres_backend - The return type of
expr.at_time_zone(tz) - Bare
Select Deprecated - 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) - Concat
Array Deprecated postgres_backend - Concat
Binary Deprecated postgres_backend - Concat
Jsonb Deprecated postgres_backend - Contains
postgres_backend - The return type of
lhs.contains(rhs)for array expressions - Contains
Jsonb Deprecated postgres_backend - Contains
Net postgres_backend - The return type of
lhs.contains(rhs)for network types - Contains
NetLoose postgres_backend - The return type of
lhs.contains_or_eq(rhs) - Contains
OrEq postgres_backend - Contains
Range postgres_backend - The return type of
lhs.contains_range(rhs)for range expressions - Count
- Count
Distinct with-deprecatedand non-without-deprecated - Desc
- The return type of
expr.desc() - Diff
postgres_backend - Difference
postgres_backend - The return type of
lhs.difference_range(rhs) - Difference
Net postgres_backend - The return type of
lsh.diff(rhs) - Difference
Range postgres_backend - Distinct
- Represents the return type of
.distinct() - Distinct
On postgres_backend - Represents the return type of
.distinct_on(expr) - 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) - Except
All - 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 - ForKey
Share - Represents the return type of
.for_key_share() - ForNo
KeyUpdate - 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() - Frame
Between - Return type of
FrameClauseDsl::frame_between - Frame
Between With Exclusion - Return type of
FrameClauseDsl::frame_between_with_exclusion - FrameBy
- Return type of
WindowExpressionMethods::frame_by - Frame
Start With - Return type of
FrameClauseDsl::frame_start_with - Frame
Start With Exclusion - Return type of
FrameClauseDsl::frame_start_with_exclusion - Ge
- Greater
Than postgres_backend - Greater
Than Range postgres_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) - HasAll
Keys postgres_backend - HasAll
Keys Jsonb postgres_backend - The return type of
lsh.has_all_keys(rhs) - HasAny
Key postgres_backend - HasAny
KeyJsonb postgres_backend - The return type of
lsh.has_any_key(rhs) - HasKey
postgres_backend - HasKey
Jsonb postgres_backend - The return type of
lsh.has_key(rhs) - Having
- Represents the return type of
.having(predicate) - ILike
postgres_backend - The return type of
lhs.ilike(rhs) - Ilike
postgres_backend - Index
postgres_backend - The return type of
lhs.index(rhs) - Inner
Join - Represents the return type of
.inner_join(rhs) - Inner
Join On - Represents the return type of
.inner_join(rhs.on(on)) - Inner
Join Query Source - A query source representing the inner join between two tables.
- Intersect
- Represents the return type of
.intersect(rhs) - Intersect
All - Represents the return type of
.intersect_all(rhs) - Intersection
postgres_backend - The return type of
lhs.intersection_range(rhs) - Intersection
Range postgres_backend - Into
Boxed - Represents the return type of
.into_boxed::<'a, DB>() - IntoSql
- Represents the return type of
.into_sql() - Is
sqlite - The return type of
lhs.is(rhs). - IsContained
By postgres_backend - The return type of
lhs.range_is_contained_by(rhs)andlhs.is_contained_by(rhs) - IsContained
ByJsonb Deprecated postgres_backend - IsContained
ByNet postgres_backend - The return type of
lhs.is_contained_by(rhs)for network types - IsContained
ByNet Loose postgres_backend - The return type of
lhs.is_contained_by_or_eq(rhs) - IsContained
ByOr Eq postgres_backend - IsContained
ByRange postgres_backend - The return type of
lhs.is_contained_by_range(rhs) - IsDistinct
From postgres_backend - The return type of
lhs.is_distinct_from(rhs) - IsJson
postgres_backend - The return type of
expr.is_json() - IsJson
Array postgres_backend - The return type of
expr.is_json_array() - IsJson
Object postgres_backend - The return type of
expr.is_json_object() - IsJson
Scalar postgres_backend - The return type of
expr.is_json_scalar() - IsNot
sqlite - The return type of
lhs.is_not(rhs). - IsNot
Distinct From postgres_backend - The return type of
lhs.is_not_distinct_from(rhs) - IsNot
Json postgres_backend - The return type of
expr.is_not_json() - IsNot
Json Array postgres_backend - The return type of
expr.is_not_json_array() - IsNot
Json Object postgres_backend - The return type of
expr.is_not_json_object() - IsNot
Json Scalar postgres_backend - The return type of
expr.is_not_json_scalar() - IsNot
Null - The return type of
expr.is_not_null() - IsNull
- The return type of
expr.is_null() - Le
- Left
Join - Represents the return type of
.left_join(rhs) - Left
Join On - Represents the return type of
.left_join(rhs.on(on)) - Left
Join Query Source - A query source representing the left outer join between two tables.
- Lesser
Than postgres_backend - Lesser
Than Range postgres_backend - The return type of
lhs.range_is_contained_by(rhs) - Like
- The return type of
lhs.like(rhs) - Like
Binary Deprecated postgres_backend - Limit
- Represents the return type of
.limit() - Load
Iter Deprecated with-deprecatedand non-without-deprecated - 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) - NotI
Like postgres_backend - The return type of
lhs.not_ilike(rhs) - NotIlike
postgres_backend - NotLike
- The return type of
lhs.not_like(rhs) - NotLike
Binary Deprecated postgres_backend - NotSimilar
To postgres_backend - The return type of
lhs.not_similar_to(rhs) - Nullable
- The return type of
expr.nullable() - Nullable
Select - Represents the return type of
.nullable() - Nulls
First postgres_backend - The return type of
expr.nulls_first() - Nulls
Last postgres_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) - OrNet
postgres_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(...) - Over
- Return type of
WindowExpressionMethods::over - Overlaps
With postgres_backend - The return type of
lhs.overlaps_with(rhs)andlhs.overlaps_with(rhs) - Overlaps
With Net postgres_backend - The return type of
lhs.overlaps_with(rhs)for network types - Partition
By - Return type of
WindowExpressionMethods::partition_by - Preceding
- Return type of
FrameBoundDsl::preceding - Range
Adjacent postgres_backend - The return type of
lhs.range_adjacent(rhs) - Range
Contains postgres_backend - The return type of
lhs.contains(rhs)for range expressions - Range
Extends Left To postgres_backend - The return type of
lhs.range_extends_left_to(rhs)for range expressions - Range
Extends Right To postgres_backend - The return type of
lhs.range_extends_right_to(rhs)for range expressions - Remove
postgres_backend - Remove
ByPath postgres_backend - Remove
ByPath From Jsonb postgres_backend - The return type of
lhs.remove_by_path(rhs) - Remove
From Jsonb postgres_backend - The return type of
lhs.remove(rhs) - Retrieve
AsObject postgres_backend - Retrieve
AsObject Json postgres_backend - The return type of
lhs.retrieve_as_object(rhs) - Retrieve
AsText postgres_backend - Retrieve
AsText Json postgres_backend - The return type of
lhs.retrieve_as_text(rhs) - Retrieve
ByPath AsObject postgres_backend - Retrieve
ByPath AsObject Json postgres_backend - The return type of
lhs.retrieve_by_path_as_object(rhs) - Retrieve
ByPath AsText postgres_backend - Retrieve
ByPath AsText Json postgres_backend - The return type of
lhs.retrieve_by_path_as_text(rhs) - Returning
- Represents the return type of
InsertStatement::returning,UpdateStatement::returningandDeleteStatement::returning - Select
- Represents the return type of
.select(selection) - Set
- Represents the return type of
UpdateStatement::set() - Similar
To postgres_backend - The return type of
lhs.similar_to(rhs) - Single
Value - Represents the return type of
.single_value() - Skip
Locked - Represents the return type of
.skip_locked() - SqlType
Of - The SQL type of an expression
- Sub
- The return type of
l - r - Then
Order By - Represents the return type of
.then_order_by(ordering) - Union
- Represents the return type of
.union(rhs) - Union
All - Represents the return type of
.union_all(rhs) - Union
Range postgres_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(...) - Window
Filter - Return type of
WindowExpressionMethods::window_filter - Window
Order - Return type of
WindowExpressionMethods::window_order - array_
append postgres_backend - Return type of
array_append(array, element) - array_
cat postgres_backend - Return type of
array_cat(array_a, array_b) - array_
dims postgres_backend - Return type of
array_dims(array) - array_
fill postgres_backend - Return type of
array_fill(value,array) - array_
fill_ with_ lower_ bound postgres_backend - Return type of
array_fill_with_lower_bound(value,array,array) - array_
length postgres_backend - Return type of
array_length(array, dimension) - array_
lower postgres_backend - Return type of
array_lower(array, bound) - array_
ndims postgres_backend - Return type of
array_ndims(array) - array_
position postgres_backend - Return type of
array_position(array, element) - array_
position_ with_ subscript postgres_backend - Return type of
array_position_with_subscript(array,element, subscript) - array_
positions postgres_backend - Return type of
array_positions(array, element) - array_
prepend postgres_backend - Return type of
array_prepend(element, array) - array_
remove postgres_backend - Return type of
array_remove(array, element) - array_
replace postgres_backend - Return type of
array_replace(array, element, replace_with) - array_
sample postgres_backend - Return type of
array_sample(array,n) - array_
shuffle postgres_backend - Return type of
array_shuffle(array) - array_
to_ json postgres_backend - Return type of
array_to_json(array) - array_
to_ string postgres_backend - Return type of
array_to_string(arr, delim) - array_
to_ string_ with_ null_ string postgres_backend - Return type of
array_to_string_with_null_string(arr, delim, null_str) - array_
upper postgres_backend - Return type of
array_upper(array, bound) - avg
- The return type of
avg(expr) - cardinality
postgres_backend - Return type of
cardinality(array) - case_
when - The return type of
case_when() - count
- The return type of
count(expr) - count_
distinct Deprecated with-deprecatedand non-without-deprecated - count_
star - The return type of
count_star() - cume_
dist - The return type of
cume_dist() - date
- The return type of
date(expr) - delete
- Represents the return type of
diesel::delete - dense_
rank - The return type of
dense_rank() - 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 - isempty
postgres_backend - Return type of
isempty(range) - 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 postgres_backend - Return type of
json_array_length(json) - 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_
object postgres_backend - Return type of
json_object(text_array) - json_
object_ with_ keys_ and_ values postgres_backend - Return type of
json_object_with_keys_and_values(text_array, text_array) - json_
patch - Return type of the
json_patch()SQL function. - json_
populate_ record postgres_backend - Return type of
json_populate_record(base, json) - 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_
strip_ nulls postgres_backend - Return type of
json_strip_nulls(json) - 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_
typeof postgres_backend - Return type of
json_typeof(json) - 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_
array_ length postgres_backend - Return type of
jsonb_array_length(jsonb) - 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_
insert postgres_backend - Return type of
jsonb_insert(base, path, new_value) - jsonb_
insert_ with_ insert_ after postgres_backend - Return type of
jsonb_insert_with_insert_after(base, path, new_value, insert_after) - jsonb_
object postgres_backend - Return type of
jsonb_object(text_array) - jsonb_
object_ with_ keys_ and_ values postgres_backend - Return type of
jsonb_object_with_keys_and_values(text_array, text_array) - jsonb_
patch - Return type of the
jsonb_patch()SQL function. - jsonb_
populate_ record postgres_backend - Return type of
jsonb_populate_record(base, json) - jsonb_
pretty postgres_backend - Return type of
jsonb_pretty(jsonb) - 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. - jsonb_
set postgres_backend - Return type of
jsonb_set(base, path, new_value) - jsonb_
set_ create_ if_ missing postgres_backend - Return type of
jsonb_set_create_if_missing(base, path, new_value, create_if_missing) - jsonb_
set_ lax postgres_backend - Return type of
jsonb_set_lax(base, path, new_value, create_if_missing, null_value_treatment) - jsonb_
strip_ nulls postgres_backend - Return type of
jsonb_strip_nulls(jsonb) - jsonb_
typeof postgres_backend - Return type of
jsonb_typeof(jsonb) - 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) - lower
postgres_backend - Return type of
lower(range) - lower_
inc postgres_backend - Return type of
lower_inc(range) - lower_
inf postgres_backend - Return type of
lower_inf(range) - max
- The return type of
max(expr) - min
- The return type of
min(expr) - multirange_
merge postgres_backend - Return type of
multirange_merge(multirange) - not
- The return type of
not(expr) - nth_
value - The return type of
nth_value(expr, n) - ntile
- The return type of
ntile() - percent_
rank - The return type of
percent_rank() - range_
merge postgres_backend - Return type of
range_merge(range_a, range_b) - rank
- The return type of
rank() - replace_
into - Represents the return type of
diesel::replace_into - row_
number - The return type of
row_number() - row_
to_ json postgres_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_json
postgres_backend - Return type of
to_json(element) - to_
jsonb postgres_backend - Return type of
to_jsonb(element) - trim_
array postgres_backend - Return type of
trim_array(array) - update
- Represents the return type of
diesel::update - upper
postgres_backend - Return type of
upper(range) - upper_
inc postgres_backend - Return type of
upper_inc(range) - upper_
inf postgres_backend - Return type of
upper_inf(range)
Attribute Macros§
- auto_
type - Automatically annotates return type of a query fragment function