fix(stats): tombstone_count 统计源修正 — 数 memories is_deleted=true 行

SoftDelete 持久化语义 = memories 表内标记 is_deleted=true(不写独立 tombstones 表),
但 Rust stats() 的 tombstone_count 数的是空 tombstones 表 → 恒 0(指标失真)。
修正:stats() 对 memories 表 count_rows(Some("is_deleted = true")) 作为 tombstone_count。
验证: DELETE 一条记忆后 stats tombstone_count 应 >0。
This commit is contained in:
小唯
2026-09-06 09:22:49 +08:00
parent 4a245b6262
commit a7082d381a
+6 -3
View File
@@ -447,11 +447,14 @@ impl LanceDBOps {
let mut m = 0usize; let mut e = 0usize; let mut t = 0usize;
for name in &tables {
if let Ok(tbl) = rt().block_on(db.open_table(name).execute()) {
if let Ok(cnt) = rt().block_on(tbl.count_rows(None)) {
if name == "memories" {
if let Ok(cnt) = rt().block_on(tbl.count_rows(None)) { m = cnt; }
// tombstone_count = memories 中 is_deleted=true 的行(软删审计语义;
// SoftDelete 持久化标记 is_deleted 而非写独立 tombstones 表,2026-09-06 修正统计源)
if let Ok(tc) = rt().block_on(tbl.count_rows(Some("is_deleted = true"))) { t = tc; }
} else if let Ok(cnt) = rt().block_on(tbl.count_rows(None)) {
match name.as_str() {
"memories" => m = cnt,
"episodes" => e = cnt,
"tombstones" => t = cnt,
_ => {}
}
}