use crate::traits::{Column, Table};
#[allow(non_camel_case_types)]
pub struct columns;
impl Table for columns {
fn string(&self) -> String {
"columns".to_string()
}
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
arraysize,
column_index,
column_name,
datatype,
db_column_name,
description,
indexed,
principal,
schema_name,
#[strum(serialize = "\"size\"")]
size,
std,
table_name,
ucd,
unit,
utype,
xtype,
}
impl Column for Col {}
#[cfg(test)]
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
let mut col_strings = Vec::new();
col_strings.push(Col::arraysize.to_string());
col_strings.push(Col::column_index.to_string());
col_strings.push(Col::column_name.to_string());
col_strings.push(Col::datatype.to_string());
col_strings.push(Col::db_column_name.to_string());
col_strings.push(Col::description.to_string());
col_strings.push(Col::indexed.to_string());
col_strings.push(Col::principal.to_string());
col_strings.push(Col::schema_name.to_string());
col_strings.push(Col::size.to_string());
col_strings.push(Col::std.to_string());
col_strings.push(Col::table_name.to_string());
col_strings.push(Col::ucd.to_string());
col_strings.push(Col::unit.to_string());
col_strings.push(Col::utype.to_string());
col_strings.push(Col::xtype.to_string());
map.insert(columns.string(), col_strings);
}