aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTeddy Wing2022-03-09 00:05:34 +0100
committerTeddy Wing2022-03-09 00:05:34 +0100
commit5c3880c78c096c7ee34c790eedd65a40af143fff (patch)
tree8a854cc32e29f9bdfadc1a6651ce97c0db24ba37 /src
parent4a107f2bf07833dbfbc14b5f3bbc630572f7ee0e (diff)
downloadyaqlite-5c3880c78c096c7ee34c790eedd65a40af143fff.tar.bz2
get_column_names(): Put column names in a `HashMap`
Make it easier to find out if a column name exists in the table.
Diffstat (limited to 'src')
-rw-r--r--src/main.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index 2709005..cfdf0ab 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -46,8 +46,13 @@ fn yaml_extract(doc: &yaml::Yaml) {
}
}
-fn get_column_names(dbconn: &rusqlite::Connection) -> Vec<String> {
- let mut column_names = Vec::new();
+#[derive(Debug)]
+struct Zero {}
+
+use std::collections::HashMap;
+
+fn get_column_names(dbconn: &rusqlite::Connection) -> HashMap<String, Zero> {
+ let mut column_names = HashMap::new();
let mut stmt = dbconn.prepare(r#"
SELECT "name"
@@ -60,7 +65,7 @@ fn get_column_names(dbconn: &rusqlite::Connection) -> Vec<String> {
).unwrap();
for row in rows {
- column_names.push(row.unwrap());
+ column_names.insert(row.unwrap(), Zero{});
}
column_names