acl  3.5.3.0
acl::hsclient类 参考

#include <hsclient.hpp>

+ 类 acl::hsclient 继承关系图:
+ acl::hsclient 的协作图:

Public 成员函数

 hsclient (const char *addr, bool cache_enable=true, bool retry_enable=true)
 
 ~hsclient ()
 
const std::vector< hsrow * > & get (const char *values[], int num, const char *cond="=", int nlimit=0, int noffset=0)
 
const std::vector< hsrow * > & get (const char *first_value,...) ACL_CPP_PRINTF(2
 
const std::vector< hsrow * > bool mod (const char *values[], int num, const char *to_values[], int to_num, const char *cond="=", int nlimit=0, int noffset=0)
 
bool del (const char *values[], int num, const char *cond="=", int nlimit=0, int noffset=0)
 
bool fmt_del (const char *first_value,...) ACL_CPP_PRINTF(2
 
bool bool add (const char *values[], int num)
 
bool fmt_add (const char *first_value,...) ACL_CPP_PRINTF(2
 
bool void debug_enable (bool on)
 
bool open_tbl (const char *dbn, const char *tbl, const char *idx, const char *flds, bool auto_open=true)
 
const char * get_addr () const
 
int get_error () const
 
const char * get_serror (int errnum) const
 
const char * get_last_serror () const
 
int get_id () const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

在文件 hsclient.hpp19 行定义.

构造及析构函数说明

◆ hsclient()

acl::hsclient::hsclient ( const char *  addr,
bool  cache_enable = true,
bool  retry_enable = true 
)

构造函数

参数
addr{const char*} handlersocket 插件在 Mysql 上的监听地址,
cache_enable{bool} 内部是否启用行缓存功能
retry_enable{bool} 当因为网络原因出错时是否需要重试 格式为:ip:port

◆ ~hsclient()

acl::hsclient::~hsclient ( )

成员函数说明

◆ add()

bool bool acl::hsclient::add ( const char *  values[],
int  num 
)

向数据库添加新记录

参数
values{const char*[]} 匹配字段值数组,字段值的加入顺序应与构造 函数中 flds 中各个字段的顺序相同
num{int} values 数组长度,该值不应超过构造函数中 flds 所含有的 字段个数
返回
{bool} 添加记录是否成功

◆ debug_enable()

bool void acl::hsclient::debug_enable ( bool  on)

设置是否进行调试

参数
on{bool} true 则表示进行调试,会将一些中间信息记入日志中

◆ del()

bool acl::hsclient::del ( const char *  values[],
int  num,
const char *  cond = "=",
int  nlimit = 0,
int  noffset = 0 
)

删除数据库表中匹配字段的记录

参数
values{const char*[]} 匹配字段值数组,字段值的加入顺序应与 open 函数中 flds 中各个字段的顺序相同
num{int} values 数组长度,该值不应超过构造函数中 flds 所含有的 字段个数
cond{const char*} 匹配条件,可以为: = 等于; >= 大于等于; > 大于; < 小于; <= 小于等于
nlimit{int} 删除数据的个数, 0 表示不限制
noffset{int} 结果集开始位置(0表示从第一个结果开始)
返回
{bool} 更新是否成功

◆ fmt_add()

bool acl::hsclient::fmt_add ( const char *  first_value,
  ... 
)

向数据库中添加新记录

参数
first_value{const char*} 为对应于构造函数中 flds 字段集中 的第一个字段的字段值
...{const char*} 参数列表,最后一个参数为 NULL 表示结束
返回
{bool} 添加记录是否成功

◆ fmt_del()

bool acl::hsclient::fmt_del ( const char *  first_value,
  ... 
)

删除数据库表中匹配字段的记录

参数
first_value{const char*} 为对应于构造函数中 flds 字段集中 的第一个字段的字段值
...{const char*} 参数列表,最后一个参数为 NULL 表示结束
返回
{bool} 添加记录是否成功

◆ get() [1/2]

const std::vector<hsrow*>& acl::hsclient::get ( const char *  values[],
int  num,
const char *  cond = "=",
int  nlimit = 0,
int  noffset = 0 
)

查询与所给字段值匹配的结果

参数
values{const char*[]} 匹配字段值数组,字段值的加入顺序应与 open 函数中 flds 中各个字段的顺序相同
num{int} values 数组长度,该值不应超过构造函数中 flds 所含有的 字段个数
cond{const char*} 匹配条件,可以为: = 等于; >= 大于等于; > 大于; < 小于; <= 小于等于
nlimit{int} 结果集个数限制,0 表示不限制个数
noffset{int} 结果集开始位置(0表示从第一个结果开始)
返回
{const std::verctor<hsrow*>&} 返回结果集

◆ get() [2/2]

const std::vector<hsrow*>& acl::hsclient::get ( const char *  first_value,
  ... 
)

查询与所给字段值匹配的结果

参数
first_value{const char*} 为对应于构造函数中 flds 字段集中 的第一个字段的字段值
...{const char*} 参数列表,最后一个参数为 NULL 表示结束
返回
{const std::verctor<hsrow*>&} 返回结果集

◆ get_addr()

const char* acl::hsclient::get_addr ( ) const

获得连接地址

返回
{const char*} 永不为空

◆ get_error()

int acl::hsclient::get_error ( ) const

获得出错错误号

返回
{int}

◆ get_id()

int acl::hsclient::get_id ( ) const

获得当前 hsclient 对象所用的 id 号

返回
{int}

◆ get_last_serror()

const char* acl::hsclient::get_last_serror ( ) const

获得上次出错时的错误描述信息

返回
{const char*}

◆ get_serror()

const char* acl::hsclient::get_serror ( int  errnum) const

获得出错错误信息描述

参数
errnum{int} 由 get_error 获得的错误号
返回
{const char*}

◆ mod()

const std::vector<hsrow*> bool acl::hsclient::mod ( const char *  values[],
int  num,
const char *  to_values[],
int  to_num,
const char *  cond = "=",
int  nlimit = 0,
int  noffset = 0 
)

更新数据库表中匹配字段的数值

参数
values{const char*[]} 匹配字段值数组,字段值的加入顺序应与 open 函数中 flds 中各个字段的顺序相同
num{int} values 数组长度,该值不应超过构造函数中 flds 所含有的 字段个数
to_values{cosnt *[]} 匹配字段新值,字段值的顺序应与 open 方法中 的字段顺序相同
to_num{int} to_values 数组长度
cond{const char*} 匹配条件,可以为: = 等于; >= 大于等于; > 大于; < 小于; <= 小于等于
nlimit{int} 结果集个数限制,0 表示不限制个数
noffset{int} 结果集开始位置(0表示从第一个结果开始)
返回
{bool} 更新是否成功

◆ open_tbl()

bool acl::hsclient::open_tbl ( const char *  dbn,
const char *  tbl,
const char *  idx,
const char *  flds,
bool  auto_open = true 
)

打开数据库表

参数
dbn{const char*} 数据库名称
tbl{const char*} 数据库表名
idx{const char*} 索引字段名
flds{const char*} 要打开的数据字段名集合,格式为 由分隔符 ",; \t" 分隔的字段名称,如:user_id,user_name,user_mail
auto_open{bool} 当表未打开是否自动打开
返回
{bool} true 表示正常打开,否则表示打开表失败

该类的文档由以下文件生成: