diff options
author | Teddy Wing | 2022-03-09 00:05:34 +0100 |
---|---|---|
committer | Teddy Wing | 2022-03-09 00:05:34 +0100 |
commit | 5c3880c78c096c7ee34c790eedd65a40af143fff (patch) | |
tree | 8a854cc32e29f9bdfadc1a6651ce97c0db24ba37 /src | |
parent | 4a107f2bf07833dbfbc14b5f3bbc630572f7ee0e (diff) | |
download | yaqlite-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.rs | 11 |
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 |