reifydb_catalog/materialized/load/
mod.rs1pub mod dictionary;
5pub mod flow;
6pub mod namespace;
7pub mod operator_retention_policy;
8pub mod primary_key;
9pub mod source_retention_policy;
10pub mod table;
11pub mod view;
12
13pub(crate) use dictionary::load_dictionaries;
14pub(crate) use flow::load_flows;
15pub(crate) use namespace::load_namespaces;
16pub(crate) use operator_retention_policy::load_operator_retention_policies;
17pub(crate) use primary_key::load_primary_keys;
18use reifydb_core::interface::QueryTransaction;
19pub(crate) use source_retention_policy::load_source_retention_policies;
20pub(crate) use table::load_tables;
21pub(crate) use view::load_views;
22
23use crate::MaterializedCatalog;
24
25pub struct MaterializedCatalogLoader;
27
28impl MaterializedCatalogLoader {
29 pub async fn load_all(qt: &mut impl QueryTransaction, catalog: &MaterializedCatalog) -> crate::Result<()> {
31 load_namespaces(qt, catalog).await?;
32 load_primary_keys(qt, catalog).await?;
35
36 load_tables(qt, catalog).await?;
37 load_views(qt, catalog).await?;
38 load_flows(qt, catalog).await?;
39
40 load_source_retention_policies(qt, catalog).await?;
42 load_operator_retention_policies(qt, catalog).await?;
43
44 load_dictionaries(qt, catalog).await?;
46
47 Ok(())
48 }
49}