Skip to main content

reifydb_core/event/
row.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use std::collections::HashMap;
5
6use crate::{
7	common::CommitVersion,
8	interface::catalog::{flow::FlowNodeId, shape::ShapeId},
9};
10
11define_event! {
12
13	pub struct RowsExpiredEvent {
14		pub shapes_scanned: u64,
15		pub shapes_skipped: u64,
16		pub rows_expired: u64,
17		pub versions_dropped: u64,
18		pub bytes_discovered: HashMap<ShapeId, u64>,
19		pub bytes_reclaimed: HashMap<ShapeId, u64>,
20	}
21}
22
23define_event! {
24
25	pub struct OperatorRowsExpiredEvent {
26		pub operators_scanned: u64,
27		pub operators_skipped: u64,
28		pub rows_expired: u64,
29		pub versions_dropped: u64,
30		pub bytes_discovered: HashMap<FlowNodeId, u64>,
31		pub bytes_reclaimed: HashMap<FlowNodeId, u64>,
32	}
33}
34
35define_event! {
36	pub struct HistoricalGcSweepEvent {
37		pub cutoff: CommitVersion,
38		pub shapes_scanned: u64,
39		pub versions_dropped: u64,
40	}
41}