pub trait Table {
// Required methods
fn get_name(&self) -> String;
fn get_fields(&self) -> Vec<Rc<dyn Field>>;
// Provided methods
fn get_indices(&self) -> Vec<Rc<dyn IndexTrait>> { ... }
fn get_comment(&self) -> Option<String> { ... }
fn get_create_sql(&self) -> String { ... }
fn get_drop_sql(&self) -> String { ... }
}