use super::*;
impl MVCCEngine {
pub fn view_exists(&self, name: &str) -> Result<bool> {
self.view_exists_lowercase(&name.to_lowercase())
}
#[inline]
pub fn view_exists_lowercase(&self, name_lower: &str) -> Result<bool> {
if !self.is_open() {
return Err(Error::EngineNotOpen);
}
let views = self.views.read().unwrap();
Ok(views.contains_key(name_lower))
}
pub fn get_view(&self, name: &str) -> Result<Option<Arc<ViewDefinition>>> {
self.get_view_lowercase(&name.to_lowercase())
}
#[inline]
pub fn get_view_lowercase(&self, name_lower: &str) -> Result<Option<Arc<ViewDefinition>>> {
if !self.is_open() {
return Err(Error::EngineNotOpen);
}
let views = self.views.read().unwrap();
Ok(views.get(name_lower).cloned()) }
pub fn list_views(&self) -> Result<Vec<String>> {
if !self.is_open() {
return Err(Error::EngineNotOpen);
}
let views = self.views.read().unwrap();
Ok(views.values().map(|v| v.original_name.clone()).collect())
}
}