1mod build_index_table;
16mod flush_compact_region;
17mod flush_compact_table;
18mod gc;
19mod migrate_region;
20#[cfg(feature = "enterprise")]
21mod purge_table;
22mod reconcile_catalog;
23mod reconcile_database;
24mod reconcile_table;
25
26use flush_compact_region::{CompactRegionFunction, FlushRegionFunction};
27use flush_compact_table::{CompactTableFunction, FlushTableFunction};
28use gc::{GcRegionsFunction, GcTableFunction};
29use migrate_region::MigrateRegionFunction;
30#[cfg(feature = "enterprise")]
31use purge_table::PurgeTableFunction;
32use reconcile_catalog::ReconcileCatalogFunction;
33use reconcile_database::ReconcileDatabaseFunction;
34use reconcile_table::ReconcileTableFunction;
35
36use crate::admin::build_index_table::BuildIndexFunction;
37use crate::flush_flow::FlushFlowFunction;
38use crate::function_registry::FunctionRegistry;
39
40pub(crate) struct AdminFunction;
42
43impl AdminFunction {
44 pub fn register(registry: &FunctionRegistry) {
46 registry.register(MigrateRegionFunction::factory());
47 registry.register(FlushRegionFunction::factory());
48 registry.register(CompactRegionFunction::factory());
49 registry.register(FlushTableFunction::factory());
50 registry.register(CompactTableFunction::factory());
51 registry.register(GcRegionsFunction::factory());
52 registry.register(GcTableFunction::factory());
53 registry.register(BuildIndexFunction::factory());
54 registry.register(FlushFlowFunction::factory());
55 registry.register(ReconcileCatalogFunction::factory());
56 registry.register(ReconcileDatabaseFunction::factory());
57 registry.register(ReconcileTableFunction::factory());
58 }
59
60 #[cfg_attr(not(feature = "enterprise"), allow(unused_variables))]
62 pub fn register_admin_only(registry: &FunctionRegistry) {
63 #[cfg(feature = "enterprise")]
64 registry.register(PurgeTableFunction::factory());
65 }
66}