use crate::catalog::objects::database::DatabaseEntry;
use crate::common::symbol::Symbol;
use std::collections::HashMap;
pub struct Catalog {
pub databases: HashMap<Symbol, DatabaseEntry>,
next_oid: u32,
}
impl Catalog {
pub fn new() -> Self {
Self {
databases: HashMap::new(),
next_oid: 1, }
}
pub(crate) fn next_oid(&mut self) -> u32 {
let oid = self.next_oid;
self.next_oid += 1;
oid
}
pub(crate) fn set_next_oid(&mut self, oid: u32) {
self.next_oid = oid;
}
}
impl Default for Catalog {
fn default() -> Self {
Self::new()
}
}