pub struct Catalog {
pub schemas: HashMap<String, CatalogSchema>,
pub holt_store: Arc<HoltStore>,
}Fields§
§schemas: HashMap<String, CatalogSchema>§holt_store: Arc<HoltStore>Implementations§
Source§impl Catalog
impl Catalog
pub fn new(holt_store: Arc<HoltStore>) -> Self
pub fn create_schema( &mut self, schema_name: impl Into<String>, ) -> QuillSQLResult<()>
pub fn create_table( &mut self, table_ref: TableReference, schema: SchemaRef, ) -> QuillSQLResult<u64>
pub fn drop_table(&mut self, table_ref: &TableReference) -> QuillSQLResult<bool>
pub fn table_schema( &self, table_ref: &TableReference, ) -> QuillSQLResult<SchemaRef>
pub fn table_id(&self, table_ref: &TableReference) -> QuillSQLResult<u64>
pub fn table_statistics( &self, table_ref: &TableReference, ) -> Option<&TableStatistics>
pub fn analyze_table( &mut self, table_ref: &TableReference, ) -> QuillSQLResult<TableStatistics>
pub fn try_table_schema(&self, table_ref: &TableReference) -> Option<SchemaRef>
pub fn table_indexes( &self, table_ref: &TableReference, ) -> QuillSQLResult<Vec<CatalogIndex>>
pub fn create_index( &mut self, index_name: String, table_ref: &TableReference, key_schema: SchemaRef, ) -> QuillSQLResult<u64>
pub fn drop_index( &mut self, table_ref: &TableReference, index_name: &str, ) -> QuillSQLResult<bool>
pub fn find_index_owner( &self, catalog_hint: Option<&str>, schema_hint: Option<&str>, index_name: &str, ) -> Option<TableReference>
pub fn load_schema(&mut self, name: impl Into<String>, schema: CatalogSchema)
pub fn load_table( &mut self, table_ref: TableReference, table_name: impl Into<String>, schema: SchemaRef, table_id: u64, ) -> QuillSQLResult<()>
pub fn load_index( &mut self, table_ref: TableReference, index_name: impl Into<String>, key_schema: SchemaRef, index_id: u64, ) -> QuillSQLResult<()>
pub fn refresh_information_schema_projection(&self) -> QuillSQLResult<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Catalog
impl !RefUnwindSafe for Catalog
impl Send for Catalog
impl Sync for Catalog
impl Unpin for Catalog
impl UnsafeUnpin for Catalog
impl !UnwindSafe for Catalog
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