rocket_db_pools::diesel::prelude

Trait EscapeExpressionMethods

Source
pub trait EscapeExpressionMethods: Sized {
    // Required method
    fn escape(
        self,
        _character: char,
    ) -> Grouped<Escape<Self::TextExpression, <String as AsExpression<Text>>::Expression>>;
}
Expand description

Adds the escape method to LIKE and NOT LIKE. This is used to specify the escape character for the pattern.

By default, the escape character is \ on most backends. On SQLite, there is no default escape character.

§Example

let users_with_percent = users.select(name)
    .filter(name.like("%😀%%").escape('😀'))
    .load(connection);
let users_without_percent = users.select(name)
    .filter(name.not_like("%a%%").escape('a'))
    .load(connection);
assert_eq!(Ok(vec![String::from("Ha%%0r")]), users_with_percent);
assert_eq!(Ok(vec![String::from("Sean"), String::from("Tess")]), users_without_percent);

Required Methods§

Source

fn escape( self, _character: char, ) -> Grouped<Escape<Self::TextExpression, <String as AsExpression<Text>>::Expression>>

See the trait documentation.

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.

Implementors§