#[macro_export]
macro_rules! record {
( $( $col:expr => $val:expr ),* $(,)? ) => {{
let v: Vec<(String, $crate::Value)> = vec![
$( ( $col.to_string(), $crate::IntoValue::into_value($val) ) ),*
];
v
}};
}
#[macro_export]
macro_rules! where_ {
( $( $col:expr => $rhs:tt ),* $(,)? ) => {{
let mut __conds: Vec<$crate::Cond> = Vec::new();
$( $crate::__where_one!(__conds, $col, $rhs); )*
$crate::Cond::And(__conds)
}};
}
#[macro_export]
#[doc(hidden)]
macro_rules! __where_one {
($acc:ident, $col:expr, [ $op:expr, $val:expr ]) => {{
$acc.push($crate::Cond::op($col, $op, $val).expect("medoo_rs: operador inválido en where!"));
}};
($acc:ident, $col:expr, null) => {{
$acc.push($crate::Cond::IsNull { col: $col.to_string(), negate: false });
}};
($acc:ident, $col:expr, not_null) => {{
$acc.push($crate::Cond::IsNull { col: $col.to_string(), negate: true });
}};
($acc:ident, $col:expr, $val:expr) => {{
$acc.push($crate::Cond::eq($col, $val));
}};
}