SqliteClientLike
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:12
SQLite 适配器的最小客户端接口。 wa-sqlite 的 SqliteClient 与 sqliteai 的 SqliteaiClient 都满足该契约。
Methods
addEventListener()
addEventListener(type, handler): void | Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:17
Comlink 远端客户端返回 Promise,注册方必须 await,否则监听可能尚未生效就开始写库
Parameters
| Parameter | Type |
|---|---|
type | SQLiteChangeType |
handler | (event) => void |
Returns
void | Promise<void>
beginSystemMigrationTransactionSql()?
optional beginSystemMigrationTransactionSql(): string | Promise<string>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:31
获取系统 schema 升级时后端支持的最高强度锁。
Returns
string | Promise<string>
beginTransactionSql()?
optional beginTransactionSql(): string | Promise<string>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:29
开启事务时使用的 SQL,默认 'BEGIN;'。
Returns
string | Promise<string>
Remarks
后端可覆写以插入自身特有的锁策略前置语句——例如 wa-sqlite 的
IDBBatchAtomicVFS/OPFSAdaptiveVFS 选用 shared+hint 锁策略时,
需要在拿共享锁阶段先发 PRAGMA write_hint; 才能在 SHARED→RESERVED
升级时避免 SQLITE_BUSY(见 wa-sqlite WebLocksMixin)。
Comlink 远端客户端即便实现是同步的也会返回 Promise,注册方必须 await。
describeBlankDatabase()?
optional describeBlankDatabase(): Promise<SqliteBlankDatabase>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:48
描述同一个引擎上新建空库本来的样子。
Returns
Promise<SqliteBlankDatabase>
Remarks
有的引擎(例如 sqliteai 的内置扩展)在每条新连接上自动建表并写入初始行,这样的库仍然是「空」的。
实现在同一个已加载的模块上开一条临时 :memory: 连接,用 describeSqliteDatabase() 描述后关闭。
恢复只把恰好等于这份描述的目标当作空库。不实现此方法的客户端不支持恢复。
disconnect()
disconnect(): Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:14
Returns
Promise<void>
execute()
execute(sql, bindings?): Promise<SqliteSuccessResult>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:13
Parameters
| Parameter | Type |
|---|---|
sql | string |
bindings? | SQLiteCompatibleType[] |
Returns
Promise<SqliteSuccessResult>
setChangeEventsMuted()?
optional setChangeEventsMuted(muted): void | Promise<void>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:39
暂停 / 恢复变更事件采集。
Parameters
| Parameter | Type |
|---|---|
muted | boolean |
Returns
void | Promise<void>
Remarks
恢复整库时静音:恢复出来的系统表行不是新变更,不能在之后被当成事件派发给监听器。 不实现此方法的客户端不支持恢复。Comlink 远端客户端返回 Promise,调用方必须 await。
version()
version(): Promise<string>;
Defined in: packages/rxdb-adapter-sqlite-core/src/sqlite-core.types.ts:15
Returns
Promise<string>