1 2 # Distributed Data Management Subsystem Changelog 3 4 ## cl.distributeddatamgr.1 Replacement of context with a context Without the Optional Identifier 5 6 **Change Impact** 7 8 For applications developed based on earlier versions, use SDK API version 10 when **context** is used. 9 10 **Key API/Component Changes** 11 12 Deleted the following: 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 Added the following: 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 Change of the Return Value Type of Function Pointer Variables in the OH_Predicates Struct from OH_Predicates to OH_Predicates * 42 43 **Change Impact** 44 45 This change is incompatible with earlier versions. You need to use the new function pointer variables in the **OH_Predicates** struct. 46 47 **Key API/Component Changes** 48 49 Before the change: 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 After the change: 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 **Adaptation Guide** 106 107 The sample code is as follows: 108 109 Sample code before the change: 110 111 ``` 112 predicates->beginWrap(predicates).equalTo(predicates, "data1", valueObject).orOperate(predicates); 113 ``` 114 115 Sample code after the change: 116 117 ``` 118 predicates->beginWrap(predicates)->equalTo(predicates, "data1", valueObject)->orOperate(predicates); 119 ``` 120 121 ## cl.distributeddatamgr.3 Change of the Error Codes in the OH_Rdb_ErrCode Struct 122 123 **Change Impact** 124 125 Changed **RDB_ERR_INVALID_ARGS** to **RDB_E_INVALID_ARGS**, and **RDB_ERR_OK** to **RDB_OK**, and added error codes. 126 127 **Key API/Component Changes** 128 129 Before the change: 130 131 ```ts 132 RDB_ERR_INVALID_ARGS = -2, 133 RDB_ERR = -1, 134 RDB_ERR_OK = 0 135 ``` 136 137 After the change: 138 139 ```ts 140 RDB_ERR = -1, 141 RDB_OK = 0, 142 E_BASE = 14800000, 143 RDB_E_NOT_SUPPORTED = 801, 144 RDB_E_ERROR = E_BASE, 145 RDB_E_INVALID_ARGS = (E_BASE + 1), 146 RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2), 147 RDB_E_REMOVE_FILE = (E_BASE + 3), 148 RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5), 149 RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6), 150 RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7), 151 RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8), 152 RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9), 153 RDB_E_EMPTY_FILE_NAME = (E_BASE + 10), 154 RDB_E_INVALID_FILE_PATH = (E_BASE + 11), 155 RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12), 156 RDB_E_INVALID_STATEMENT = (E_BASE + 13), 157 RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14), 158 RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15), 159 RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16), 160 RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17), 161 RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18), 162 RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19), 163 RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20), 164 RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21), 165 RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22), 166 RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23), 167 RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24), 168 RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25), 169 RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26), 170 RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27), 171 RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28), 172 RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29), 173 RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30), 174 RDB_E_RELATIVE_PATH = (E_BASE + 31), 175 RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32), 176 RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33), 177 RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34), 178 RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35), 179 RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36), 180 RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37), 181 RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38), 182 RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39), 183 RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40), 184 RDB_E_NOT_SUPPORT = (E_BASE + 41), 185 RDB_E_INVALID_PARCEL = (E_BASE + 42), 186 RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43), 187 RDB_E_SET_PERSIST_WAL = (E_BASE + 44), 188 RDB_E_DB_NOT_EXIST = (E_BASE + 45), 189 RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46), 190 RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47), 191 RDB_E_CON_OVER_LIMIT = (E_BASE + 48) 192 ``` 193