test: v042-hardening 适配 LSM.rangeScan 的 async 化(v0.8.0 读取自洽改动的连带修正)
This commit is contained in:
@@ -117,7 +117,8 @@ describe('P1-A — 二级索引恢复', () => {
|
||||
expect(idxLsm).toBeDefined();
|
||||
expect(idxLsm.getStats().sstableCount).toBeGreaterThan(0);
|
||||
await idxLsm.prefetchRange('', '\uffff');
|
||||
expect(idxLsm.rangeScan('', '\uffff')).toHaveLength(3);
|
||||
// v0.8.0: LSM.rangeScan 改为 async(读取自洽,未命中会回源加载)
|
||||
expect(await idxLsm.rangeScan('', '\uffff')).toHaveLength(3);
|
||||
const byEmail = await engine2.find('users', { table: 'users', where: { email: 'a@x.com' } });
|
||||
expect(byEmail).toHaveLength(2);
|
||||
// createIndex 对已持久化的索引列应幂等可重建(不得静默跳过导致索引永久缺失)
|
||||
@@ -147,7 +148,8 @@ describe('P1-A — 二级索引恢复', () => {
|
||||
const idxLsm = (engine2 as any).secondaryIndexes.get('users:idx:city');
|
||||
expect(idxLsm).toBeDefined();
|
||||
await idxLsm.prefetchRange('', '\uffff');
|
||||
expect(idxLsm.rangeScan('', '\uffff')).toHaveLength(2);
|
||||
// v0.8.0: LSM.rangeScan 改为 async
|
||||
expect(await idxLsm.rangeScan('', '\uffff')).toHaveLength(2);
|
||||
// 索引查询应看到 WAL 恢复的行(修复前索引与主数据不一致 → 丢行)
|
||||
const byCity = await engine2.find('users', { table: 'users', where: { city: 'Shanghai' } });
|
||||
expect(byCity).toHaveLength(1);
|
||||
|
||||
Reference in New Issue
Block a user