Advertisement
Guest User

Untitled

a guest
Mar 28th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. extern crate futures;
  2. extern crate futures_state_stream;
  3. extern crate tiberius;
  4. extern crate tokio;
  5. use futures::Future;
  6. use futures_state_stream::StateStream;
  7. use tiberius::BoxableIo;
  8. use tiberius::SqlConnection;
  9. use tokio::executor::current_thread;
  10.  
  11. fn main() {
  12. //Setup connections when server starts.
  13. let conn = SqlConnection::connect(
  14. "server=tcp:localhost,1433;user=sa;password=integratedSecurity=true;",
  15. )
  16. .wait()
  17. .unwrap();
  18. //Loop is to simulate server getting requests.
  19. loop {
  20. //Query execution re-uses connection (in prod it would grab it from pool).
  21. run("select 2", "insert into test(t)values('t')", &conn);
  22. std::thread::sleep(std::time::Duration::from_millis(1000));
  23. }
  24. }
  25.  
  26. fn run(query: &'static str, insert: &'static str, conn: &SqlConnection<Box<BoxableIo>>) {
  27. let fut1 = conn.exec(query, &[]);
  28.  
  29. fut1.and_then(|(_, conn)| {
  30. let conn: SqlConnection<Box<BoxableIo>> = conn;
  31. conn.exec(insert, &[]);
  32. Ok(())
  33. });
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement