getMKVBatchEx
int getMKVBatchEx(const MKVBatchExReq &req, MKVBatchExRsp &rsp)
功能: 批量查询,每个主key都有特定的查询条件,查询条件支持“与或”逻辑
参数:
struct MKVBatchExReq
{
1 require string moduleName; //模块名
2 require vector<MainKeyCondition> cond; //查询条件
3 require string idcSpecified = ""; //idc区域
};
struct MainKeyCondition
{
1 require string mainKey; //主键
2 require string field; //需要查询的字段集,多个字段用','分隔如 "a,b", "*"表示所有
3 require vector<vector<Condition> > cond; //查询条件集合,内层为'and'关系,外层为'or'关系
4 require Condition limit; //查询起始和count限制,op = DCache::LIMIT, value = "startIndex:countLimit"
5 require bool bGetMKCout = false; //是否返回主key下的总记录条数
};
struct MKVBatchExRsp
{
1 require vector<MainKeyValue> data; //查询结果集合
};
struct MainKeyValue
{
1 require string mainKey; //主键
2 require vector<map<string, string> > value; //在该主键下查询到的记录的集合
3 require int ret; //ret>=0 成功,其他 失败
};
返回值:
返回值 | 含义 |
---|---|
ET_MODULE_NAME_INVALID | 模块名错误 |
ET_KEY_AREA_ERR | 当前key不属于本机服务,需要更新路由表重新访问 |
ET_KEY_INVALID | 查询条件中存在mainKey无效的元素 |
ET_INPUT_PARAM_ERROR | 查询条件中存在mainKey为空的元素或者主键数量超过限制 |
ET_PARAM_LIMIT_VALUE_ERR | 查询条件集合的某个元素的limit属性值填写错误 |
ET_PARAM_NOT_EXIST | 查询条件集合字段填写错误,无效字段 |
ET_PARAM_REDUNDANT | 查询条件集合有重复字段或无效字段 |
ET_SYS_ERR | 系统异常 |
ET_SUCC | 批量读取成功 |