relational_store.h
概述
提供管理关系数据库(RDB)方法的接口,未标注支持向量数据库的接口仅支持关系型数据库。
引用文件: <database/rdb/relational_store.h>
库: libnative_rdb_ndk.z.so
起始版本: 10
相关模块:RDB
汇总
结构体
| 名称 | 描述 |
|---|---|
| OH_Rdb_Config | 管理关系数据库配置。 |
| OH_Rdb_Store | 表示数据库类型。 |
| Rdb_DistributedConfig | 记录表的分布式配置信息。 |
| Rdb_KeyInfo | 描述发生变化的行的主键或者行号。 |
| Rdb_KeyInfo::Rdb_KeyData | 存放变化的具体数据。 |
| Rdb_ChangeInfo | 记录端云同步过程详情。 |
| Rdb_SubscribeCallback | 表示回调函数。 |
| Rdb_DataObserver | 表示数据观察者。 |
| Rdb_Statistic | 描述数据库表的端云同步过程的统计信息。 |
| Rdb_TableDetails | 描述数据库表执行端云同步任务上传和下载的统计信息。 |
| Rdb_ProgressDetails | 描述数据库整体执行端云同步任务上传和下载的统计信息。 |
| Rdb_ProgressObserver | 端云同步进度观察者。 |
宏定义
| 名称 | 描述 |
|---|---|
| DISTRIBUTED_CONFIG_VERSION 1 | 描述Rdb_DistributedConfig的版本。 |
| DISTRIBUTED_CHANGE_INFO_VERSION 1 | 描述Rdb_ChangeInfo的版本。 |
| DISTRIBUTED_PROGRESS_DETAIL_VERSION 1 | 描述Rdb_ProgressDetails的版本。 |
类型定义
| 名称 | 描述 |
|---|---|
| typedef enum Rdb_Tokenizer Rdb_Tokenizer | 描述数据库的分词器类型。 |
| OH_Rdb_SecurityLevel | 数据库的安全级别枚举。 |
| Rdb_SecurityArea | 描述数据库的安全区域等级。 |
| typedef struct OH_Rdb_ConfigV2 OH_Rdb_ConfigV2 | 管理关系数据库配置,与OH_Rdb_Config的区别是该结构体成员变量不对外暴露,使用一系列方法配置该结构体的属性,支持向量数据库。 |
| typedef enum Rdb_DBType Rdb_DBType | 描述数据库的内核类型。 |
| Rdb_DistributedType | 描述表的分布式类型的枚举。 |
| Rdb_DistributedConfig | 记录表的分布式配置信息。 |
| Rdb_ChangeType | 描述数据变更类型。 |
| Rdb_KeyInfo | 描述发生变化的行的主键或者行号。 |
| Rdb_ChangeInfo | 记录端云同步过程详情。 |
| Rdb_SubscribeType | 描述订阅类型。 |
| Rdb_BriefObserver | 端云数据更改事件的回调函数。 |
| Rdb_DetailsObserver | 端云数据更改事件的细节的回调函数。 |
| Rdb_SubscribeCallback | 表示回调函数。 |
| Rdb_DataObserver | 表示数据观察者。 |
| Rdb_SyncMode | 表示数据库的同步模式。 |
| Rdb_Statistic | 描述数据库表的端云同步过程的统计信息。 |
| Rdb_TableDetails | 描述数据库表执行端云同步任务上传和下载的统计信息。 |
| Rdb_Progress | 描述端云同步过程。 |
| Rdb_ProgressCode | 表示端云同步过程的状态。 |
| Rdb_ProgressDetails | 描述数据库整体执行端云同步任务上传和下载的统计信息。 |
| Rdb_ProgressCallback | 端云同步进度的回调函数。 |
| Rdb_SyncCallback | 数据库端云同步的回调函数。 |
| Rdb_ProgressObserver | 端云同步进度观察者。 |
枚举
| 名称 | 描述 |
|---|---|
| Rdb_Tokenizer { RDB_NONE_TOKENIZER = 1, RDB_ICU_TOKENIZER = 2, RDB_CUSTOM_TOKENIZER = 3 } | 描述数据库的分词器类型。 |
| OH_Rdb_SecurityLevel { S1 = 1, S2, S3, S4} | 数据库的安全级别枚举。 |
| Rdb_SecurityArea { RDB_SECURITY_AREA_EL1 = 1, RDB_SECURITY_AREA_EL2, RDB_SECURITY_AREA_EL3, RDB_SECURITY_AREA_EL4, RDB_SECURITY_AREA_EL5 } | 描述数据库的安全区域等级。 |
| Rdb_DBType { RDB_SQLITE = 1, RDB_CAYLEY = 2, DBTYPE_BUTT = 64 } | 描述数据库的内核类型。 |
| Rdb_DistributedType { RDB_DISTRIBUTED_CLOUD } | 描述表的分布式类型的枚举。 |
| Rdb_ChangeType { RDB_DATA_CHANGE, RDB_ASSET_CHANGE } | 描述数据变更类型。 |
| Rdb_SubscribeType { RDB_SUBSCRIBE_TYPE_CLOUD, RDB_SUBSCRIBE_TYPE_CLOUD_DETAILS, RDB_SUBSCRIBE_TYPE_LOCAL_DETAILS } | 描述订阅类型。 |
| Rdb_SyncMode { RDB_SYNC_MODE_TIME_FIRST, RDB_SYNC_MODE_NATIVE_FIRST, RDB_SYNC_MODE_CLOUD_FIRST } | 表示数据库的同步模式。 |
| Rdb_Progress { RDB_SYNC_BEGIN, RDB_SYNC_IN_PROGRESS, RDB_SYNC_FINISH } | 描述端云同步过程。 |
| Rdb_ProgressCode { RDB_SUCCESS, RDB_UNKNOWN_ERROR, RDB_NETWORK_ERROR, RDB_CLOUD_DISABLED, RDB_LOCKED_BY_OTHERS, RDB_RECORD_LIMIT_EXCEEDED, RDB_NO_SPACE_FOR_ASSET } |
表示端云同步过程的状态。 |
函数
| 名称 | 描述 |
|---|---|
| int OH_Rdb_SetPersistent (OH_Rdb_ConfigV2 *config, bool isPersistent) | 指定数据库是否需要持久化。 |
| int OH_Rdb_BatchInsert (OH_Rdb_Store *store, const char *table, const OH_Data_VBuckets *rows, Rdb_ConflictResolution resolution, int64_t *changes) | 将一批数据插入到目标表中。 |
| int OH_Rdb_CreateTransaction (OH_Rdb_Store *store, const OH_RDB_TransOptions *options, OH_Rdb_Transaction **trans) | 创建一个事务对象。 |
| int OH_Rdb_ExecuteV2 (OH_Rdb_Store *store, const char *sql, const OH_Data_Values *args, OH_Data_Value **result) | 执行有返回值的SQL语句,支持向量数据库。 |
| OH_Cursor * OH_Rdb_ExecuteQueryV2 (OH_Rdb_Store *store, const char *sql, const OH_Data_Values *args) | 根据指定SQL语句查询数据库中的数据,支持向量数据库。 |
| int OH_Rdb_IsTokenizerSupported (Rdb_Tokenizer tokenizer, bool *isSupported) | 判断当前平台是否支持传入的分词器。 |
| int OH_Rdb_SetTokenizer (OH_Rdb_ConfigV2 *config, Rdb_Tokenizer tokenizer) | 给指定的数据库文件配置设置分词器类型。 |
| OH_Rdb_ConfigV2 * OH_Rdb_CreateConfig () | 创建一个OH_Rdb_ConfigV2实例,并返回指向该实例的指针。 |
| int OH_Rdb_DestroyConfig (OH_Rdb_ConfigV2 *config) | 销毁由OH_Rdb_CreateConfig创建的OH_Rdb_ConfigV2对象。 |
| int OH_Rdb_SetDatabaseDir (OH_Rdb_ConfigV2 *config, const char *databaseDir) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库文件路径。 |
| int OH_Rdb_SetStoreName (OH_Rdb_ConfigV2 *config, const char *storeName) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库名称。 |
| int OH_Rdb_SetBundleName (OH_Rdb_ConfigV2 *config, const char *bundleName) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置应用包名。 |
| int OH_Rdb_SetModuleName (OH_Rdb_ConfigV2 *config, const char *moduleName) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置应用模块名。 |
| int OH_Rdb_SetEncrypted (OH_Rdb_ConfigV2 *config, bool isEncrypted) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库是否加密。 |
| int OH_Rdb_SetSecurityLevel (OH_Rdb_ConfigV2 *config, int securityLevel) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库安全级别OH_Rdb_SecurityLevel。 |
| int OH_Rdb_SetArea (OH_Rdb_ConfigV2 *config, int area) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库安全区域等级Rdb_SecurityArea。 |
| int OH_Rdb_SetDbType (OH_Rdb_ConfigV2 *config, int dbType) | 给指定的数据库文件配置OH_Rdb_ConfigV2,设置数据库类型Rdb_DBType。 |
| const int * OH_Rdb_GetSupportedDbType (int *typeCount) | 获得支持的数据库类型Rdb_DBType。 |
| OH_Rdb_Store * OH_Rdb_CreateOrOpen (const OH_Rdb_ConfigV2 *config, int *errCode) | 使用指定的数据库文件配置OH_Rdb_ConfigV2,获得一个对应的OH_Rdb_Store实例,用来操作关系型数据库。 |
| int OH_Rdb_ExecuteByTrxId (OH_Rdb_Store *store, int64_t trxId, const char *sql) | 使用指定的事务ID执行无返回值的SQL语句,支持向量数据库。 |
| int OH_Rdb_BeginTransWithTrxId (OH_Rdb_Store *store, int64_t *trxId) | 在开始执行SQL语句之前,开始事务,并获得该事务的ID,支持向量数据库。 |
| int OH_Rdb_RollBackByTrxId (OH_Rdb_Store *store, int64_t trxId) | 使用指定的事务ID,回滚已经执行的SQL语句,支持向量数据库。 |
| int OH_Rdb_CommitByTrxId (OH_Rdb_Store *store, int64_t trxId) | 使用指定的事务ID,提交已经执行的SQL语句,支持向量数据库。 |
| OH_Rdb_CreateValueObject () | 创建OH_VObject实例。 |
| OH_Rdb_CreateValuesBucket () | 创建OH_VBucket实例。 |
| OH_Rdb_CreatePredicates (const char *table) | 创建OH_Predicates实例。 |
| OH_Rdb_GetOrOpen (const OH_Rdb_Config *config, int *errCode) | 获得一个相关的OH_Rdb_Store实例,操作关系型数据库。 |
| OH_Rdb_CloseStore (OH_Rdb_Store *store) | 销毁OH_Rdb_Store对象,并回收该对象占用的内存。 |
| OH_Rdb_DeleteStore (const OH_Rdb_Config *config) | 使用指定的数据库文件配置删除数据库。 |
| int OH_Rdb_DeleteStoreV2 (const OH_Rdb_ConfigV2 *config) | 使用指定的数据库文件配置OH_Rdb_ConfigV2删除数据库。当使用向量数据库时,在调用接口前,应当确保向量数据库已经被正确关闭。 |
| OH_Rdb_Insert (OH_Rdb_Store *store, const char *table, OH_VBucket *valuesBucket) | 向目标表中插入一行数据。 |
| OH_Rdb_Update (OH_Rdb_Store *store, OH_VBucket *valuesBucket, OH_Predicates *predicates) | 根据指定的条件更新数据库中的数据。 |
| OH_Rdb_Delete (OH_Rdb_Store *store, OH_Predicates *predicates) | 根据指定的条件删除数据库中的数据。 |
| OH_Rdb_Query (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length) | 根据指定条件查询数据库中的数据。 |
| OH_Rdb_Execute (OH_Rdb_Store *store, const char *sql) | 执行无返回值的SQL语句。 |
| OH_Rdb_ExecuteQuery (OH_Rdb_Store *store, const char *sql) | 根据指定SQL语句查询数据库中的数据,支持向量数据库。 |
| OH_Rdb_BeginTransaction (OH_Rdb_Store *store) | 在开始执行SQL语句之前,开始事务。 |
| OH_Rdb_RollBack (OH_Rdb_Store *store) | 回滚已经执行的SQL语句。 |
| OH_Rdb_Commit (OH_Rdb_Store *store) | 提交已执行的SQL语句。 |
| OH_Rdb_Backup (OH_Rdb_Store *store, const char *databasePath) | 以指定路径备份数据库,支持向量数据库。 |
| OH_Rdb_Restore (OH_Rdb_Store *store, const char *databasePath) | 从指定的数据库备份文件恢复数据库,支持向量数据库。 |
| OH_Rdb_GetVersion (OH_Rdb_Store *store, int *version) | 获取数据库版本。 |
| OH_Rdb_SetVersion (OH_Rdb_Store *store, int version) | 设置数据库版本。 |
| OH_Rdb_SetDistributedTables (OH_Rdb_Store *store, const char *tables[], uint32_t count, Rdb_DistributedType type, const Rdb_DistributedConfig *config) | 设置分布式数据库表。 |
| OH_Rdb_FindModifyTime (OH_Rdb_Store *store, const char *tableName, const char *columnName, OH_VObject *values) | 获取数据库表中数据的最后修改时间。 |
| OH_Rdb_Subscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer) | 为数据库注册观察者。当分布式数据库中的数据发生更改时,将调用回调。 |
| OH_Rdb_Unsubscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer) | 从数据库中删除指定类型的指定观察者。 |
| OH_Rdb_GetTableDetails (Rdb_ProgressDetails *progress, int32_t version) | 从端云同步任务的统计信息中获取数据库表的统计信息。 |
| OH_Rdb_CloudSync (OH_Rdb_Store *store, Rdb_SyncMode mode, const char *tables[], uint32_t count, const Rdb_ProgressObserver *observer) | 进行端云同步。 |
| OH_Rdb_SubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer) | 订阅RDB存储的自动同步进度。当收到自动同步进度的通知时,将调用回调。 |
| OH_Rdb_UnsubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer) | 取消订阅RDB存储的自动同步进程。 |
| int OH_Rdb_LockRow (OH_Rdb_Store *store, OH_Predicates *predicates) | 根据指定的条件锁定数据库中的数据,锁定数据不执行端云同步。 |
| int OH_Rdb_UnlockRow (OH_Rdb_Store *store, OH_Predicates *predicates) | 根据指定的条件锁解锁数据库中的数据。 |
| OH_Cursor * OH_Rdb_QueryLockedRow (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length) | 根据指定条件查询数据库中锁定的数据。 |