isUniqueConstraintViolation()
function isUniqueConstraintViolation(cause): boolean;
Defined in: packages/rxdb/src/system/migration.ts:212
判定错误是否为唯一/主键约束冲突。
Parameters
| Parameter | Type | Description |
|---|---|---|
cause | unknown | 适配器抛出的原始错误 |
Returns
boolean
是唯一/主键约束冲突时返回 true
Remarks
各适配器的错误对象结构不一,能共用的只有两样:PostgreSQL 的 SQLSTATE 23505,
以及 SQLite 各绑定(wa-sqlite / sqlite-wasm / sqliteai / node)消息里必带的原生文本。
只匹配这两类,其余错误原样上抛 —— 与 sqlite-core-keyring-storage.ts 同一口径(SQLC-029)。
不要拿它去判断任意位置的写失败是不是并发冲突:它只说「这是唯一约束冲突」, 说不了「冲突的是哪张表哪个索引」。调用方必须把它夹在那一条自己发出的 INSERT 上, 否则用户代码里一条无关的唯一约束错误会被误读(见 RxDBMigrationClaimConflictError)。