aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2022-03-12 21:36:53 +0100
committerTeddy Wing2022-03-12 21:36:53 +0100
commit63be98db7cb8c48c77dc634ad092d4fc077e3381 (patch)
treed7fb67f7fbd6d8413bd1989d39479d50f83b01cb
parent0704e8fde641fd8afe1a0a25d7017b41972420f9 (diff)
downloadyaqlite-63be98db7cb8c48c77dc634ad092d4fc077e3381.tar.bz2
get_column_names(): Get table name from argument
Remove the hard-coded table name.
-rw-r--r--src/main.rs2
-rw-r--r--src/sqlite.rs18
2 files changed, 14 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index 629ecbc..b212c46 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -11,7 +11,7 @@ fn main() {
let mut dbconn = rusqlite::Connection::open("./test.db").unwrap();
- let table_columns = yaqlite::sqlite::get_column_names(&dbconn);
+ let table_columns = yaqlite::sqlite::get_column_names(&dbconn, "people");
dbg!(&table_columns);
let text_data = std::fs::read_to_string("test2.yml").unwrap();
diff --git a/src/sqlite.rs b/src/sqlite.rs
index 15c813c..d241053 100644
--- a/src/sqlite.rs
+++ b/src/sqlite.rs
@@ -40,13 +40,21 @@ pub fn affinity(type_name: &str) -> rusqlite::types::Type {
pub struct Zero {}
-pub fn get_column_names(dbconn: &rusqlite::Connection) -> HashMap<String, Zero> {
+pub fn get_column_names(
+ dbconn: &rusqlite::Connection,
+ table_name: &str,
+) -> HashMap<String, Zero> {
let mut column_names = HashMap::new();
- let mut stmt = dbconn.prepare(r#"
- SELECT "name"
- FROM pragma_table_info("people");
- "#).unwrap();
+ let mut stmt = dbconn.prepare(
+ &format!(
+ r#"
+ SELECT "name"
+ FROM pragma_table_info("{}");
+ "#,
+ table_name,
+ ),
+ ).unwrap();
let rows = stmt.query_map(
[],