1
2# 分布式数据管理子系统ChangeLog
3
4## cl.distributeddatamgr.1 js-apis-application-dataShareExtensionAbility API version 9开始支持的context属性删除,新增API version 10的context属性取消可选标识符。
5
6**变更影响**
7
8基于此前版本开发的应用,使用context需切换SDK至API version 10。
9
10**关键接口/组件变更**
11
12删除的API version 9的接口原型:
13
14 ```ts
15    /**
16     * Indicates datashare extension ability context.
17     *
18     * @type ?{ ExtensionContext }
19     * @syscap SystemCapability.DistributedDataManager.DataShare.Provider
20     * @systemapi
21     * @StageModelOnly
22     * @since 9
23     */
24    context?: ExtensionContext;
25 ```
26新增的API version 10的接口原型:
27
28 ```ts
29    /**
30     * Indicates datashare extension ability context.
31     *
32     * @type { ExtensionContext }
33     * @syscap SystemCapability.DistributedDataManager.DataShare.Provider
34     * @systemapi
35     * @StageModelOnly
36     * @since 10
37     */
38    context: ExtensionContext;
39 ```
40
41## cl.distributeddatamgr.2 OH_Predicates 结构体的函数指针成员变量返回值类型由OH_Predicates 变更为OH_Predicates *
42
43**变更影响**
44
45该变更为不兼容变更,用户使用OH_Predicates结构体中的函数指针变量时,需要按照新类型进行使用。
46
47**关键接口/组件变更**
48
49修改前的OH_Predicates成员变量原型:
50
51 ```ts
52    OH_Predicates (*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
53    OH_Predicates (*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
54    OH_Predicates (*beginWrap)(OH_Predicates *predicates);
55    OH_Predicates (*endWrap)(OH_Predicates *predicates);
56    OH_Predicates (*orOperate)(OH_Predicates *predicates);
57    OH_Predicates (*andOperate)(OH_Predicates *predicates);
58    OH_Predicates (*isNull)(OH_Predicates *predicates, const char *field);
59    OH_Predicates (*isNotNull)(OH_Predicates *predicates, const char *field);
60    OH_Predicates (*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
61    OH_Predicates (*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
62    OH_Predicates (*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
63    OH_Predicates (*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
64    OH_Predicates (*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
65    OH_Predicates (*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
66    OH_Predicates (*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
67    OH_Predicates (*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type);
68    OH_Predicates (*distinct)(OH_Predicates *predicates);
69    OH_Predicates (*limit)(OH_Predicates *predicates, unsigned int value);
70    OH_Predicates (*offset)(OH_Predicates *predicates, unsigned int rowOffset);
71    OH_Predicates (*groupBy)(OH_Predicates *predicates, char const *const *fields, int length);
72    OH_Predicates (*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
73    OH_Predicates (*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
74    OH_Predicates (*clear)(OH_Predicates *predicates);
75 ```
76
77修改后的OH_Predicates成员变量原型:
78
79 ```ts
80   OH_Predicates *(*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
81   OH_Predicates *(*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
82   OH_Predicates *(*beginWrap)(OH_Predicates *predicates);
83   OH_Predicates *(*endWrap)(OH_Predicates *predicates);
84   OH_Predicates *(*orOperate)(OH_Predicates *predicates);
85   OH_Predicates *(*andOperate)(OH_Predicates *predicates);
86   OH_Predicates *(*isNull)(OH_Predicates *predicates, const char *field);
87   OH_Predicates *(*isNotNull)(OH_Predicates *predicates, const char *field);
88   OH_Predicates *(*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
89   OH_Predicates *(*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
90   OH_Predicates *(*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
91   OH_Predicates *(*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
92   OH_Predicates *(*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
93   OH_Predicates *(*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
94   OH_Predicates *(*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
95   OH_Predicates *(*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type);
96   OH_Predicates *(*distinct)(OH_Predicates *predicates);
97   OH_Predicates *(*limit)(OH_Predicates *predicates, unsigned int value);
98   OH_Predicates *(*offset)(OH_Predicates *predicates, unsigned int rowOffset);
99   OH_Predicates *(*groupBy)(OH_Predicates *predicates, char const *const *fields, int length);
100   OH_Predicates *(*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
101   OH_Predicates *(*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject);
102   OH_Predicates *(*clear)(OH_Predicates *predicates);
103 ```
104
105**适配指导**
106示例代码如下:
107
108变更前代码示例:
109
110```
111predicates->beginWrap(predicates).equalTo(predicates, "data1", valueObject).orOperate(predicates);
112```
113
114变更后代码示例:
115
116```
117predicates->beginWrap(predicates)->equalTo(predicates, "data1", valueObject)->orOperate(predicates);
118```
119
120## cl.distributeddatamgr.3 OH_Rdb_ErrCode结构体的错误码信息变更
121
122**变更影响**
123
124该变更主要为将 RDB_ERR_INVALID_ARGS, RDB_ERR_OK错误码更改为RDB_E_INVALID_ARGS和RDB_OK,并增加其他错误码。
125
126**关键接口/组件变更**
127
128修改前的OH_Rdb_ErrCode成员变量原型:
129
130 ```ts
131  RDB_ERR_INVALID_ARGS = -2,
132  RDB_ERR = -1,
133  RDB_ERR_OK = 0
134 ```
135
136修改后的OH_Predicates成员变量原型:
137
138 ```ts
139    RDB_ERR = -1,
140    RDB_OK = 0,
141    E_BASE = 14800000,
142    RDB_E_NOT_SUPPORTED = 801,
143    RDB_E_ERROR = E_BASE,
144    RDB_E_INVALID_ARGS = (E_BASE + 1),
145    RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2),
146    RDB_E_REMOVE_FILE = (E_BASE + 3),
147    RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5),
148    RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6),
149    RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7),
150    RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8),
151    RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9),
152    RDB_E_EMPTY_FILE_NAME = (E_BASE + 10),
153    RDB_E_INVALID_FILE_PATH = (E_BASE + 11),
154    RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12),
155    RDB_E_INVALID_STATEMENT = (E_BASE + 13),
156    RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14),
157    RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15),
158    RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16),
159    RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17),
160    RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18),
161    RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19),
162    RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20),
163    RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21),
164    RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22),
165    RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23),
166    RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24),
167    RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25),
168    RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26),
169    RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27),
170    RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28),
171    RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29),
172    RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30),
173    RDB_E_RELATIVE_PATH = (E_BASE + 31),
174    RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32),
175    RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33),
176    RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34),
177    RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35),
178    RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36),
179    RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37),
180    RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38),
181    RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39),
182    RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40),
183    RDB_E_NOT_SUPPORT = (E_BASE + 41),
184    RDB_E_INVALID_PARCEL = (E_BASE + 42),
185    RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43),
186    RDB_E_SET_PERSIST_WAL = (E_BASE + 44),
187    RDB_E_DB_NOT_EXIST = (E_BASE + 45),
188    RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46),
189    RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47),
190    RDB_E_CON_OVER_LIMIT = (E_BASE + 48)
191 ```
192
193