Repository navigation
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+--freshflag —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:
--freshadded to SENTINEL_DEFAULTS — 原先 sdforge 标记 required=true,用户必须传--fresh false - P-DB-fix M1:
handle_fresh_flagusesparse::<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