sea-orm-turso 0.2.0

A universal SeaORM adapter for Turso Database (MVCC, in-process, async)
use sea_orm_turso::TursoConnection;
use sea_orm::{ConnectionTrait, Statement, DatabaseBackend, Value};

#[tokio::test]
async fn repro_insert_returning() {
    let conn = TursoConnection::connect_memory().await.unwrap();
    conn.execute_unprepared("CREATE TABLE units (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, abbreviation TEXT NOT NULL)")
        .await
        .unwrap();

    let stmt = Statement::from_sql_and_values(
        DatabaseBackend::Sqlite,
        "INSERT INTO \"units\" (\"name\", \"abbreviation\") VALUES ($1, $2) RETURNING \"id\", \"name\", \"abbreviation\"",
        [Value::String(Some("test".into())), Value::String(Some("t".into()))],
    );

    let rows = conn.query_all_raw(stmt).await.expect("query_all failed");
    println!("rows: {}", rows.len());
    for r in &rows {
        println!("ROW: {:?}", r);
    }
    assert!(!rows.is_empty(), "RETURNING gave zero rows");
    let name: Option<String> = rows[0].try_get("", "name").ok();
    println!("name = {:?}", name);
    assert_eq!(name.as_deref(), Some("test"), "name came back as {:?}", name);
}