跳转到内容

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 周一起始标签;见模块头注释)。