Module dsl

Source
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_backend

Structs§

CountDistinct
CountStar
DuplicatedKeysmysql_backend
A marker type signaling that the given ON CONFLICT clause uses mysql’s ON DUPLICATE KEY syntax that triggers on all unique constraints
now
Represents the SQL CURRENT_TIMESTAMP constant. This is equivalent to the NOW() function on backends that support it.
today
Represents the SQL CURRENT_DATE constant.

Traits§

OnlyDslpostgres_backend
The only method
TablesampleDslpostgres_backend
The tablesample method

Functions§

avg
Represents a SQL AVG function. This function can only take types which are Foldable.
case_when
Creates a SQL CASE WHEN ... END expression
copy_frompostgres_backend
Creates a COPY FROM statement
copy_topostgres_backend
Creates a COPY TO statement
count
Creates a SQL COUNT expression
count_distinct
Creates a SQL COUNT(DISTINCT ...) expression
count_star
Creates a SQL COUNT(*) expression
date
Represents the SQL DATE function. The argument should be a Timestamp expression, and the return value will be an expression of type Date.
delete
Creates a DELETE statement.
existsNon-i-implement-a-third-party-backend-and-opt-into-breaking-changes
Creates a SQL EXISTS expression.
insert_into
Creates an INSERT statement for the target table.
insert_or_ignore_into
Creates an INSERT [OR] IGNORE statement.
max
Represents a SQL MAX function. This function can only take types which are ordered.
min
Represents a SQL MIN function. This function can only take types which are ordered.
not
Creates a SQL NOT expression
replace_into
Creates a REPLACE statement.
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 SUM function. This function can only take types which are Foldable.
update
Creates an UPDATE statement.

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)
BareSelectDeprecated
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
Count
Desc
The return type of expr.desc()
Diffpostgres_backend
DifferenceNetpostgres_backend
The return type of lsh.diff(rhs)
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
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)
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.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
IsDistinctFrompostgres_backend
The return type of lhs.is_distinct_from(rhs)
IsNotsqlite
The return type of lhs.is_not(rhs).
IsNotDistinctFrompostgres_backend
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)
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)
OverlapsWithNetpostgres_backend
The return type of lhs.overlaps_with(rhs) for network types
RangeContainspostgres_backend
The return type of lhs.contains(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)
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()
count
The return type of count(expr)
count_distinct
The return type of count_distinct()
count_star
The return type of count_star()
date
The return type of date(expr)
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)
update
Represents the return type of diesel::update

Attribute Macros§

auto_type
Automatically annotates return type of a query fragment function