#[must_use]
pub fn quote_ident(ident: &str) -> String {
format!("\"{}\"", ident.replace('"', "\"\""))
}
#[must_use]
pub fn quote_literal(value: &str) -> String {
format!("'{}'", value.replace('\'', "''"))
}
#[must_use]
pub fn build_create_user_sql(user: &str, password: &str) -> String {
format!(
"CREATE USER {} WITH PASSWORD {}",
quote_ident(user),
quote_literal(password)
)
}
#[must_use]
pub fn build_create_db_sql(database: &str, owner: &str) -> String {
format!(
"CREATE DATABASE {} OWNER {}",
quote_ident(database),
quote_ident(owner)
)
}
#[must_use]
pub fn build_grant_sql(database: &str, user: &str) -> String {
format!(
"GRANT ALL PRIVILEGES ON DATABASE {} TO {}",
quote_ident(database),
quote_ident(user)
)
}