rdbapi 5.1.1.9
实时数据库C接口 for windows/Linux
 
载入中...
搜索中...
未找到
SOE相关相关接口

函数

int rdb_soeput (int h, rec_soe psoe[], int nsize)
 写入SOE事件
 
int rdb_soequery (int h, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *pParam)
 查询SOE事件
 
int rdb_soeupdate (int h, rec_soe psoe[], int nsize)
 更新SOE事件记录
 
int rdb_soesubscription (int h, int flag)
 订阅SOE事件
 
int rdb_soesubscription_setfun (int h, rdbcb_OnSscPutSoes fun, void *param)
 设置处理订阅的SOE事件处理回调函数
 
int rdb_getoutlimit_snaps (int h, const char *station, void(*onread)(rec_tagval pvals[], int nitems, void *param), void *puserparam)
 读取当前越限标签快照
 
int rdb_soesubscription_ex (int h, int flag, const char *station)
 订阅SOE的高级版,支持通过中心站订阅子站SOE
 
int rdb_soedelete (int h, const char *datetime_begin, unsigned int ukey_begin, const char *datetime_end, unsigned int ukey_end, int *pnumdelrecords)
 删除SOE记录, 双机热备时,只删除当前连接的实时库中数据。
 

详细描述

SOE事件的写入,查询相关接口函数。

函数说明

◆ rdb_getoutlimit_snaps()

int rdb_getoutlimit_snaps ( int h,
const char * station,
void(*)(rec_tagval pvals[], int nitems, void *param) onread,
void * puserparam )

读取当前越限标签快照

参数
h[in] rdb_create创建的句柄.
station[in] 站名,nullptr表示主站
onread[in] 数据回调函数
puserparam回调函数的参数,会原样填写到onread的param里。
返回
0表示成功, 其余值为失败错误码。

◆ rdb_soedelete()

int rdb_soedelete ( int h,
const char * datetime_begin,
unsigned int ukey_begin,
const char * datetime_end,
unsigned int ukey_end,
int * pnumdelrecords )

删除SOE记录, 双机热备时,只删除当前连接的实时库中数据。

参数
hrdb_create创建的句柄.
datetime_begin开始日期时间,ISO格式"2023-1-1T08:0:0.000+08:00"
ukey_begin开始序号
datetime_end结束日期时间(ISO格式), nullptr或者空字符串表示一直删除到结束
ukey_end结束序号
pnumdelrecords成功后输出删除的记录数
返回
返回0成功,其他为错误码

◆ rdb_soeput()

int rdb_soeput ( int h,
rec_soe psoe[],
int nsize )

写入SOE事件

参数
h[in] rdb_create创建的句柄.
psoe[in] SOE事件记录数组
nsizepsoe中的记录个数
返回
返回 0 表示成功,其余值为失败错误码。
备注
这个函数为写入新的SOE事件,每个SOE记录的uautokey字段填写0,追加和历史补录均使用本函数;

◆ rdb_soequery()

int rdb_soequery ( int h,
long long lts,
unsigned int autokey,
long long lte,
const char * sexp,
rdbcb_OnReadSoes pfun,
void * pParam )

查询SOE事件

参数
h[in] rdb_create创建的句柄.
lts[in] 开始时标,参见T_TIME
autokey[in] 开始时标处的autokey
lte[in] 结束时标,参见T_TIME,-1表示查询到数据结束
sexp[in] 查询表达式
pfun[in] 查询结果记录回调函数
pParam[in]回调参数
返回
返回 0 表示成功,其余值为失败错误码。
备注
直到查询完成或者回调函数返回0表示结束查询,调用者可以随时通过回调函数返回0结束查询。整个查询过程中,回调函数可能被调用多次.

◆ rdb_soesubscription()

int rdb_soesubscription ( int h,
int flag )

订阅SOE事件

参数
h[in] rdb_create创建的句柄.
flag[in] 订阅模式; 0:取消订阅; 1:订阅最新; 2:订阅更新的SOE(被处理后的SOE); 3:订阅最新和更新后的SOE.
返回
返回 0 表示成功,其余值为失败错误码。

◆ rdb_soesubscription_ex()

int rdb_soesubscription_ex ( int h,
int flag,
const char * station )

订阅SOE的高级版,支持通过中心站订阅子站SOE

参数
h[in] rdb_create创建的句柄.
flag[in] 订阅模式; 0:取消订阅; 1:订阅最新; 2:订阅更新的SOE(被处理后的SOE); 3:订阅最新和更新后的SOE.
station[in] 子站名,null表示订阅目前连接的站的SOE(和rdb_soesubscription功能同)。
返回
0: success; 其他为错误码

◆ rdb_soesubscription_setfun()

int rdb_soesubscription_setfun ( int h,
rdbcb_OnSscPutSoes fun,
void * param )

设置处理订阅的SOE事件处理回调函数

参数
h[in] rdb_create创建的句柄.
fun[in] 回调函数
param[in] 回调函数自己带入的参数
返回
返回 0 表示成功,其余值为失败错误码。
备注
在调用rdb_soesubscription前调用本函数设置处理订阅推送回来的SOE事件

◆ rdb_soeupdate()

int rdb_soeupdate ( int h,
rec_soe psoe[],
int nsize )

更新SOE事件记录

参数
h[in] rdb_create创建的句柄.
psoe[in/out] 事件记录数组,返回时cstatus字段会被改写
nsize[in] psoe中的记录数
返回
返回 0 表示成功,其余值为失败错误码。
备注
SOE事件使用time字段和uautokey字段组合主键来决定唯一的SOE记录,当返回0后,还需判断每个SOE记录中的status字段为0表示成功,1表示更新失败