opensips-sql查询

opensips数据库查询使用方式:

static db_func_t db_funcs;
static db_con_t *db_con;

 

初始化连接数据库后,使用db_funcs.query()函数查询

该函数最终调用db接口的db_do_query()函数执行查询

 

opensips的大部分模块中的查询,都不用where条件,只有很少几个模块里有使用where查询。

opensips使用db_print_where()函数处理where条件,该函数在db/db_ut.c中

db_do_query函数参数:

db_do_query(

const db_con_t* _h,    //数据库连接句柄
const db_key_t* _k,    //where查询条件的列
const db_op_t* _op,   //查询条件使用的方式,=、> 、< 、  >= 、<=代码中只给出了默认是0,是=的意思,其他的没找到
const db_val_t* _v,     //where查询条件的值,=号后面的部分
const db_key_t* _c,    //查询哪些列
const int _n,                //有几个查询条件
const int _nc,
const db_key_t _o,

db_res_t** _r, int (*val2str) (const db_con_t*,
    const db_val_t*, char*, int* _len), int (*submit_query)(const db_con_t*,
    const str*), int (*store_result)(const db_con_t* _h, db_res_t** _r))

你可能感兴趣的:(opensips)