mco_cluster_db_open
有关概述,请参阅集群应用页面。
此函数创建名为 dbname 的集群数据库,并连接到 cl_params 结构中指定的其他集群节点。mco_cluster_db_open() 应在每个集群节点上被调用,每个进程调用一次。
MCO_RET mco_cluster_db_open(
/*IN*/ const char * dbname,
/*IN*/ mco_dictionary_h dict,
/*IN*/ mco_device_t * devs,
/*IN*/ mco_size_t n_devs,
/*IN*/ mco_db_params_t * db_params,
/*IN*/ mco_cluster_params_t * cl_params
)
参数
dbname
要打开的数据库名称
dict
由模式处理器 mcocomp 生成的字典的句柄。通常,通过传递 dbname_get_dictionary() 来传递此句柄
devs
内存设备参数
n_devs
内存设备的数量
db_params
在结构体 mco_db_params_t 中定义的数据库规范参数
cl_params
在结构体 mco_cluster_params_t 中定义的网络(集群)参数
返回
MCO_S_OK
数据库创建成功,并且与其他节点的连接已建立
MCO_E_CLUSTER_NOQUORUM
数据库已创建,但集群环境无法连接到足够数量的其他节点以达到法定人数
MCO_E_CLUSTER_INVALID_PARAMETER
集群参数错误(例如 node_id >= n_nodes)
MCO_E_CLUSTER_PROTOCOLERR
初始化数据库期间出现协议错误
MCO_E_CLUSTER_INCOMPATIBLE_MODE
不同节点的模式或字典不兼容
MCO_E_CLUSTER_SYNC
数据库初始同步期间出现错误
MCO_E_NW_*
初始化网络层时出错
其他
请参考 mco_db_open_dev()
文件
- 头文件:mcocluster.h
- 源文件:mcocluster.c
- 库:libmcocluster.a