use serde::{Deserialize, Serialize};
#[macro_use]
mod mycount;
#[macro_use]
mod mydel;
#[macro_use]
mod mydelmany;
#[macro_use]
mod myfind;
#[macro_use]
mod myget;
#[macro_use]
mod myset;
#[macro_use]
mod mysetmany;
#[macro_use]
mod mysetupdate;
#[macro_use]
mod mysetupdatemany;
#[macro_use]
mod myupdate;
#[macro_use]
mod myupdatemany;
mod method;
pub use method::*;
pub const MY_SHARED_LOCK: &str = " LOCK IN SHARE MODE";
pub const MY_EXCLUSIVE_LOCK: &str = " FOR UPDATE";
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq)]
pub struct MysqlQuickCount {
pub mysql_quick_count: u64,
}
#[cfg(test)]
mod test {
#[test]
fn test_myset() {
let name = Some("a");
let name2: Option<String> = None;
let aa = r#"m'y,,a#@!@$$^&^%&&#$,,adflll+_)"(\_)*)(32389)d(ŐдŐ๑)🍉 .',""#;
let sql = myset!("table", {
"id": 23,
"nick": aa,
"name": name,
"name2": name2,
"age": Some(33),
"empty": Some(""),
"empty2": "",
"aa": &aa,
"aa2": &Some(aa),
});
assert_eq!(
r#"INSERT INTO table ( id,nick,name,name2,age,empty,empty2,aa,aa2 ) VALUES ( 23,"m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(\\_)*)(32389)d(ŐдŐ๑)🍉 .',\"","a",NULL,33,"","","m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(\\_)*)(32389)d(ŐдŐ๑)🍉 .',\"","m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(\\_)*)(32389)d(ŐдŐ๑)🍉 .',\"" )"#,
sql
)
}
#[test]
fn test_myupdate() {
let name = Some("a");
let name2: Option<String> = None;
let aa = r#"m'y,,a#@!@$$^&^%&&#$,,adflll+_)"(_)*)(32389)d(ŐдŐ๑)🍉 .',""#;
let sql = myupdate!("table", 32, {
"id": 23,
"nick": aa,
"name": name,
"name2": name2,
"age": Some(33),
"empty": Some(""),
"empty2": "",
"aa": &aa,
"aa2": &Some(aa),
});
println!(",,,,,,,,,, {}", sql);
assert_eq!(
r#"UPDATE table SET id=23,nick="m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(_)*)(32389)d(ŐдŐ๑)🍉 .',\"",name="a",name2=NULL,age=33,empty="",empty2="",aa="m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(_)*)(32389)d(ŐдŐ๑)🍉 .',\"",aa2="m'y,,a#@!@$$^&^%&&#$,,adflll+_)\"(_)*)(32389)d(ŐдŐ๑)🍉 .',\"" WHERE id=32"#,
sql
)
}
}