include-oracle-sql 0.2.2

A Yesql inspired macro for using Oracle SQL in Rust
Documentation
use include_oracle_sql::*;

include_sql!("examples/library.sql");

#[cfg(not(feature = "tokio"))]
fn main() -> sibyl::Result<()> {
    let dbname = std::env::var("DBNAME").expect("database name");
    let dbuser = std::env::var("DBUSER").expect("user name");
    let dbpass = std::env::var("DBPASS").expect("password");

    let oracle = sibyl::env()?;
    let session = oracle.connect(&dbname, &dbuser, &dbpass)?;

    session.create_library()?;
    session.init_library()?;

    session.loan_books(&["War and Peace", "Gone With the Wind"], "Sheldon Cooper")?;
    session.loan_books(&["The Lord of the Rings", "Master and Commander"], "Leonard Hofstadter")?;

    session.get_loaned_books("Sheldon Cooper", |row| {
        let book_title : &str = row.get(0)?;
        println!("{book_title}");
        Ok(())
    })?;

    println!("---");

    session.get_loaned_books("Leonard Hofstadter", |row| {
        let book_title : &str = row.get(0)?;
        println!("{book_title}");
        Ok(())
    })?;

    session.drop_library()?;

    Ok(())
}

#[cfg(feature = "tokio")]
#[tokio::main]
async fn main() -> sibyl::Result<()> {
    let dbname = std::env::var("DBNAME").expect("database name");
    let dbuser = std::env::var("DBUSER").expect("user name");
    let dbpass = std::env::var("DBPASS").expect("password");

    let oracle = sibyl::env()?;
    let session = oracle.connect(&dbname, &dbuser, &dbpass).await?;

    session.create_library().await?;
    session.init_library().await?;

    session.loan_books(&["War and Peace", "Gone With the Wind"], "Sheldon Cooper").await?;
    session.loan_books(&["The Lord of the Rings", "Master and Commander"], "Leonard Hofstadter").await?;

    session.get_loaned_books("Sheldon Cooper", |row| {
        let book_title : &str = row.get(0)?;
        println!("{book_title}");
        Ok(())
    }).await?;

    println!("---");

    session.get_loaned_books("Leonard Hofstadter", |row| {
        let book_title : &str = row.get(0)?;
        println!("{book_title}");
        Ok(())
    }).await?;

    session.drop_library().await?;

    Ok(())
}