uqa_sql/catalog/
access_methods.rs1#[derive(Clone, Copy, Debug, PartialEq, Eq)]
11pub enum AccessMethodKind {
12 Table,
13 Index,
14}
15
16const ACCESS_METHODS: &[(&str, AccessMethodKind)] = &[
18 ("heap", AccessMethodKind::Table),
19 ("btree", AccessMethodKind::Index),
20 ("hash", AccessMethodKind::Index),
21 ("gist", AccessMethodKind::Index),
22 ("gin", AccessMethodKind::Index),
23 ("brin", AccessMethodKind::Index),
24 ("spgist", AccessMethodKind::Index),
25 ("ivf", AccessMethodKind::Index),
26 ("hnsw", AccessMethodKind::Index),
27 ("diskann", AccessMethodKind::Index),
28];
29
30pub fn access_method_kind(name: &str) -> Option<AccessMethodKind> {
32 ACCESS_METHODS
33 .iter()
34 .find(|(method, _)| *method == name)
35 .map(|(_, kind)| *kind)
36}