Macro diesel::debug_sql [] [src]

macro_rules! debug_sql {
    ($query:expr) => { ... };
}
Deprecated since 0.16.0

: use diesel::debug_query(...).to_string() instead

Takes a query QueryFragment expression as an argument and returns a string of SQL with placeholders for the dynamic values.

Example

Returning SQL from a count statement:

let sql = debug_sql!(users.count());
if cfg!(feature = "postgres") {
    assert_eq!(sql, r#"SELECT COUNT(*) FROM "users" -- binds: []"#);
} else {
    assert_eq!(sql, "SELECT COUNT(*) FROM `users` -- binds: []");
}

let sql = debug_sql!(users.filter(n.eq(1)));
if cfg!(feature = "postgres") {
    assert_eq!(sql, r#"SELECT "users"."id", "users"."n" FROM "users" WHERE "users"."n" = $1 -- binds: [1]"#);
} else {
    assert_eq!(sql, "SELECT `users`.`id`, `users`.`n` FROM `users` WHERE \
        `users`.`n` = ? -- binds: [1]");
}