pub struct Schema { /* private fields */ }Implementations§
Source§impl Schema
impl Schema
pub fn new() -> Self
pub fn create_table( &mut self, name: String, columns: Vec<Column>, ) -> Result<TableId>
pub fn create_table_with_roots( &mut self, name: String, columns: Vec<Column>, table_root_page_id: u32, primary_key_root_page_id: u32, ) -> Result<TableId>
pub fn get_table(&self, table_id: TableId) -> Option<&Table>
pub fn get_table_by_name(&self, name: &str) -> Option<&Table>
pub fn view(&self, name: &str) -> Option<&View>
pub fn trigger(&self, name: &str) -> Option<&Trigger>
pub fn create_view(&mut self, view: View) -> Result<()>
pub fn drop_view(&mut self, name: &str) -> Result<View>
pub fn create_trigger(&mut self, trigger: Trigger) -> Result<()>
pub fn drop_trigger(&mut self, name: &str) -> Result<Trigger>
pub fn drop_table(&mut self, table_id: TableId) -> Result<()>
pub fn rename_table( &mut self, table_id: TableId, new_name: String, ) -> Result<()>
pub fn add_secondary_index( &mut self, table_id: TableId, index: SecondaryIndex, ) -> Result<()>
pub fn add_column(&mut self, table_id: TableId, column: Column) -> Result<()>
pub fn rename_column( &mut self, table_id: TableId, old_name: &str, new_name: String, ) -> Result<()>
pub fn drop_column( &mut self, table_id: TableId, column_name: &str, ) -> Result<usize>
pub fn set_column_default( &mut self, table_id: TableId, column_name: &str, default_value: Option<Value>, ) -> Result<()>
pub fn set_column_nullable( &mut self, table_id: TableId, column_name: &str, nullable: bool, ) -> Result<()>
pub fn add_check_constraint( &mut self, table_id: TableId, constraint: CheckConstraint, ) -> Result<()>
pub fn add_foreign_key( &mut self, table_id: TableId, constraint: ForeignKeyConstraint, ) -> Result<()>
pub fn drop_secondary_index( &mut self, table_id: TableId, index_name: &str, ) -> Result<()>
pub fn drop_named_constraint( &mut self, table_id: TableId, constraint_name: &str, ) -> Result<NamedConstraintKind>
pub fn set_table_primary_key_root_page( &mut self, table_id: TableId, root_page_id: u32, ) -> Result<()>
pub fn set_table_storage_roots( &mut self, table_id: TableId, table_root_page_id: u32, primary_key_root_page_id: u32, ) -> Result<()>
pub fn list_tables(&self) -> Vec<(TableId, String)>
pub fn list_views(&self) -> Vec<String>
pub fn list_triggers(&self) -> Vec<String>
pub fn get_table_count(&self) -> usize
pub fn get_total_column_count(&self) -> usize
pub fn next_table_id(&self) -> u32
pub fn next_column_id(&self) -> u32
pub fn validate(&self) -> Result<()>
pub fn serialize(&self, buffer: &mut Vec<u8>) -> Result<()>
pub fn deserialize(buffer: &[u8]) -> Result<Self>
pub fn set_table_root_page( &mut self, table_id: TableId, root_page_id: u32, ) -> Result<()>
Sourcepub fn insert_table(&mut self, table: Table) -> Result<()>
pub fn insert_table(&mut self, table: Table) -> Result<()>
Insert a fully-defined table (used when loading persisted schema).
pub fn insert_view(&mut self, view: View) -> Result<()>
pub fn insert_trigger(&mut self, trigger: Trigger) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnsafeUnpin for Schema
impl UnwindSafe for Schema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more