docs: README/CHANGELOG/site 更新至 v0.2.1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# MetonaSqlark
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/version-0.2.0-blue?style=flat-square" alt="version">
|
||||
<img src="https://img.shields.io/badge/version-0.2.1-blue?style=flat-square" alt="version">
|
||||
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="license">
|
||||
<img src="https://img.shields.io/badge/coverage-91.0%25-brightgreen?style=flat-square" alt="coverage">
|
||||
<img src="https://img.shields.io/badge/tests-526%20passed-success?style=flat-square" alt="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 列定义
|
||||
|
||||
|
||||
+5
-5
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>🧪 在线演示 — MetonaSqlark v0.2.0</title>
|
||||
<title>🧪 在线演示 — MetonaSqlark v0.2.1</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%236366f1'/><text x='16' y='22' text-anchor='middle' font-size='20' fill='white'>◈</text></svg>">
|
||||
<style>
|
||||
:root {
|
||||
@@ -83,13 +83,13 @@
|
||||
<a href="docs.html">文档</a>
|
||||
<a href="demo.html" class="nav-active">演示</a>
|
||||
</nav>
|
||||
<div class="status"><span class="dot"></span> Memory 模式 — v0.2.0</div>
|
||||
<div class="status"><span class="dot"></span> Memory 模式 — v0.2.1</div>
|
||||
</header>
|
||||
|
||||
<div class="main">
|
||||
<div class="editor-panel">
|
||||
<div class="editor-area">
|
||||
<textarea id="sql-input" placeholder="输入 SQL 语句... SELECT * FROM users; INSERT INTO users VALUES ('4', 'Diana', 'diana@test.com', 28); SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id = o.user_id;">-- 🚀 MetonaSqlark v0.2.0 在线演示
|
||||
<textarea id="sql-input" placeholder="输入 SQL 语句... SELECT * FROM users; INSERT INTO users VALUES ('4', 'Diana', 'diana@test.com', 28); SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id = o.user_id;">-- 🚀 MetonaSqlark v0.2.1 在线演示
|
||||
-- 已预置 users / orders / products 表数据
|
||||
-- 新特性: AriaEngine · LSM-Tree · WAL · MVCC
|
||||
|
||||
@@ -469,7 +469,7 @@ LIMIT 5 OFFSET 0;
|
||||
-- NOT LIKE 模糊排除
|
||||
SELECT * FROM users
|
||||
WHERE name NOT LIKE 'A%' AND age > 20;`,
|
||||
aria: `-- 🌲 AriaEngine 演示 (v0.2.0)
|
||||
aria: `-- 🌲 AriaEngine 演示 (v0.2.1)
|
||||
-- AriaEngine: LSM-Tree 自研存储引擎
|
||||
-- 支持 WAL 崩溃恢复 + MVCC 快照隔离
|
||||
|
||||
@@ -522,7 +522,7 @@ document.addEventListener('keydown', e => {
|
||||
|
||||
// Boot
|
||||
initDB().then(() => {
|
||||
console.log('✅ MetonaSqlark v0.2.0 demo ready');
|
||||
console.log('✅ MetonaSqlark v0.2.1 demo ready');
|
||||
setTimeout(runQuery, 300);
|
||||
}).catch(err => {
|
||||
renderError('初始化失败: ' + err.message);
|
||||
|
||||
+3
-2
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>📖 API 文档 — MetonaSqlark v0.2.0</title>
|
||||
<title>📖 API 文档 — MetonaSqlark v0.2.1</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%236366f1'/><text x='16' y='22' text-anchor='middle' font-size='20' fill='white'>◈</text></svg>">
|
||||
<style>
|
||||
:root {
|
||||
@@ -628,7 +628,8 @@ db.<span class="f">emit</span>(<span class="s">'users'</span>, { <span class="s"
|
||||
</table>
|
||||
|
||||
<h2 id="aria-engine">🌲 AriaEngine 自研存储引擎</h2>
|
||||
<p><strong>v0.2.0 新增</strong> — AriaEngine 是专为 MetonaSqlark 设计的页面式存储引擎,对标 SQLite 设计理念。</p>
|
||||
<p><strong>v0.2.0 新增</strong> — AriaEngine 是专为 MetonaSqlark 设计的页面式存储引擎,对标 SQLite 设计理念。<br>
|
||||
<strong>v0.2.1 生产加固</strong> — WAL CRC 完整性校验、约束激活、RESTRICT 外键修正、Hybrid 提交顺序修复。</p>
|
||||
|
||||
<h3>核心特性</h3>
|
||||
<table>
|
||||
|
||||
+1
-1
@@ -152,7 +152,7 @@
|
||||
<!-- Hero -->
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<div class="badge" style="margin-bottom:24px;"><span class="dot"></span> v0.2.0 已发布 — AriaEngine 自研存储引擎:LSM-Tree · WAL · MVCC · 页面格式</div>
|
||||
<div class="badge" style="margin-bottom:24px;"><span class="dot"></span> v0.2.1 生产加固 — WAL CRC校验 · 约束激活 · RESTRICT外键 · Hybrid提交修复 · 浏览器兼容声明</div>
|
||||
<h1>前端的 <span class="gradient-text">SQL 数据库</span></h1>
|
||||
<p>TypeScript 原生构建,5 种存储引擎,支持完整 SQL 查询。<br>零运行时依赖,开箱即用。AriaEngine 自研引擎:LSM-Tree + WAL + MVCC。</p>
|
||||
<div class="actions">
|
||||
|
||||
Reference in New Issue
Block a user