安文韬add
626d0592创建于 2024年5月8日历史提交

分布式数据管理子系统Changelog

cl.distributeddatamgr.1 新增错误码

针对分布式数据管理子系统relationalStore的API存在错误码笼统不清晰的问题,从API12开始作以下变更: 将14800000错误码进行分裂,分裂之后,原有14800000仅表示系统错误,将sql执行异常、内部状态异常和错误地使用接口分裂出来,具体如下:

  • 新增错误码:

    • 14800014 - Already closed.
    • 14800017 - Config changed.
    • 14800018 - No data meets the condition.
    • 14800019 - The SQL must be a query statement.
    • 14800021 - SQLite: Generic error.
    • 14800022 - SQLite: Callback routine requested an abort.
    • 14800023 - SQLite: Access permission denied.
    • 14800024 - SQLite: The database file is locked.
    • 14800025 - SQLite: A table in the database is locked.
    • 14800026 - SQLite: The database is out of memory.
    • 14800027 - SQLite: Attempt to write a readonly database.
    • 14800028 - SQLite: Some kind of disk I/O error occurred.
    • 14800029 - SQLite: The database is full.
    • 14800030 - SQLite: Unable to open the database file.
    • 14800031 - SQLite: TEXT or BLOB exceeds size limit.
    • 14800032 - SQLite: Abort due to constraint violation.
    • 14800033 - SQLite: Data type mismatch.
    • 14800034 - SQLite: Library used incorrectly.

    变更后的错误码详细介绍请参见关系型数据库错误码

变更影响

影响API12版本的ArkTS接口,新增错误码,可提高问题定位效率,不涉及适配问题。

关键接口/组件变更

以下接口涉及新增错误码:

  • interface ResultSet
    • getColumnIndex(columnName: string): number;
    • getColumnName(columnIndex: number): string;
    • goTo(offset: number): boolean;
    • goToRow(position: number): boolean;
    • goToFirstRow(): boolean;
    • goToLastRow(): boolean;
    • goToNextRow(): boolean;
    • goToPreviousRow(): boolean;
    • getBlob(columnIndex: number): Uint8Array;
    • getString(columnIndex: number): string;
    • getLong(columnIndex: number): number;
    • getDouble(columnIndex: number): number;
    • getAsset(columnIndex: number): Asset;
    • getAssets(columnIndex: number): Assets;
    • getValue(columnIndex: number): ValueType;
    • getFloat32Array(columnIndex: number): Float32Array;
    • getRow(): ValuesBucket;
    • isColumnNull(columnIndex: number): boolean;
    • close(): void;
  • interface RdbStore
    • version: number;
    • insert(table: string, values: ValuesBucket, callback: AsyncCallback): void;
    • insert(table: string, values: ValuesBucket, conflict: ConflictResolution, callback: AsyncCallback): void;
    • insert(table: string, values: ValuesBucket): Promise;
    • insert(table: string, values: ValuesBucket, conflict: ConflictResolution): Promise;
    • insertSync(table: string, values: ValuesBucket, conflict?: ConflictResolution): number;
    • batchInsert(table: string, values: Array, callback: AsyncCallback): void;
    • batchInsert(table: string, values: Array): Promise;
    • batchInsertSync(table: string, values: Array): number;
    • update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback): void;
    • update( values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolution, callback: AsyncCallback ): void;
    • update(values: ValuesBucket, predicates: RdbPredicates): Promise;
    • update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolution): Promise;
    • updateSync(values: ValuesBucket, predicates: RdbPredicates, conflict?: ConflictResolution): number;
    • update( table: string, values: ValuesBucket, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback ): void;
    • update(table: string, values: ValuesBucket, predicates: dataSharePredicates.DataSharePredicates): Promise;
    • delete(predicates: RdbPredicates, callback: AsyncCallback): void;
    • delete(predicates: RdbPredicates): Promise;
    • deleteSync(predicates: RdbPredicates): number;
    • delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback): void;
    • delete(table: string, predicates: dataSharePredicates.DataSharePredicates): Promise;
    • query(predicates: RdbPredicates, callback: AsyncCallback): void;
    • query(predicates: RdbPredicates, columns: Array, callback: AsyncCallback): void;
    • query(predicates: RdbPredicates, columns?: Array): Promise;
    • query(table: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback): void;
    • query( table: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array, callback: AsyncCallback ): void;
    • query( table: string, predicates: dataSharePredicates.DataSharePredicates, columns?: Array ): Promise;
    • querySync(predicates: RdbPredicates, columns?: Array): ResultSet;
    • querySql(sql: string, callback: AsyncCallback): void;
    • querySql(sql: string, bindArgs: Array, callback: AsyncCallback): void;
    • querySql(sql: string, bindArgs?: Array): Promise;
    • querySqlSync(sql: string, bindArgs?: Array): ResultSet;
    • getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Promise;
    • getModifyTime( table: string, columnName: string, primaryKeys: PRIKeyType[], callback: AsyncCallback ): void;
    • cleanDirtyData(table: string, cursor: number, callback: AsyncCallback): void;
    • cleanDirtyData(table: string, callback: AsyncCallback): void;
    • cleanDirtyData(table: string, cursor?: number): Promise;
    • querySharingResource(predicates: RdbPredicates, columns?: Array): Promise;
    • querySharingResource(predicates: RdbPredicates, callback: AsyncCallback): void;
    • querySharingResource(predicates: RdbPredicates, columns: Array, callback: AsyncCallback): void;
    • executeSql(sql: string, callback: AsyncCallback): void;
    • executeSql(sql: string, bindArgs: Array, callback: AsyncCallback): void;
    • executeSql(sql: string, bindArgs?: Array): Promise;
    • execute(sql: string, args?: Array): Promise;
    • execute(sql: string, txId: number, args?: Array): Promise;
    • executeSync(sql: string, args?: Array): ValueType;
    • beginTransaction(): void;
    • beginTrans(): Promise;
    • commit(): void;
    • commit(txId : number): Promise;
    • rollBack(): void;
    • rollback(txId : number): Promise;
    • backup(destName: string, callback: AsyncCallback): void;
    • backup(destName: string): Promise;
    • restore(srcName: string, callback: AsyncCallback): void;
    • restore(srcName: string): Promise;
    • setDistributedTables(tables: Array, callback: AsyncCallback): void;
    • setDistributedTables(tables: Array): Promise;
    • setDistributedTables(tables: Array, type: DistributedType, callback: AsyncCallback): void;
    • setDistributedTables( tables: Array, type: DistributedType, config: DistributedConfig, callback: AsyncCallback ): void;
    • setDistributedTables(tables: Array, type?: DistributedType, config?: DistributedConfig): Promise;
    • obtainDistributedTableName(device: string, table: string, callback: AsyncCallback): void;
    • obtainDistributedTableName(device: string, table: string): Promise;
    • sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void;
    • sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>>;
    • cloudSync(mode: SyncMode, progress: Callback, callback: AsyncCallback): void;
    • cloudSync(mode: SyncMode, progress: Callback): Promise;
    • cloudSync( mode: SyncMode, tables: string[], progress: Callback, callback: AsyncCallback ): void;
    • cloudSync(mode: SyncMode, tables: string[], progress: Callback): Promise;
    • cloudSync( mode: SyncMode, predicates: RdbPredicates, progress: Callback, callback: AsyncCallback ): void;
    • cloudSync(mode: SyncMode, predicates: RdbPredicates, progress: Callback): Promise;
    • remoteQuery( device: string, table: string, predicates: RdbPredicates, columns: Array, callback: AsyncCallback ): void;
    • remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array): Promise;
    • on(event: 'dataChange', type: SubscribeType, observer: Callback<Array>): void;
    • on(event: 'dataChange', type: SubscribeType, observer: Callback<Array> | Callback<Array>): void;
    • on(event: string, interProcess: boolean, observer: Callback): void;
    • on(event: 'autoSyncProgress', progress: Callback): void;
    • off(event: 'dataChange', type: SubscribeType, observer: Callback<Array>): void;
    • off( event: 'dataChange', type: SubscribeType, observer?: Callback<Array> | Callback<Array> ): void;
    • off(event: string, interProcess: boolean, observer?: Callback): void;
    • off(event: 'autoSyncProgress', progress?: Callback): void;
    • emit(event: string): void;
    • attach(fullPath: string, attachName: string, waitTime?: number) : Promise;
    • attach(context: Context, config: StoreConfig, attachName: string, waitTime?: number) : Promise;
    • detach(attachName: string, waitTime?: number) : Promise;
    • lockRow(predicates: RdbPredicates): Promise;
    • unlockRow(predicates: RdbPredicates): Promise;
    • queryLockedRow(predicates: RdbPredicates, columns?: Array): Promise;
    • on(event: 'autoSyncProgress', progress: Callback): void;
  • function getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback): void;
  • function getRdbStore(context: Context, config: StoreConfig): Promise;
  • function deleteRdbStore(context: Context, config: StoreConfig): Promise;