diff options
| author | Teddy Wing | 2022-03-14 21:14:35 +0100 | 
|---|---|---|
| committer | Teddy Wing | 2022-03-14 21:14:35 +0100 | 
| commit | 0c80aaf2fc67b82b0d6ec60bd9317d7b4cf7e9ac (patch) | |
| tree | f60f463f36c2e9b0bb890d48ef80258eb68638e8 /src | |
| parent | e9fa29a7c7852caa27be2e5e0f3f7d45e2be5eed (diff) | |
| download | yaqlite-0c80aaf2fc67b82b0d6ec60bd9317d7b4cf7e9ac.tar.bz2 | |
Idea for selecting a record from the database as YAML
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 4 | ||||
| -rw-r--r-- | src/select.rs | 30 | 
2 files changed, 34 insertions, 0 deletions
| @@ -1,7 +1,11 @@ +pub mod select;  pub mod sqlite;  pub mod yaml; +pub use select::select; + +  #[derive(thiserror::Error, Debug)]  pub enum Error {      #[error("SQL error: {0}")] diff --git a/src/select.rs b/src/select.rs new file mode 100644 index 0000000..aa9389f --- /dev/null +++ b/src/select.rs @@ -0,0 +1,30 @@ +pub fn select( +    dbconn: &rusqlite::Connection, +    table_name: &str, +    record_id: &str, +) -> yaml_rust::Yaml { +    let mut stmt = dbconn.prepare(r#" +        SELECT +            x +        FROM :table +        WHERE :pk_column = :pk; +    "#).unwrap(); + +    let rows = stmt.query_map( +        &[ +            (":table", table_name), +            (":pk_column", "id"), +            (":pk", record_id), +        ], +        |row| { +            Ok(()) +        }, +    ).unwrap(); + +    // sqlite3 -header test.db ' +    // SELECT "name" +    // FROM pragma_table_info("test") +    // WHERE "pk" != 0;' + +    todo!(); +} | 
