1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! The `CatalogManager` struct and all mutation methods.
//!
//! Split into one file per object type — each file is
//! an `impl CatalogManager` block for that object's operations.
use crate::;
// pub mod role;
// pub mod tablespace;
/// The entry point for all catalog mutations.
///
/// Owns both the [`Catalog`] (data) and the [`Interner`] (name resolution).
/// The only component allowed to write to the catalog — all other layers
/// get a read-only reference.
///
/// Split across multiple impl blocks — one file per object type.