跳到主要内容

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​

ParameterType
typeSQLiteChangeType
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​

ParameterType
sqlstring
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​

ParameterType
mutedboolean

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>