alphacyberranger@sh.itjust.works to Programmer Humor@lemmy.mlEnglish · 2 months agoYoda might be running on multi-threadingsh.itjust.worksimagemessage-square23fedilinkarrow-up1850arrow-down110
arrow-up1840arrow-down1imageYoda might be running on multi-threadingsh.itjust.worksalphacyberranger@sh.itjust.works to Programmer Humor@lemmy.mlEnglish · 2 months agomessage-square23fedilink
minus-squareBappity@lemmy.worldlinkfedilinkEnglisharrow-up1·edit-22 months agoI switched to using tiberius bit different but not too hard don’t have my code on hand atm but this is how I started with it let mut config = Config::new(); config.host("your_server_name"); config.database("your_database_name"); config.authentication(tiberius::AuthMethod::sql_server("your_username", "your_password")); config.trust_cert(); let tcp = TcpStream::connect(config.get_addr()).await?; tcp.set_nodelay(true)?; let mut client = Client::connect(config, tcp.compat_write()).await?; then I did something along the lines of fn main() { let stream = client.query(&query, &[]).await?; let rows = stream.into_first_result().await?; let db_data: Vec<MyObject> = rows.into_iter().map(mapping_function_i_made_for_myobject).collect(); } fn mapping_function_i_made_for_myobject(row: Row) -> MyObject { MyObject { my_date_field: row.get::<NaiveDateTime, _>("my_date_field").map(|dt| Local.from_local_datetime(&dt).unwrap()), } }
I switched to using tiberius
bit different but not too hard don’t have my code on hand atm but this is how I started with it
let mut config = Config::new(); config.host("your_server_name"); config.database("your_database_name"); config.authentication(tiberius::AuthMethod::sql_server("your_username", "your_password")); config.trust_cert(); let tcp = TcpStream::connect(config.get_addr()).await?; tcp.set_nodelay(true)?; let mut client = Client::connect(config, tcp.compat_write()).await?;
then I did something along the lines of
fn main() { let stream = client.query(&query, &[]).await?; let rows = stream.into_first_result().await?; let db_data: Vec<MyObject> = rows.into_iter().map(mapping_function_i_made_for_myobject).collect(); } fn mapping_function_i_made_for_myobject(row: Row) -> MyObject { MyObject { my_date_field: row.get::<NaiveDateTime, _>("my_date_field").map(|dt| Local.from_local_datetime(&dt).unwrap()), } }