pub struct Table {
pub id: TableId,
pub name: String,
pub columns: Vec<Column>,
pub column_indices: HashMap<String, usize>,
pub primary_key_columns: Vec<usize>,
pub secondary_indexes: Vec<SecondaryIndex>,
pub check_constraints: Vec<CheckConstraint>,
pub foreign_keys: Vec<ForeignKeyConstraint>,
pub root_page_id: u32,
pub primary_key_index_root_page_id: u32,
}Fields§
§id: TableId§name: String§columns: Vec<Column>§column_indices: HashMap<String, usize>§primary_key_columns: Vec<usize>§secondary_indexes: Vec<SecondaryIndex>§check_constraints: Vec<CheckConstraint>§foreign_keys: Vec<ForeignKeyConstraint>§root_page_id: u32§primary_key_index_root_page_id: u32Implementations§
Source§impl Table
impl Table
pub fn new( id: TableId, name: String, columns: Vec<Column>, root_page_id: u32, ) -> Result<Self>
pub fn get_column_by_name(&self, name: &str) -> Option<&Column>
pub fn get_column_index(&self, name: &str) -> Option<usize>
pub fn column_count(&self) -> usize
pub fn primary_key_count(&self) -> usize
pub fn validate_row(&self, values: &[Value]) -> Result<()>
pub fn get_primary_key_values(&self, values: &[Value]) -> Result<Vec<Value>>
pub fn row_size(&self) -> usize
pub fn get_secondary_index(&self, name: &str) -> Option<&SecondaryIndex>
pub fn add_secondary_index(&mut self, index: SecondaryIndex) -> Result<()>
pub fn list_named_constraints(&self) -> Vec<NamedConstraint>
pub fn named_constraint(&self, name: &str) -> Option<NamedConstraint>
pub fn add_column(&mut self, column: Column) -> Result<()>
pub fn rename_column(&mut self, old_name: &str, new_name: String) -> Result<()>
pub fn drop_column(&mut self, name: &str) -> Result<usize>
pub fn set_column_default( &mut self, name: &str, default_value: Option<Value>, ) -> Result<()>
pub fn set_column_nullable(&mut self, name: &str, nullable: bool) -> Result<()>
pub fn rewrite_inbound_referenced_column( &mut self, referenced_table: &str, old_name: &str, new_name: &str, )
pub fn add_check_constraint( &mut self, constraint: CheckConstraint, ) -> Result<()>
pub fn add_foreign_key( &mut self, constraint: ForeignKeyConstraint, ) -> Result<()>
pub fn drop_secondary_index(&mut self, name: &str) -> Result<SecondaryIndex>
pub fn drop_named_constraint( &mut self, name: &str, ) -> Result<NamedConstraintKind>
pub fn serialize(&self, buffer: &mut Vec<u8>) -> Result<()>
pub fn deserialize(buffer: &[u8], offset: &mut usize) -> Result<Self>
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Create table from bytes stored in schema B-tree
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Table
impl RefUnwindSafe for Table
impl Send for Table
impl Sync for Table
impl Unpin for Table
impl UnsafeUnpin for Table
impl UnwindSafe for Table
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