diff options
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!(); +} |