use crate::core::single_file::SingleFileDB as RustSingleFileDB;
pub trait SchemaOps {
fn get_or_create_label_impl(&self, name: &str) -> u32;
fn get_label_id_impl(&self, name: &str) -> Option<u32>;
fn get_label_name_impl(&self, id: u32) -> Option<String>;
fn get_or_create_etype_impl(&self, name: &str) -> u32;
fn get_etype_id_impl(&self, name: &str) -> Option<u32>;
fn get_etype_name_impl(&self, id: u32) -> Option<String>;
fn get_or_create_propkey_impl(&self, name: &str) -> u32;
fn get_propkey_id_impl(&self, name: &str) -> Option<u32>;
fn get_propkey_name_impl(&self, id: u32) -> Option<String>;
}
pub fn get_or_create_label_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.label_id_or_create(name)
}
pub fn get_label_id_single(db: &RustSingleFileDB, name: &str) -> Option<u32> {
db.label_id(name)
}
pub fn get_label_name_single(db: &RustSingleFileDB, id: u32) -> Option<String> {
db.label_name(id)
}
pub fn get_or_create_etype_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.etype_id_or_create(name)
}
pub fn get_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 get_or_create_propkey_single(db: &RustSingleFileDB, name: &str) -> u32 {
db.propkey_id_or_create(name)
}
pub fn get_propkey_id_single(db: &RustSingleFileDB, name: &str) -> Option<u32> {
db.propkey_id(name)
}
pub fn get_propkey_name_single(db: &RustSingleFileDB, id: u32) -> Option<String> {
db.propkey_name(id)
}