Repository navigation
MoonSQLiteFile v0.8.0
v0.8.0 完善源码组织、公开契约文档与兼容验证,并精简项目首页,让安装、使用和参与开发的入口更清楚。
主要更新
- MoonBit 源码、同包测试、CLI 和示例迁入
src/,对外仍导入prowk/moonsqlitefile;保留单核心包,正常库构建不包含测试代码或新的生成依赖。 - 补齐 124 个公开类型/函数契约注释及异步导出说明,明确预算、错误来源、部分报告、游标供给与释放。
- README 从 249 行精简到 90 行;详细 API/CLI 用法迁至使用指南,完整验证命令集中到贡献指南,首页和指南中的六个原文函数继续在四后端运行验证。
- 增加六项公开黑盒回归,保护 v0.7.0 的 237 项核心声明与异步导出/原型;全部 17 个 CLI 命令使用 22 个历史输出/退出码场景作对照。
- 固定已验工具链并独立验证官方 latest;新增支持矩阵、贡献指南、12 个同输入性能对照场景,以及三个历史 fuzz 边界输入的持续重放。
升级说明
外部使用者继续导入 prowk/moonsqlitefile,无需添加 /src。源码贡献者和自动化脚本需更新源文件、CLI 与 MoonBit 示例路径,例如 moon build --target js src/cmd/inspect。公开声明、CLI 历史场景和异步接口已通过兼容检查;既有默认预算与错误映射保持原语义。
固定工具链与已验证宿主见支持矩阵,完整迁移说明见 v0.8.0 升级指南。
安装
moon add prowk/moonsqlitefile@0.8.0浏览器工具下载本页 moonsqlitefile-viewer.html。异步 JS 包下载 prowk-moonsqlitefile-async-0.8.0.tgz 后执行 npm install ./prowk-moonsqlitefile-async-0.8.0.tgz;该包未发布 npm registry。附件校验值见 SHA256SUMS.txt。
验证
- 发布 tag 指向
cf7bdc5d9c9dd808640190d7f6904be4a21de8f9;该提交的 GitHub CI 中 pinned/latest 两个完整作业均通过。本地两个通道各 34 项检查通过,四后端各 127 项测试通过;本次官方 latest 与固定版本一致,已核对实际二进制与标准库。 - 公开 API、17 个 CLI 命令、六个文档函数、实际打包库、异步 tarball、浏览器 File/Blob/Worker 与取消释放验收通过;浏览器覆盖 HTTP 载入后断网。
- SQLite 对照包含 29 组同步/异步 WAL 快照、5470 条恢复记录;大 payload、高位 WAL、12 个同输入成本场景、历史 fuzz 重放与 512 次固定种子变更通过。Linux CI 启用 dbstat。
- 发布后从真实 Mooncakes registry 安装 0.8.0,在独立消费项目中完成四后端 check/build/test,并运行范围源、WAL 和游标 API。
使用边界
只读同一时刻且使用期间不变的 SQLite 主文件与 WAL 副本;不执行 SQL、写入、checkpoint、在线锁或 shm 协议,不提供恢复。返回磁盘存储值,不提供完整 SQL 列映射,也不验证索引排序/collation 或表与索引内容一致性。Complete 仅表示声明范围完成,不等于 SQLite integrity_check。
64 位寻址不等于常量内存:页号仍为 Int,单条 payload 完整解码,全局报告、遍历状态和 WAL 索引分别需要预算。浏览器直接 file:// 打开仍未验收,建议通过本机静态 HTTP 服务载入 HTML 后离线使用。