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
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.
Adds various methods to construct new expressions. These traits are exported by default, and implemented automatically.
The types in this module are all shorthand for
Indicates that all elements of an expression are valid given a from clause.
This is used to ensure that
Describes how a type can be represented as an expression for a given type.
These types couldn't just implement
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
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
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.
Indicates that an expression can be selected from a source. Columns will
implement this for their table. Certain special types, like