pub trait UntypedExpressionMethods: Sized {
// Provided methods
fn is_null(self) -> IsNull<Self> { ... }
fn is_not_null(self) -> IsNotNull<Self> { ... }
fn desc(self) -> Desc<Self> { ... }
fn asc(self) -> Asc<Self> { ... }
}Expand description
Methods present on untyped expressions.
This trait is implemented for expressions where the sql type is Untyped.
This allows calling common operators on these expressions.
This trait is primarily meant to be used for untyped queries in
diesel_dynamic_schema.
Provided Methods§
Sourcefn is_null(self) -> IsNull<Self>
fn is_null(self) -> IsNull<Self>
Creates a SQL IS NULL expression.
§Example
use diesel::sql_types::Untyped;
use diesel::dsl::sql;
let data = animals
.select(species)
.filter(sql::<Untyped>("name").is_null())
.first::<String>(connection)?;
assert_eq!("spider", data);Sourcefn is_not_null(self) -> IsNotNull<Self>
fn is_not_null(self) -> IsNotNull<Self>
Creates a SQL IS NOT NULL expression.
§Example
use diesel::sql_types::Untyped;
use diesel::dsl::sql;
let data = animals
.select(species)
.filter(sql::<Untyped>("name").is_not_null())
.first::<String>(connection)?;
assert_eq!("dog", data);Sourcefn desc(self) -> Desc<Self>
fn desc(self) -> Desc<Self>
Creates a SQL DESC expression, representing this expression in
descending order.
§Example
use diesel::sql_types::Untyped;
use diesel::dsl::sql;
let data = users
.select(name)
.order(sql::<Untyped>("name").desc())
.load::<String>(connection)?;
let expected = vec!["Tess", "Sean"];
assert_eq!(expected, data);Sourcefn asc(self) -> Asc<Self>
fn asc(self) -> Asc<Self>
Creates a SQL ASC expression, representing this expression in
ascending order.
§Example
use diesel::sql_types::Untyped;
use diesel::dsl::sql;
let data = users
.select(name)
.order(sql::<Untyped>("name").asc())
.load::<String>(connection)?;
let expected = vec!["Sean", "Tess"];
assert_eq!(expected, data);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.