From 725ee74a684cf610d9a36fb731fc493bfb0598b3 Mon Sep 17 00:00:00 2001 From: thzxx Date: Mon, 27 Jul 2026 20:51:26 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20README/CHANGELOG/site=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=87=B3=20v0.2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 22 ++++++++++++++++++++++ README.md | 18 +++++++++++++++++- site/demo.html | 10 +++++----- site/docs.html | 5 +++-- site/index.html | 2 +- 5 files changed, 48 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33eb3df..cb52d70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ All notable changes to MetonaSqlark will be documented in this file. +## [0.2.1] - 2026-07-27 + +### Fixed +- **WAL CRC 校验验证** — 恢复时计算并验证 CRC32,损坏记录自动跳过并告警 +- **Hybrid 引擎提交顺序** — commit 先写磁盘再写内存,磁盘失败回滚内存,消除数据不一致风险 +- **RESTRICT 外键行为修正** — 检测到引用行时抛出 `FOREIGN_KEY_VIOLATION`,不再静默保留孤儿 +- **SSTable rangeScan 边界保护** — 空索引或 startBlockIdx > endBlockIdx 时安全返回 + +### Added +- **ColumnDef 约束激活** — `maxLength`/`min`/`max` 约束在 `checkFieldType` 中正式生效 +- **查询结果上限** — `DatabaseConfig.maxRowsPerQuery`(默认 0 不限制),防止超大结果集 OOM +- **onError 全局回调** — 配置中的 `onError` 回调实际接入 CRUD 异常路径 +- **debug 调试模式** — `DatabaseConfig.debug: true` 输出 `[MetonaSqlark:name]` 前缀的结构化日志 +- **浏览器兼容性声明** — README 增加 Chrome 80+/Firefox 80+/Safari 14+/Edge 80+ 支持矩阵 + +### Changed +- MemoryEngine RESTRICT 外键行为:从"不级联保留孤儿"改为"禁止删除抛异常" +- Hybrid 引擎 commitTransaction 磁盘优先于内存 +- DB_DEFAULTS 新增 `maxRowsPerQuery: 0` 和 `debug: false` + +--- + ## [0.2.0] - 2026-07-27 ### Added diff --git a/README.md b/README.md index e80e0ac..edc357b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # MetonaSqlark

- version + version license coverage tests @@ -11,6 +11,19 @@ --- +## 🛡 v0.2.1 生产加固 + +- 🔒 **WAL CRC 完整性校验** — 崩溃恢复时验证日志校验和,损坏记录自动跳过 +- ✅ **ColumnDef 约束激活** — `maxLength`/`min`/`max` 约束正式生效 +- 🔗 **外键 RESTRICT 修正** — 有子行时禁止删除父记录,抛出 `FOREIGN_KEY_VIOLATION` +- 🔄 **Hybrid 提交顺序修复** — 先磁盘后内存,磁盘失败自动回滚 +- 📊 **查询结果上限** — `maxRowsPerQuery` 配置(默认 0 不限制),防止 OOM +- 🐛 **debug 调试模式** — `DatabaseConfig.debug: true` 输出详细操作日志 +- 📞 **onError 回调接入** — 全局错误回调正式生效 +- 🌐 **浏览器兼容声明** — Chrome 80+ / Firefox 80+ / Safari 14+ / Edge 80+ + +--- + ## ✨ v0.2.0 AriaEngine 自研存储引擎 - 🚀 **AriaEngine** — 自研 LSM-Tree 页面式存储引擎,二进制格式、Buffer Pool、WAL、MVCC @@ -167,6 +180,9 @@ await db2.disconnect(); // 引用计数 -1 | `mode` | `'memory' \| 'disk' \| 'hybrid' \| 'aria'` | `'hybrid'` | 存储模式 🆕 aria | | `diskEngine` | `'indexeddb' \| 'opfs'` | `'indexeddb'` | 磁盘引擎(aria 模式下为存储后端) | | `version` | `number` | `1` | 版本号 | +| `maxRowsPerQuery` | `number` | `0` | 查询结果行数上限(0=不限制)🆕 | +| `debug` | `boolean` | `false` | 调试模式,输出详细日志 🆕 | +| `onError` | `(error) => void` | — | 全局错误回调 🆕 | ### ColumnDef 列定义 diff --git a/site/demo.html b/site/demo.html index f6253b4..1604e20 100644 --- a/site/demo.html +++ b/site/demo.html @@ -3,7 +3,7 @@ -🧪 在线演示 — MetonaSqlark v0.2.0 +🧪 在线演示 — MetonaSqlark v0.2.1