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:
@@ -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,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user