feat: refresh index if version changed (#14150)

This commit is contained in:
DarkSky
2025-12-26 01:08:05 +08:00
committed by GitHub
parent e8693a3a25
commit 2e38898937
19 changed files with 57 additions and 19 deletions
@@ -112,6 +112,7 @@ export interface NativeDBApis {
query: string
) => Promise<{ start: number; end: number }[]>;
ftsFlushIndex: (id: string) => Promise<void>;
ftsIndexVersion: () => Promise<number>;
}
type NativeDBApisWrapper = NativeDBApis extends infer APIs
@@ -119,7 +120,7 @@ type NativeDBApisWrapper = NativeDBApis extends infer APIs
[K in keyof APIs]: APIs[K] extends (...args: any[]) => any
? Parameters<APIs[K]> extends [string, ...infer Rest]
? (...args: Rest) => ReturnType<APIs[K]>
: never
: (...args: Parameters<APIs[K]>) => ReturnType<APIs[K]>
: never;
}
: never;
@@ -241,4 +241,8 @@ export class SqliteIndexerStorage extends IndexerStorageBase {
async refreshIfNeed(): Promise<void> {
await this.connection.apis.ftsFlushIndex();
}
async indexVersion(): Promise<number> {
return this.connection.apis.ftsIndexVersion();
}
}