diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
index da1b7af212efeb2f816d4d2c20a08d48a1773988..946dbef08991f633c6da08ca18ca4a5e4847d293 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
@@ -334,6 +334,41 @@ class EntryAbility extends UIAbility {
| S3 | 3 | 表示数据库的安全级别为高级别,当数据泄露时会产生重大影响。例如,包含用户运动、健康、位置等信息的数据库。 |
| S4 | 4 | 表示数据库的安全级别为关键级别,当数据泄露时会产生严重影响。例如,包含认证凭据、财务数据等信息的数据库。 |
+## AssetStatus10+
+
+描述资产附件的状态。请使用枚举名称而非枚举值。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 值 | 说明 |
+| ------------------------------- | --- | -------------- |
+| ASSET_NORMAL10+ | - | 表示资产状态正常。 |
+| ASSET_INSERT10+ | - | 表示资产需要插入到云端。 |
+| ASSET_UPDATE10+ | - | 表示资产需要更新到云端。 |
+| ASSET_DELETE10+ | - | 表示资产需要在云端删除。 |
+| ASSET_ABNORMAL10+ | - | 表示资产状态异常。 |
+| ASSET_DOWNLOADING10+ | - | 表示资产正在下载到本地设备。 |
+
+## Asset10+
+
+记录资产附件的相关信息。资产类型的相关接口暂不支持Datashare。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| ----------- | --------------------------- | --- | ------------ |
+| name | string | 是 | 资产的名称。 |
+| uri | string | 是 | 资产的uri |
+| path | string | 是 | 资产的路径。 |
+| createTime | string | 是 | 资产被创建出来的时间 |
+| modify Time | string | 是 | 资产最后一次被修改的时间 |
+| size | string | 是 | 资产占用空间的大小 |
+| status | [AssetStatus](#assetstatus) | 否 | 资产的状态 |
+
+## Assets10+
+
+表示[Asset](#asset)类型的数组
+
## ValueType
用于表示允许的数据字段类型。
@@ -342,9 +377,13 @@ class EntryAbility extends UIAbility {
| 类型 | 说明 |
| ------- | -------------------- |
+| null | 表示值类型为空。 |
| number | 表示值类型为数字。 |
| string | 表示值类型为字符。 |
| boolean | 表示值类型为布尔值。 |
+| Uint8Array | 表示值类型为uint8类型的数组 |
+| Asset10+ | 表示值类型为附件[Asset](#asset) |
+| Asstes10+ | 表示值类型为附件数组[Assets](#assets) |
## ValuesBucket
@@ -352,9 +391,9 @@ class EntryAbility extends UIAbility {
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
-| 键类型 | 值类型 |
-| ------ | ----------------------------------------------------------- |
-| string | [ValueType](#valuetype)\| Uint8Array \| null |
+| 键类型 | 值类型 |
+| ------ | ----------------------- |
+| string | [ValueType](#valuetype) |
## SyncMode
@@ -364,8 +403,11 @@ class EntryAbility extends UIAbility {
| 名称 | 值 | 说明 |
| -------------- | ---- | ---------------------------------- |
-| SYNC_MODE_PUSH | 0 | 表示数据从本地设备推送到远程设备。 |
-| SYNC_MODE_PULL | 1 | 表示数据从远程设备拉至本地设备。 |
+| SYNC_MODE_PUSH | 0 | 表示数据从本地设备推送到远程设备。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
+| SYNC_MODE_PULL | 1 | 表示数据从远程设备拉至本地设备。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
+| SYNC_MODE_TIME_FIRST10+ | - | 表示数据从修改时间较近的一端同步到修改时间较远的一端。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
+| SYNC_MODE_NATIVE_FIRST10+ | - | 表示数据从本地设备同步到云端。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
+| SYNC_MODE_CLOUD_FIRST10+ | - | 表示数据从云端同步到本地设备。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
## SubscribeType
@@ -379,6 +421,50 @@ class EntryAbility extends UIAbility {
| SUBSCRIBE_TYPE_CLOUD10+ | - | 订阅云端数据更改。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
| SUBSCRIBE_TYPE_CLOUD_DETAILS10+ | - | 订阅云端数据更改详情。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
+## ChangeType10+
+
+描述数据变更类型。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 值 | 说明 |
+| -------------------------- | --- | -------------------------- |
+| DATA_CHANGE10+ | - | 表示是数据发生变更。请使用枚举名称而非枚举值。 |
+| ASSET_CHANGE10+ | - | 表示是资产附件发生了变更。请使用枚举名称而非枚举值。 |
+
+## ChangeInfo10+
+
+记录端云同步过程详情。
+
+**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ---------------------------------- | --- | -------------------------------------------------------------------------------------------------------------------- |
+| table | string | 是 | 表示发生变化的表的名称。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+| type | [ChangeType](#changetype) | 是 | 表示发生变化的类型。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+| inserted | Array\ \| Array\ | 是 | 记录插入数据的位置,如果主键是string类型,该值是主键的值,否则该值表示插入数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+| updated | Array\ \| Array\ | 是 | 记录更新数据的位置,如果主键是string类型,该值是主键的值,否则该值表示更新数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+| deleted | Array\ \| Array\ | 是 | 记录删除数据的位置,如果主键是string类型,该值是主键的值,否则该值表示删除数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+
+## DistributedType10+
+
+描述表的分布式类型。
+
+| 名称 | 值 | 说明 |
+| ------------------------------- | --- | -------------------------------------------------------------------------------------------------- |
+| DISTRIBUTED_DEVICE10+| 0 | 表示表在不同设备之间分布式。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore. |
+| DISTRIBUTED_CLOUD10+ | - | 表示表在设备和云端之间分布式。请使用枚举名称而非枚举值。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client |
+
+## DistributedConfig10+
+
+记录表的分布式配置信息。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| ---------------------- | ------- | --- | ------------------------------------------------------ |
+| autoSync10+ | boolean | 是 | 该值为true时,表示该表支持自动同步和手动同步;该值为false时,表示该表只支持手动同步,不支持自动同步 |
+
## ConflictResolution10+
插入和修改接口的冲突解决方式。
@@ -2913,6 +2999,90 @@ promise.then(() => {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
})
```
+### setDistributedTables10+
+
+setDistributedTables(tables: Array<string>, type: [DistributedType](#distributedtype), callback: AsyncCallback<void>): void
+
+设置分布式列表,使用callback异步回调。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------- | --- | --------------- |
+| tables | Array<string> | 是 | 要设置的分布式列表表名 |
+| type | [DistributedType](#distributedtype) | 是 | 表的分布式类型 |
+| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| --------- | -------------------------------- |
+| 401 | The parameter type is incorrect. |
+| 801 | Capability not supported. |
+
+**示例:**
+
+```js
+store.setDistributedTables(["EMPLOYEE"], DistributedType.DISTRIBUTED_CLOUD, function (err) {
+ if (err) {
+ console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.info(`SetDistributedTables successfully.`);
+})
+```
+
+### setDistributedTables10+
+
+ setDistributedTables(tables: Array<string>, type?: number, config?: DistributedConfig): Promise<void>
+
+设置分布式列表,使用Promise异步回调。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | --------------------------------------- | --- | ------------ |
+| tables | Array<string> | 是 | 要设置的分布式列表表名。 |
+| type | [DistributedType](#distributedtype) | 否 | 表的分布式类型 |
+| config | [DistributedConfig](#distributedconfig) | 否 | 表的分布式配置信息。 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------------- | ---------------- |
+| Promise<void> | 无返回结果的Promise对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| --------- | -------------------------------- |
+| 401 | The parameter type is incorrect. |
+| 801 | Capability not supported. |
+
+**示例:**
+
+```js
+let config = new DistributedConfig();
+config.autoSync = true;
+let promise = store.setDistributedTables(["EMPLOYEE"], DistributedType.DISTRIBUTED_CLOUD, config);
+promise.then(() => {
+ console.info(`SetDistributedTables successfully.`);
+}).catch((err) => {
+ console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
+})
+```
### obtainDistributedTableName
@@ -3183,6 +3353,37 @@ try {
}
```
+### on('dataChange')10+
+
+on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>> \| Callback<Array<[ChangeInfo](#changeinfo)>>): void
+
+注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------------------------------------------- | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| event | string | 是 | 取值为'dataChange',表示数据更改。 |
+| type | [SubscribeType](#subscribetype) | 是 | 订阅类型。 |
+| observer | Callback<Array<string>> \| Callback<Array<[ChangeInfo](#changeinfo)>> | 是 | 指分布式数据库中数据更改事件的观察者。Array<string>为数据库中的数据发生改变的对端设备ID。 Array<[ChangeInfo](#changeinfo)>为数据库中的数据发生改变的信息,只有订阅类型为SUBSCRIBE_TYPE_CLOUD_DETAILS时才可以使用。 |
+
+**示例:**
+
+```js
+function storeObserver(devices) {
+ for (let i = 0; i < devices.length; i++) {
+ console.info(`device= ${devices[i]} data changed`);
+ }
+}
+try {
+ store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_CLOUD_DETAILS, storeObserver);
+} catch (err) {
+ console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
+}
+```
+
### off('dataChange')
off(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void
@@ -3214,6 +3415,37 @@ try {
}
```
+### off('dataChange')10+
+
+off(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>> \| Callback<Array<[ChangeInfo](#changeinfo)>>): void
+
+从数据库中删除指定类型的指定观察者, 使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------------------------------------------------- | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| event | string | 是 | 取值为'dataChange',表示数据更改。 |
+| type | [SubscribeType](#subscribetype) | 是 | 订阅类型。 |
+| observer | Callback<Array<string>> \| Callback<Array<[ChangeInfo](#changeinfo)>> | 否 | 指分布式数据库中数据更改事件的观察者。Array<string>为数据库中的数据发生改变的对端设备ID。 Array<[ChangeInfo](#changeinfo)>为数据库中的数据发生改变的信息,只有订阅类型为SUBSCRIBE_TYPE_CLOUD_DETAILS时才可以使用。 |
+
+**示例:**
+
+```js
+function storeObserver(devices) {
+ for (let i = 0; i < devices.length; i++) {
+ console.info(`device= ${devices[i]} data changed`);
+ }
+}
+try {
+ store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_CLOUD_DETAILS, storeObserver);
+} catch (err) {
+ console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
+}
+```
+
## ResultSet
提供通过查询数据库生成的数据库结果集的访问方法。结果集是指用户调用关系型数据库查询接口之后返回的结果集合,提供了多种灵活的数据访问方式,以便用户获取各项数据。
@@ -3683,6 +3915,77 @@ getDouble(columnIndex: number): number
const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"));
```
+### getAsset10+
+
+getAsset(columnIndex: number): [Asset](#asset)
+
+以[Asset](#asset)形式获取当前行中指定列的值。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ----------- | ------ | --- | ------------ |
+| columnIndex | number | 是 | 指定的列索引,从0开始。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------- | -------------------------- |
+| [Asset](#asset) | 以[Asset](#asset)形式返回指定列的值。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| --------- | ------------------------------------------------------------ |
+| 401 | The parameter check failed. |
+| 14800013 | The column value is null or the column type is incompatible. |
+
+**示例:**
+
+```js
+const doc = resultSet.getAsset(resultSet.getColumnIndex("DOC"));
+```
+
+### getAssets10+
+
+getAsset(columnIndex: number): [Assets](#assets)
+
+以[Assets](#assets)形式获取当前行中指定列的值。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ----------- | ------ | --- | ------------ |
+| columnIndex | number | 是 | 指定的列索引,从0开始。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------------------------- | ---------------------------- |
+| [Assets](#assets)10+ | 以[Assets](#assets)形式返回指定列的值。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| --------- | ------------------------------------------------------------ |
+| 401 | The parameter check failed. |
+| 14800013 | The column value is null or the column type is incompatible. |
+
+**示例:**
+
+```js
+const docs = resultSet.getAssets(resultSet.getColumnIndex("DOCS"));
+```
+
+
### isColumnNull
isColumnNull(columnIndex: number): boolean