desktop/src-tauri/crates/core/src/retention_tiered.rs
第 1 条注释,第 1 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:1
//! 用户配置的分级保留:明细及小时、日、周、月、年归档。第 2 条注释,第 2 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:2
//! 汇总周期越长,保留期越长;删除日行前生成周、月、年汇总,重复替换不叠加。第 3 条注释,第 3 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:3
//! distinct_sessions 依赖保留的明细;物化层 NULL 表示未计算该数量(V06)。第 4 条注释,第 4 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:4
//! 周期物化固定周一 ISO 标签;周起始为显示层配置,变更重建物化属后续显式操作。第 5 条注释,第 13 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:13
/// 分级保留策略(天数)。第 6 条注释,第 21 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:21
/// None = 终身保留。第 7 条注释,第 27 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:27
// 2026-09-26 用户选择的默认值:小时 3 天、日 90 天、周 3 年、月 10 年。第 8 条注释,第 41 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:41
// 明细层无层级约束(可比小时层长——只是冗余不丢数据);第 9 条注释,第 42 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:42
// 粗粒度层必须不短于细粒度层(hourly <= daily <= weekly <= monthly <= yearly)。第 10 条注释,第 94 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:94
// 同一天可能属于进行中的周、已完成的月或年;采用最晚的边界,第 11 条注释,第 95 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:95
// 使影响任一已完成周期的日期都纳入检查。第 12 条注释,第 132 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:132
/// 执行分级保留:明细 → 小时 → 物化周/月/年 → 日 → 周/月(年按策略)。第 13 条注释,第 133 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:133
/// 全程单事务;明细下限沿用 floor 机制防止过期重扫复活(V14)。第 14 条注释,第 182 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:182
// 1. 明细层:封存过期日 → 删除过期明细/诊断(沿用既有封存语义)。第 15 条注释,第 214 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:214
// F2:明细过期后日成本行封存(历史金额不再改写,仍可查询)。第 16 条注释,第 218 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:218
// 2. 小时层。第 17 条注释,第 227 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:227
// 3. 仅进行中周期变化时,已完成历史保持不变;用行数发现删除的分区,第 18 条注释,第 228 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:228
// 用修订号发现等量替换及迟到更正。第 19 条注释,第 229 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:229
// 导入未来修订号时,按保守规则强制重建。第 20 条注释,第 264 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:264
// 4. 日层删除(物化已完成,历史趋势不丢)。进行中周/月/年的起点受保护:第 21 条注释,第 265 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:265
// 其日行删除会导致该周期永远缺失(周期未完成不能物化完整值),第 22 条注释,第 266 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:266
// 保留到需要保护的年、月、周中最早的起点,并保留边界所在的完整 ISO 周。第 23 条注释,第 275 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:275
// 保留边界处的完整 ISO 周;后续清理不得第 24 条注释,第 276 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:276
// 只用残留的一月日期重建跨年周。第 25 条注释,第 282 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:282
// F2:日成本行随日层保留期同步清理(明细与估算历史均已到期)。第 26 条注释,第 291 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:291
// 5. 周/月层删除;年层按策略(None = 终身保留)。第 27 条注释,第 340 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:340
/// 物化 [from, to] 内出现的所有已完成周/月/年(replace:先删同周期旧行再插)。第 28 条注释,第 341 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:341
/// 进行中周期(end_day >= to)跳过——由日层继续服务。第 29 条注释,第 560 行
desktop/src-tauri/crates/core/src/retention_tiered.rs:560
/// 一天的周/月/年归属(周用 ISO 周一起始标签;见模块头注释)。