release: v0.6.0 — 完全移除 IndexedDB,自研 KVStore 事务存储引擎(多key原子写/快照日志恢复/CRC自愈)+ KVStoreEngine + 旧库迁移工具 + 10万级压力验证 + 崩溃注入e2e
This commit is contained in:
@@ -12,7 +12,6 @@
|
||||
* - P1-9: Savepoint 回滚后 MVCC 版本链一致 + rollback 索引重建
|
||||
*/
|
||||
|
||||
import 'fake-indexeddb/auto';
|
||||
import { VERSION } from '../src/constants';
|
||||
import { MetonaSqlark } from '../src/core';
|
||||
import { AriaEngine } from '../src/engine/aria/index';
|
||||
@@ -20,13 +19,17 @@ import { MemoryEngine } from '../src/engine/memory';
|
||||
import { WAL } from '../src/engine/aria/wal/log';
|
||||
import { tokenize } from '../src/sql/lexer';
|
||||
|
||||
import { installOPFSMock } from './helpers/opfs-mock';
|
||||
|
||||
beforeEach(() => { installOPFSMock(new Map()); });
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// P0-1: Aria WAL DROP_TABLE 崩溃恢复
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
describe('[v0.3.3] P0-1: WAL DROP_TABLE 崩溃恢复', () => {
|
||||
const mkEngine = async (name: string): Promise<AriaEngine> => {
|
||||
const e = new AriaEngine({ storageBackend: 'indexeddb', walSyncMode: 'full' });
|
||||
const e = new AriaEngine({ storageBackend: 'opfs', walSyncMode: 'full' });
|
||||
await e.open(name, 1);
|
||||
return e;
|
||||
};
|
||||
@@ -400,7 +403,7 @@ describe('[v0.3.3] P1-9: Savepoint + MVCC 一致性', () => {
|
||||
|
||||
describe('[v0.3.3] 端到端', () => {
|
||||
test('全部修复点可共存于 MetonaSqlark API', async () => {
|
||||
expect(VERSION).toBe('0.5.1');
|
||||
expect(VERSION).toBe('0.6.0');
|
||||
const db = new MetonaSqlark({ name: `e2e-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, mode: 'memory' });
|
||||
await db.init();
|
||||
await db.defineTable('users', {
|
||||
|
||||
Reference in New Issue
Block a user