Module diesel::expression
[−]
[src]
AST types representing various typed SQL expressions. Almost all types
implement either Expression
or
AsExpression
.
The most common expression to work with is a
Column
. There are various methods
that you can call on these, found in
expression_methods
. You can also call
numeric operators on types which have been passed to
operator_allowed!
or
numeric_expr!
.
Any primitive which implements ToSql
will
also implement AsExpression
, allowing it to be
used as an argument to any of the methods described here.
Reexports
pub use self::dsl::*; |
pub use self::sql_literal::SqlLiteral; |
Modules
dsl |
Reexports various top level functions and core extensions that are too generic to export by default. This module exists to conveniently glob import in functions where you need them. |
expression_methods |
Adds various methods to construct new expressions. These traits are exported by default, and implemented automatically. |
helper_types |
The types in this module are all shorthand for |
sql_literal |
Traits
AsExpression |
Describes how a type can be represented as an expression for a given type.
These types couldn't just implement |
BoxableExpression |
Helper trait used when boxing expressions. This exists to work around the
fact that Rust will not let us use non-core types as bounds on a trait
object (you could not return |
Expression |
Represents a typed fragment of SQL. Apps should not need to implement this
type directly, but it may be common to use this as type boundaries.
Libraries should consider using
|
NonAggregate |
Marker trait to indicate that an expression does not include any aggregate functions. Used to ensure that aggregate expressions aren't mixed with non-aggregate expressions in a select clause, and that they're never included in a where clause. |
SelectableExpression |
Indicates that an expression can be selected from a source. The associated
type is usually the same as |