pub trait Table:
Send
+ Sync
+ 'static {
// Required methods
fn name(&self) -> String;
fn columns(&self) -> Vec<ColumnDef>;
fn generate(&self, req: ExtensionPluginRequest) -> ExtensionResponse;
fn update(&mut self, rowid: u64, row: &Value) -> UpdateResult;
fn delete(&mut self, rowid: u64) -> DeleteResult;
fn insert(&mut self, auto_rowid: bool, row: &Value) -> InsertResult;
fn shutdown(&self);
}