Skip to main content

reifydb_store_multi/gc/row/
mod.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Copyright (c) 2026 ReifyDB
3
4pub mod actor;
5pub mod scanner;
6
7use std::{collections::HashMap, sync::Arc};
8
9use reifydb_core::{
10	interface::catalog::{config::GetConfig, shape::ShapeId},
11	row::RowSettings,
12};
13
14pub trait ListRowSettings: Clone + Send + Sync + 'static {
15	fn list_row_settings(&self) -> Vec<(ShapeId, RowSettings)>;
16	fn config(&self) -> Arc<dyn GetConfig>;
17}
18
19#[derive(Debug, Default)]
20pub struct ScanStats {
21	pub shapes_scanned: u64,
22
23	pub shapes_skipped: u64,
24
25	pub rows_expired: u64,
26
27	pub versions_dropped: u64,
28
29	pub bytes_discovered: HashMap<ShapeId, u64>,
30
31	pub bytes_reclaimed: HashMap<ShapeId, u64>,
32}