1e41f4b71Sopenharmony_ci 2e41f4b71Sopenharmony_ci# Distributed Data Management Subsystem Changelog 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## cl.distributeddatamgr.1 Replacement of context with a context Without the Optional Identifier 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci**Change Impact** 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ciFor applications developed based on earlier versions, use SDK API version 10 when **context** is used. 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci**Key API/Component Changes** 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ciDeleted the following: 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci ```ts 15e41f4b71Sopenharmony_ci /** 16e41f4b71Sopenharmony_ci * Indicates datashare extension ability context. 17e41f4b71Sopenharmony_ci * 18e41f4b71Sopenharmony_ci * @type ?{ ExtensionContext } 19e41f4b71Sopenharmony_ci * @syscap SystemCapability.DistributedDataManager.DataShare.Provider 20e41f4b71Sopenharmony_ci * @systemapi 21e41f4b71Sopenharmony_ci * @StageModelOnly 22e41f4b71Sopenharmony_ci * @since 9 23e41f4b71Sopenharmony_ci */ 24e41f4b71Sopenharmony_ci context?: ExtensionContext; 25e41f4b71Sopenharmony_ci ``` 26e41f4b71Sopenharmony_ciAdded the following: 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci ```ts 29e41f4b71Sopenharmony_ci /** 30e41f4b71Sopenharmony_ci * Indicates datashare extension ability context. 31e41f4b71Sopenharmony_ci * 32e41f4b71Sopenharmony_ci * @type { ExtensionContext } 33e41f4b71Sopenharmony_ci * @syscap SystemCapability.DistributedDataManager.DataShare.Provider 34e41f4b71Sopenharmony_ci * @systemapi 35e41f4b71Sopenharmony_ci * @StageModelOnly 36e41f4b71Sopenharmony_ci * @since 10 37e41f4b71Sopenharmony_ci */ 38e41f4b71Sopenharmony_ci context: ExtensionContext; 39e41f4b71Sopenharmony_ci ``` 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci## cl.distributeddatamgr.2 Change of the Return Value Type of Function Pointer Variables in the OH_Predicates Struct from OH_Predicates to OH_Predicates * 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci**Change Impact** 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ciThis change is incompatible with earlier versions. You need to use the new function pointer variables in the **OH_Predicates** struct. 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci**Key API/Component Changes** 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciBefore the change: 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci ```ts 52e41f4b71Sopenharmony_ci OH_Predicates (*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 53e41f4b71Sopenharmony_ci OH_Predicates (*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 54e41f4b71Sopenharmony_ci OH_Predicates (*beginWrap)(OH_Predicates *predicates); 55e41f4b71Sopenharmony_ci OH_Predicates (*endWrap)(OH_Predicates *predicates); 56e41f4b71Sopenharmony_ci OH_Predicates (*orOperate)(OH_Predicates *predicates); 57e41f4b71Sopenharmony_ci OH_Predicates (*andOperate)(OH_Predicates *predicates); 58e41f4b71Sopenharmony_ci OH_Predicates (*isNull)(OH_Predicates *predicates, const char *field); 59e41f4b71Sopenharmony_ci OH_Predicates (*isNotNull)(OH_Predicates *predicates, const char *field); 60e41f4b71Sopenharmony_ci OH_Predicates (*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 61e41f4b71Sopenharmony_ci OH_Predicates (*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 62e41f4b71Sopenharmony_ci OH_Predicates (*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 63e41f4b71Sopenharmony_ci OH_Predicates (*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 64e41f4b71Sopenharmony_ci OH_Predicates (*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 65e41f4b71Sopenharmony_ci OH_Predicates (*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 66e41f4b71Sopenharmony_ci OH_Predicates (*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 67e41f4b71Sopenharmony_ci OH_Predicates (*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type); 68e41f4b71Sopenharmony_ci OH_Predicates (*distinct)(OH_Predicates *predicates); 69e41f4b71Sopenharmony_ci OH_Predicates (*limit)(OH_Predicates *predicates, unsigned int value); 70e41f4b71Sopenharmony_ci OH_Predicates (*offset)(OH_Predicates *predicates, unsigned int rowOffset); 71e41f4b71Sopenharmony_ci OH_Predicates (*groupBy)(OH_Predicates *predicates, char const *const *fields, int length); 72e41f4b71Sopenharmony_ci OH_Predicates (*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 73e41f4b71Sopenharmony_ci OH_Predicates (*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 74e41f4b71Sopenharmony_ci OH_Predicates (*clear)(OH_Predicates *predicates); 75e41f4b71Sopenharmony_ci ``` 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ciAfter the change: 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci ```ts 80e41f4b71Sopenharmony_ci OH_Predicates *(*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 81e41f4b71Sopenharmony_ci OH_Predicates *(*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 82e41f4b71Sopenharmony_ci OH_Predicates *(*beginWrap)(OH_Predicates *predicates); 83e41f4b71Sopenharmony_ci OH_Predicates *(*endWrap)(OH_Predicates *predicates); 84e41f4b71Sopenharmony_ci OH_Predicates *(*orOperate)(OH_Predicates *predicates); 85e41f4b71Sopenharmony_ci OH_Predicates *(*andOperate)(OH_Predicates *predicates); 86e41f4b71Sopenharmony_ci OH_Predicates *(*isNull)(OH_Predicates *predicates, const char *field); 87e41f4b71Sopenharmony_ci OH_Predicates *(*isNotNull)(OH_Predicates *predicates, const char *field); 88e41f4b71Sopenharmony_ci OH_Predicates *(*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 89e41f4b71Sopenharmony_ci OH_Predicates *(*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 90e41f4b71Sopenharmony_ci OH_Predicates *(*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 91e41f4b71Sopenharmony_ci OH_Predicates *(*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 92e41f4b71Sopenharmony_ci OH_Predicates *(*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 93e41f4b71Sopenharmony_ci OH_Predicates *(*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 94e41f4b71Sopenharmony_ci OH_Predicates *(*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 95e41f4b71Sopenharmony_ci OH_Predicates *(*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type); 96e41f4b71Sopenharmony_ci OH_Predicates *(*distinct)(OH_Predicates *predicates); 97e41f4b71Sopenharmony_ci OH_Predicates *(*limit)(OH_Predicates *predicates, unsigned int value); 98e41f4b71Sopenharmony_ci OH_Predicates *(*offset)(OH_Predicates *predicates, unsigned int rowOffset); 99e41f4b71Sopenharmony_ci OH_Predicates *(*groupBy)(OH_Predicates *predicates, char const *const *fields, int length); 100e41f4b71Sopenharmony_ci OH_Predicates *(*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 101e41f4b71Sopenharmony_ci OH_Predicates *(*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); 102e41f4b71Sopenharmony_ci OH_Predicates *(*clear)(OH_Predicates *predicates); 103e41f4b71Sopenharmony_ci ``` 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci**Adaptation Guide** 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ciThe sample code is as follows: 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ciSample code before the change: 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci``` 112e41f4b71Sopenharmony_cipredicates->beginWrap(predicates).equalTo(predicates, "data1", valueObject).orOperate(predicates); 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ciSample code after the change: 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci``` 118e41f4b71Sopenharmony_cipredicates->beginWrap(predicates)->equalTo(predicates, "data1", valueObject)->orOperate(predicates); 119e41f4b71Sopenharmony_ci``` 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci## cl.distributeddatamgr.3 Change of the Error Codes in the OH_Rdb_ErrCode Struct 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci**Change Impact** 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ciChanged **RDB_ERR_INVALID_ARGS** to **RDB_E_INVALID_ARGS**, and **RDB_ERR_OK** to **RDB_OK**, and added error codes. 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci**Key API/Component Changes** 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ciBefore the change: 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci ```ts 132e41f4b71Sopenharmony_ci RDB_ERR_INVALID_ARGS = -2, 133e41f4b71Sopenharmony_ci RDB_ERR = -1, 134e41f4b71Sopenharmony_ci RDB_ERR_OK = 0 135e41f4b71Sopenharmony_ci ``` 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ciAfter the change: 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci ```ts 140e41f4b71Sopenharmony_ci RDB_ERR = -1, 141e41f4b71Sopenharmony_ci RDB_OK = 0, 142e41f4b71Sopenharmony_ci E_BASE = 14800000, 143e41f4b71Sopenharmony_ci RDB_E_NOT_SUPPORTED = 801, 144e41f4b71Sopenharmony_ci RDB_E_ERROR = E_BASE, 145e41f4b71Sopenharmony_ci RDB_E_INVALID_ARGS = (E_BASE + 1), 146e41f4b71Sopenharmony_ci RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2), 147e41f4b71Sopenharmony_ci RDB_E_REMOVE_FILE = (E_BASE + 3), 148e41f4b71Sopenharmony_ci RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5), 149e41f4b71Sopenharmony_ci RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6), 150e41f4b71Sopenharmony_ci RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7), 151e41f4b71Sopenharmony_ci RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8), 152e41f4b71Sopenharmony_ci RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9), 153e41f4b71Sopenharmony_ci RDB_E_EMPTY_FILE_NAME = (E_BASE + 10), 154e41f4b71Sopenharmony_ci RDB_E_INVALID_FILE_PATH = (E_BASE + 11), 155e41f4b71Sopenharmony_ci RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12), 156e41f4b71Sopenharmony_ci RDB_E_INVALID_STATEMENT = (E_BASE + 13), 157e41f4b71Sopenharmony_ci RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14), 158e41f4b71Sopenharmony_ci RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15), 159e41f4b71Sopenharmony_ci RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16), 160e41f4b71Sopenharmony_ci RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17), 161e41f4b71Sopenharmony_ci RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18), 162e41f4b71Sopenharmony_ci RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19), 163e41f4b71Sopenharmony_ci RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20), 164e41f4b71Sopenharmony_ci RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21), 165e41f4b71Sopenharmony_ci RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22), 166e41f4b71Sopenharmony_ci RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23), 167e41f4b71Sopenharmony_ci RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24), 168e41f4b71Sopenharmony_ci RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25), 169e41f4b71Sopenharmony_ci RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26), 170e41f4b71Sopenharmony_ci RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27), 171e41f4b71Sopenharmony_ci RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28), 172e41f4b71Sopenharmony_ci RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29), 173e41f4b71Sopenharmony_ci RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30), 174e41f4b71Sopenharmony_ci RDB_E_RELATIVE_PATH = (E_BASE + 31), 175e41f4b71Sopenharmony_ci RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32), 176e41f4b71Sopenharmony_ci RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33), 177e41f4b71Sopenharmony_ci RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34), 178e41f4b71Sopenharmony_ci RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35), 179e41f4b71Sopenharmony_ci RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36), 180e41f4b71Sopenharmony_ci RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37), 181e41f4b71Sopenharmony_ci RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38), 182e41f4b71Sopenharmony_ci RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39), 183e41f4b71Sopenharmony_ci RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40), 184e41f4b71Sopenharmony_ci RDB_E_NOT_SUPPORT = (E_BASE + 41), 185e41f4b71Sopenharmony_ci RDB_E_INVALID_PARCEL = (E_BASE + 42), 186e41f4b71Sopenharmony_ci RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43), 187e41f4b71Sopenharmony_ci RDB_E_SET_PERSIST_WAL = (E_BASE + 44), 188e41f4b71Sopenharmony_ci RDB_E_DB_NOT_EXIST = (E_BASE + 45), 189e41f4b71Sopenharmony_ci RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46), 190e41f4b71Sopenharmony_ci RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47), 191e41f4b71Sopenharmony_ci RDB_E_CON_OVER_LIMIT = (E_BASE + 48) 192e41f4b71Sopenharmony_ci ``` 193