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 f8efe1080ac9918f07e38890ff01e587ebd0b456..1007ea9883776e6320ceb8f117c6ce088f94d4a2 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
@@ -369,6 +369,8 @@ class EntryAbility extends UIAbility {
表示[Asset](#asset10)类型的数组。
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
| 类型 | 说明 |
| ------- | -------------------- |
| [Asset](#asset10)[] | 表示Asset类型的数组。 |
@@ -399,6 +401,36 @@ class EntryAbility extends UIAbility {
| ------ | ----------------------- |
| string | [ValueType](#valuetype) |
+## PRIKeyType10+
+
+用于表示数据库表某一行主键的数据类型。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 类型 | 说明 |
+| ---------------- | ---------------------------------- |
+| number \| string | 主键的类型可以是number或者string。 |
+
+## UTCTime10+
+
+用于表示UTC类型时间的数据类型。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 类型 | 说明 |
+| ---- | --------------- |
+| Date | UTC类型的时间。 |
+
+## ModifyTime10+
+
+用于存储数据库表的主键和修改时间的数据类型。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 类型 | 说明 |
+| ------------------------------------------------------- | ------------------------------------------------------------ |
+| Map<[PRIKeyType](#prikeytype10), [UTCTime](#utctime10)> | 键表示是数据库表某一行的主键,值表示该行的最后修改时间,用UTC格式表示。 |
+
## SyncMode
指数据库同步模式。
@@ -407,9 +439,9 @@ class EntryAbility extends UIAbility {
| -------------- | ---- | ---------------------------------- |
| 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 |
+| 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
@@ -440,15 +472,15 @@ class EntryAbility extends UIAbility {
记录端云同步过程详情。
-**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
-| 名称 | 类型 | 必填 | 说明 |
-| -------- | ---------------------------------- | --- | -------------------------------------------------------------------------------------------------------------------- |
-| table | string | 是 | 表示发生变化的表的名称。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
-| type | [ChangeType](#changetype10) | 是 | 表示发生变化的数据的类型,数据或者资产附件发生变化。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
-| inserted | Array\ \| Array\ | 是 | 记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
-| updated | Array\ \| Array\ | 是 | 记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
-| deleted | Array\ \| Array\ | 是 | 记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core |
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ---------------------------------- | ---- | ------------------------------------------------------------ |
+| table | string | 是 | 表示发生变化的表的名称。 |
+| type | [ChangeType](#changetype10) | 是 | 表示发生变化的数据的类型,数据或者资产附件发生变化。 |
+| inserted | Array\ \| Array\ | 是 | 记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。 |
+| updated | Array\ \| Array\ | 是 | 记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。 |
+| deleted | Array\ \| Array\ | 是 | 记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。 |
## DistributedType10+
@@ -486,6 +518,70 @@ class EntryAbility extends UIAbility {
| ON_CONFLICT_IGNORE | 4 | 表示当冲突发生时,跳过包含违反约束的行并继续处理 SQL 语句的后续行。 |
| ON_CONFLICT_REPLACE | 5 | 表示当冲突发生时,在插入或更新当前行之前删除导致约束违例的预先存在的行,并且命令会继续正常执行。 |
+## Progress10+
+
+描述端云同步过程的枚举。请使用枚举名称而非枚举值。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 值 | 说明 |
+| ---------------- | ---- | ------------------------ |
+| SYNC_BEGIN | - | 表示端云同步过程开始。 |
+| SYNC_IN_PROGRESS | - | 表示正在端云同步过程中。 |
+| SYNC_FINISH | - | 表示端云同步过程已完成。 |
+
+## Statistic10+
+
+描述数据库表的端云同步过程的统计信息。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------ | ---- | ---------------------------------------- |
+| total | number | 是 | 表示数据库表中需要端云同步的总行数。 |
+| success | number | 是 | 表示数据库表中端云同步成功的行数。 |
+| failed | number | 是 | 表示数据库表中端云同步失败的行数。 |
+| remained | number | 是 | 表示数据库表中端云同步剩余未执行的行数。 |
+
+## TableDetails10+
+
+描述数据库表执行端云同步任务上传和下载的统计信息。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------------------------- | ---- | ------------------------------------------ |
+| upload | [Statistic](#statistic10) | 是 | 表示数据库表中端云同步上传过程的统计信息。 |
+| download | [Statistic](#statistic10) | 是 | 表示数据库表中端云同步下载过程的统计信息。 |
+
+## ProgressCode10+
+
+表示端云同步过程的状态。请使用枚举名称而非枚举值。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 值 | 说明 |
+| --------------------- | ---- | ------------------------------------------------------------ |
+| SUCCESS | - | 表示端云同步过程成功。 |
+| UNKNOWN_ERROR | - | 表示端云同步过程遇到未知错误。 |
+| NETWORK_ERROR | - | 表示端云同步过程遇到网络错误。 |
+| CLOUD_DISABLED | - | 表示云端不可用。 |
+| LOCKED_BY_OTHERS | - | 表示有其他设备正在端云同步,本设备无法进行端云同步。
请确保无其他设备占用云端资源后,再使用本设备进行端云同步任务。 |
+| RECORD_LIMIT_EXCEEDED | - | 表示本次端云同步需要同步的条目或大小超出最大值。由云端配置最大值。 |
+| NO_SPACE_FOR_ASSET | - | 表示云空间剩余空间小于待同步的资产大小。 |
+
+## ProgressDetails10+
+
+描述数据库整体执行端云同步任务上传和下载的统计信息。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ |
+| schedule | [Progress](#progress10) | 是 | 表示端云同步过程。 |
+| code | [ProgressCode](#progresscode10) | 是 | 表示端云同步过程的状态。 |
+| details | [table: string] : [TableDetails](#tabledetails10) | 是 | 表示端云同步各表的统计信息。
键表示表名,值表示该表的端云同步过程统计信息。 |
+
## RdbPredicates
表示关系型数据库(RDB)的谓词。该类确定RDB中条件表达式的值是true还是false。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。
@@ -2663,6 +2759,85 @@ promise.then(() => {
})
```
+### getModifyTime10+
+
+getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[], callback: AsyncCallback<ModifyTime>): void
+
+获取数据库表中数据的最后修改时间,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ----------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ |
+| table | string | 是 | 指定要查询的数据库表的表名。 |
+| columnName | string | 是 | 指定要查询的数据库表的列名。 |
+| primaryKeys | [PRIKeyType](#prikeytype10)[] | 是 | 指定要查询的行的主键。
如果数据库表无主键,参数columnName需传入"rowid",此时primaryKeys为要查询的数据库表的行号。
如果数据库表无主键,参数columnName传入不为"rowid",返回对应的错误码。 |
+| callback | AsyncCallback<[ModifyTime](#modifytime10)> | 是 | 指定callback回调函数。如果操作成功,则返回ModifyTime对象,表示数据的最后修改时间。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | ------------ |
+| 14800000 | Inner error. |
+
+**示例:**
+
+```js
+let PRIKey = [1, 4, 2, 3];
+relationalStore.getModifyTime("cloud_tasks", "uuid", PRIKey, function (err, modifyTime) {
+ if (err) {
+ console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ let size = modifyTime.size();
+});
+```
+
+### getModifyTime10+
+
+getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Promise<ModifyTime>
+
+获取数据库表中数据的最后修改时间,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ----------- | ----------------------------- | ---- | ------------------------------------------------------------ |
+| table | string | 是 | 指定要查询的数据库表的表名。 |
+| columnName | string | 是 | 指定要查询的数据库表的列名。 |
+| primaryKeys | [PRIKeyType](#prikeytype10)[] | 是 | 指定要查询的行的主键。
如果数据库表无主键,参数columnName需传入"rowid",此时primaryKeys为要查询的数据库表的行号。
如果数据库表无主键,参数columnName传入不为"rowid",返回对应的错误码。 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------------------------------------ | --------------------------------------------------------- |
+| Promise<[ModifyTime](#modifytime10)> | 返回ModifyTime类型的Promise对象,表示数据最后的修改时间。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[关系型数据库错误码](../errorcodes/errorcode-data-rdb.md)。
+
+| **错误码ID** | **错误信息** |
+| ------------ | ------------ |
+| 14800000 | Inner error. |
+
+**示例:**
+
+```js
+let PRIKey = [1, 2, 3];
+relationalStore.getModifyTime("cloud_tasks", "uuid", PRIKey).then((modifyTime) => {
+ let size = modifyTime.size();
+}).catch((err) => {
+ console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
+});
+```
+
### beginTransaction
beginTransaction():void
@@ -3314,6 +3489,148 @@ promise.then((result) =>{
})
```
+### cloudSync10+
+
+cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>, callback: AsyncCallback<void>): void
+
+手动执行对所有分布式表的端云同步,使用callback异步回调。使用该接口需要实现云服务功能。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------------------------- | ---- | -------------------------------------------------- |
+| mode | [SyncMode](#syncmode) | 是 | 表示数据库的同步模式。 |
+| progress | Callback<[ProgressDetails](#progressdetails10)> | 是 | 用来处理数据库同步详细信息的回调函数。 |
+| callback | AsyncCallback<void> | 是 | 指定的callback回调函数,用于向调用者发送同步结果。 |
+
+**示例:**
+
+```js
+relationalStore.cloudSync(relatioanalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, function (progressDetails) {
+ console.info(`Progess: ${progressDetails}`);
+}, function (err) {
+ if (err) {
+ console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.info('Cloud sync succeeded');
+});
+```
+
+### cloudSync10+
+
+cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>): Promise<void>
+
+手动执行对所有分布式表的端云同步,使用Promise异步回调。使用该接口需要实现云服务功能。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
+| mode | [SyncMode](#syncmode) | 是 | 表示数据库的同步模式。 |
+| progress | Callback<[ProgressDetails](#progressdetails10)> | 是 | 用来处理数据库同步详细信息的回调函数。 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------------- | --------------------------------------- |
+| Promise<void> | Promise对象,用于向调用者发送同步结果。 |
+
+**示例:**
+
+```js
+function progress(progressDetail) {
+ console.info(`progress: ${progressDetail}`);
+}
+
+relationalStore.cloudSync(relatioanalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, progress).then(() => {
+ console.info('Cloud sync succeeded');
+}).catch((err) => {
+ console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
+});
+```
+
+### cloudSync10+
+
+cloudSync(mode: SyncMode, tables: string[], progress: Callback<ProgressDetails>, callback: AsyncCallback<void>): void
+
+手动执行对指定表的端云同步,使用callback异步回调。使用该接口需要实现云服务功能。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------------------------- | ---- | -------------------------------------------------- |
+| mode | [SyncMode](#syncmode) | 是 | 表示数据库的同步模式。 |
+| tables | string[] | 是 | 指定同步的表名。 |
+| progress | Callback<[ProgressDetails](#progressdetails10)> | 是 | 用来处理数据库同步详细信息的回调函数。 |
+| callback | AsyncCallback<void> | 是 | 指定的callback回调函数,用于向调用者发送同步结果。 |
+
+**示例:**
+
+```js
+const tables = ["table1", "table2"];
+relationalStore.cloudSync(relatioanalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, function (progressDetails) {
+ console.info(`Progess: ${progressDetails}`);
+}, function (err) {
+ if (err) {
+ console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
+ return;
+ }
+ console.info('Cloud sync succeeded');
+});
+```
+
+### cloudSync10+
+
+cloudSync(mode: SyncMode, tables: string[], progress: Callback<ProgressDetails>): Promise<void>
+
+手动执行对指定表的端云同步,使用Promise异步回调。使用该接口需要实现云服务功能。
+
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
+**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Client
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
+| mode | [SyncMode](#syncmode) | 是 | 表示数据库的同步模式。 |
+| tables | string[] | 是 | 指定同步的表名。 |
+| progress | Callback<[ProgressDetails](#progressdetails10)> | 是 | 用来处理数据库同步详细信息的回调函数。 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------------- | --------------------------------------- |
+| Promise<void> | Promise对象,用于向调用者发送同步结果。 |
+
+**示例:**
+
+```js
+const tables = ["table1", "table2"];
+function progress(progressDetail) {
+ console.info(`progress: ${progressDetail}`);
+}
+
+relationalStore.cloudSync(relatioanalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, progress).then(() => {
+ console.info('Cloud sync succeeded');
+}).catch((err) => {
+ console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
+});
+```
+
### on('dataChange')
on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void
@@ -3332,7 +3649,7 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<stri
**示例:**
-```
+```js
function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);