use crate::core::single_file::SingleFileDB as RustSingleFileDB;
pub trait SchemaOps {
fn ensure_label_impl(&self, name: &str) -> u32;
fn label_id_impl(&self, name: &str) -> Option<u32>;
fn label_name_impl(&self, id: u32) -> Option<String>;
fn ensure_etype_impl(&self, name: &str) -> u32;
fn etype_id_impl(&self, name: &str) -> Option<u32>;
fn etype_name_impl(&self, id: u32) -> Option<String>;
fn ensure_propkey_impl(&self, name: &str) -> u32;
fn propkey_id_impl(&self, name: &str) -> Option<u32>;
fn propkey_name_impl(&self, id: u32) -> Option<String>;
}
pub fn ensure_label_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.label_id_or_create(name)
}
pub fn label_id_single(db: &RustSingleFileDB, name: &str) -> Option<u32> {
db.label_id(name)
}
pub fn label_name_single(db: &RustSingleFileDB, id: u32) -> Option<String> {
db.label_name(id)
}
pub fn ensure_etype_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.etype_id_or_create(name)
}
pub fn etype_id_single(db: &RustSingleFileDB, name: &str) -> Option<u32> {
db.etype_id(name)
}
pub fn etype_name_single(db: &RustSingleFileDB, id: u32) -> Option<String> {
db.etype_name(id)
}
pub fn ensure_propkey_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.propkey_id_or_create(name)
}
pub fn propkey_id_single(db: &RustSingleFileDB, name: &str) -> Option<u32> {
db.propkey_id(name)
}
pub fn propkey_name_single(db: &RustSingleFileDB, id: u32) -> Option<String> {
db.propkey_name(id)
}