From 8dd59ee6fee0f023a75d4657ad07f6f09b14fc9c Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 12 Mar 2022 22:12:45 +0100 Subject: Add an `insert()` function for inserting YAML in database Make an interface that more cleanly says "insert this YAML into this database". --- src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 32634e9..ac8d74e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,19 @@ pub mod sqlite; pub mod yaml; + + +pub fn insert( + dbconn: &mut rusqlite::Connection, + table_name: &str, + data: &mut [yaml_rust::Yaml], +) { + let table_columns = crate::sqlite::get_column_names(&dbconn, table_name); + + for mut doc in data { + let tx = dbconn.transaction().unwrap(); + + crate::yaml::extract(&mut doc, &tx, &table_columns); + + tx.commit().unwrap(); + } +} -- cgit v1.2.3