reifydb_catalog/transaction/
mod.rs1use reifydb_core::interface::{
5 CommandTransaction, QueryTransaction, TransactionalChanges, interceptor::WithInterceptors,
6};
7
8mod dictionary;
9mod flow;
10mod namespace;
11mod ring_buffer;
12mod source;
13mod table;
14mod view;
15
16pub trait MaterializedCatalogTransaction {
17 fn catalog(&self) -> &MaterializedCatalog;
18}
19
20pub trait CatalogCommandTransaction:
21 CatalogQueryTransaction
22 + CatalogDictionaryCommandOperations
23 + CatalogNamespaceCommandOperations
24 + CatalogRingBufferCommandOperations
25 + CatalogTableCommandOperations
26 + CatalogViewCommandOperations
27{
28}
29
30pub trait CatalogTrackChangeOperations:
31 CatalogTrackDictionaryChangeOperations
32 + CatalogTrackNamespaceChangeOperations
33 + CatalogTrackRingBufferChangeOperations
34 + CatalogTrackTableChangeOperations
35 + CatalogTrackViewChangeOperations
36{
37}
38
39pub trait CatalogQueryTransaction:
40 CatalogDictionaryQueryOperations
41 + CatalogFlowQueryOperations
42 + CatalogNamespaceQueryOperations
43 + CatalogRingBufferQueryOperations
44 + CatalogSourceQueryOperations
45 + CatalogTableQueryOperations
46 + CatalogViewQueryOperations
47{
48}
49
50impl<QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges> CatalogQueryTransaction for QT {}
51
52impl<
53 CT: CommandTransaction
54 + MaterializedCatalogTransaction
55 + CatalogTrackChangeOperations
56 + WithInterceptors<CT>
57 + TransactionalChanges,
58> CatalogCommandTransaction for CT
59{
60}
61
62pub use dictionary::{
63 CatalogDictionaryCommandOperations, CatalogDictionaryQueryOperations, CatalogTrackDictionaryChangeOperations,
64};
65pub use flow::CatalogFlowQueryOperations;
66pub use namespace::{
67 CatalogNamespaceCommandOperations, CatalogNamespaceQueryOperations, CatalogTrackNamespaceChangeOperations,
68};
69pub use ring_buffer::{
70 CatalogRingBufferCommandOperations, CatalogRingBufferQueryOperations, CatalogTrackRingBufferChangeOperations,
71};
72pub use source::CatalogSourceQueryOperations;
73pub use table::{CatalogTableCommandOperations, CatalogTableQueryOperations, CatalogTrackTableChangeOperations};
74pub use view::{CatalogTrackViewChangeOperations, CatalogViewCommandOperations, CatalogViewQueryOperations};
75
76use crate::MaterializedCatalog;