use include_postgres_sql::*; include_sql!("examples/library.sql"); #[cfg(not(feature = "tokio"))] fn main() -> Result<(), postgres::Error> { use postgres::{Config, NoTls}; let mut db = Config::new() .host("localhost") .user("postgres") .dbname("postgres") .connect(NoTls)? ; db.init_library()?; db.loan_books(&["War and Peace", "Gone With the Wind"], "Sheldon Cooper")?; db.loan_books(&["The Lord of the Rings", "Master and Commander"], "Leonard Hofstadter")?; db.get_loaned_books("Sheldon Cooper", |row| { let book_title : &str = row.try_get(0)?; println!("{book_title}"); Ok(()) })?; println!("---"); db.get_loaned_books("Leonard Hofstadter", |row| { let book_title : &str = row.try_get(0)?; println!("{book_title}"); Ok(()) })?; db.drop_library()?; Ok(()) } #[cfg(feature = "tokio")] #[tokio::main] async fn main() -> Result<(),tokio_postgres::Error> { use tokio_postgres::{Config, NoTls}; let (db, conn) = Config::new() .host("localhost") .user("postgres") .dbname("postgres") .connect(NoTls).await? ; tokio::spawn(async move { if let Err(e) = conn.await { eprintln!("connection error: {}", e); } }); db.init_library().await?; db.loan_books(&["War and Peace", "Gone With the Wind"], "Sheldon Cooper").await?; db.loan_books(&["The Lord of the Rings", "Master and Commander"], "Leonard Hofstadter").await?; db.get_loaned_books("Sheldon Cooper", |row| { let book_title : &str = row.try_get(0)?; println!("{book_title}"); Ok(()) }).await?; println!("---"); db.get_loaned_books("Leonard Hofstadter", |row| { let book_title : &str = row.try_get(0)?; println!("{book_title}"); Ok(()) }).await?; db.drop_library().await?; Ok(()) }