use crate::ValueExpr;
use super::function;
pub fn coalesce(args: impl IntoIterator<Item = impl Into<ValueExpr>>) -> ValueExpr {
function("coalesce", args)
}
pub fn nullif(left: impl Into<ValueExpr>, right: impl Into<ValueExpr>) -> ValueExpr {
function("nullif", [left.into(), right.into()])
}
pub fn greatest(args: impl IntoIterator<Item = impl Into<ValueExpr>>) -> ValueExpr {
function("greatest", args)
}
pub fn least(args: impl IntoIterator<Item = impl Into<ValueExpr>>) -> ValueExpr {
function("least", args)
}
pub fn current_user() -> ValueExpr {
ValueExpr::Keyword("CURRENT_USER")
}
pub fn session_user() -> ValueExpr {
ValueExpr::Keyword("SESSION_USER")
}
pub fn current_schema() -> ValueExpr {
ValueExpr::Keyword("CURRENT_SCHEMA")
}
pub fn current_database() -> ValueExpr {
function("current_database", Vec::<ValueExpr>::new())
}
pub fn version() -> ValueExpr {
function("version", Vec::<ValueExpr>::new())
}