Skip to content

v0.3.12

Latest

Choose a tag to compare

@Kirky-X Kirky-X released this 29 Jul 18:35
· 149 commits to main since this release

P-DB + P-DB-fix: dynamic max_db_size + --fresh flag + read-only 4 TiB cap

Summary

DuckDB max_db_size 从硬编码 16 GiB 改为动态计算,解决 DB 膨胀问题(6.6 MB 源码经多次 --force 累积至 35 GB DB)。read-only 连接 max_db_size 从 16 GiB 改为 4 TiB cap,修复 >16 GiB DB 查询崩溃的 CRITICAL bug。

Fixed

  • P-DB: dynamic max_db_size + --fresh flag — compute_max_db_size(80% 可用磁盘空间,2 的幂,clamp [16 GiB, 4 TiB],OnceLock 缓存)+ --fresh 标志(删除旧 DB 文件回收死空间,含 .lbug 校验 + TOCTOU 修复)
  • P-DB-fix C1 CRITICAL: read-only max_db_size 16 GiB → 4 TiB cap — lbug VMRegion 用 max_db_size 决定 mmap 区域大小,read-only 查询触及 >16 GiB 页面会触发 BufferManagerException
  • P-DB-fix H1 HIGH: --fresh added to SENTINEL_DEFAULTS — 原先 sdforge 标记 required=true,用户必须传 --fresh false
  • P-DB-fix M1: handle_fresh_flag uses parse::<bool>() — 与 handler 的 bool::from_str 保持一致
  • P-DB-fix MEDIUM-2: exit code 4 → 6 — InvalidInput 语义与 NotFound 的 exit 4 冲突
  • P-DB-fix LOW-2: Ok(false) logs info — 用户可见 --fresh 生效状态
  • P-DB-fix L-2: checked_next_power_of_two — 消除理论 panic 风险

Audit

  • tiangang SAST: 0 CRITICAL / 0 HIGH ✅
  • diting architecture + performance: 0 HIGH / 0 CRITICAL ✅
  • kueiku hard-bug analysis: 1 CRITICAL + 1 HIGH found and fixed ✅
  • 4490 tests passed, 0 clippy warnings
  • cargo audit + cargo deny passed
  • coverage ≥95%

Full Changelog: v0.3.11...v0.3.12

What's Changed

  • chore(deps): bump softprops/action-gh-release from 3.0.1 to 3.0.2 in the minor-and-patch group by @dependabot[bot] in #28

Full Changelog: v0.3.11...v0.3.12