fix: v0.6.1 生产可用性深度审查 — MemoryEngine 级联环无限递归(P0)/ KVStore 多表事务与级联原子化 / 未open防护统一 / 27 个异常场景测试 + aria级联回归
CI / test (18.x) (push) Successful in 10m59s
CI / test (20.x) (push) Successful in 10m59s
CI / test (22.x) (push) Successful in 10m49s
CI / test (24.x) (push) Successful in 10m47s
CI / e2e (push) Successful in 10m4s

This commit is contained in:
thzxx
2026-08-10 14:29:40 +08:00
parent a9e1a281d3
commit 8a78f27f7d
15 changed files with 954 additions and 227 deletions
+6 -3
View File
@@ -827,6 +827,7 @@ declare class MemoryEngine implements IStorageEngine {
private removeIndexEntries;
/**
* 级联删除:查找引用 tableName.pkValue 的所有表的行并删除。
* v0.6.1-fix: 环路保护(A→B→A 级联环不再无限递归栈溢出,AriaEngine 同语义)。
* @returns 级联删除的行数
*/
private cascadeDelete;
@@ -887,6 +888,8 @@ declare class KVStoreEngine implements IStorageEngine {
private txActive;
/** 事务中写过的表(commit 时只 flush 这些表) */
private txDirtyTables;
/** 事务中发生 schema 变更(DDL)—— commit 时持久化 schema */
private txSchemaChanged;
constructor(medium?: IStorageBackend, checkpointThreshold?: number);
private rowKey;
private rowPrefix;
@@ -936,10 +939,10 @@ declare class KVStoreEngine implements IStorageEngine {
/** 持久化 schema(全部表) */
private persistSchema;
/**
* 整表 diff 持久化:内存行全部 put + KV 残留行删除(原子 putMany + deleteMany
* 用于主键变更 / 级联 / dropTable / clear / alterTable DROP / 事务 commit
* v0.6.1: 整表 diff 收集(不落盘):内存行全部 put + KV 残留行删除。
* 调用方合并到单次原子 putMany/deleteMany(多表操作真原子)
*/
private flushTable;
private collectTableDiff;
}
declare class AriaEngine implements IStorageEngine {