reifydb_catalog/
lib.rs

1// Copyright (c) reifydb.com 2025
2// This file is licensed under the AGPL-3.0-or-later, see license.md file
3
4#![cfg_attr(not(debug_assertions), deny(warnings))]
5
6pub use reifydb_core::Result;
7use reifydb_core::interface::version::{ComponentType, HasVersion, SystemVersion};
8
9mod materialized;
10pub mod resolve;
11pub mod store;
12pub mod system;
13pub mod table_virtual;
14pub mod test_utils;
15pub mod transaction;
16
17pub use materialized::{MaterializedCatalog, load::MaterializedCatalogLoader};
18// Re-export moved modules for backward compatibility
19pub use store::column;
20pub use store::{column_policy, namespace, primary_key, ringbuffer, sequence, source, table, view};
21pub use transaction::{
22	CatalogCommandTransaction, CatalogDictionaryCommandOperations, CatalogDictionaryQueryOperations,
23	CatalogNamespaceCommandOperations, CatalogNamespaceQueryOperations, CatalogQueryTransaction,
24	CatalogSourceQueryOperations, CatalogTableCommandOperations, CatalogTableQueryOperations,
25	CatalogTableVirtualUserQueryOperations, CatalogTrackChangeOperations, CatalogViewCommandOperations,
26	CatalogViewQueryOperations,
27};
28
29pub struct CatalogStore;
30
31pub struct CatalogVersion;
32
33impl HasVersion for CatalogVersion {
34	fn version(&self) -> SystemVersion {
35		SystemVersion {
36			name: "catalog".to_string(),
37			version: env!("CARGO_PKG_VERSION").to_string(),
38			description: "Database catalog and metadata management module".to_string(),
39			r#type: ComponentType::Module,
40		}
41	}
42}