MySQL:如何编写Information Schema Plugin(6)
来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:45 点击:次
其中my_declimal类型或者MYSQL_TIME等MySQL代码内特有的类型,我们都可以通过引入相应的代码来构建结构体。
注意当列被声明为MY_I_S_MAYBE_NULL时,需要做一些额外的处理,见之前关于st_field_info结构体的介绍。
当store数据到Field结构体后,我们还需要将其存储到表中,API函数如下:
boolschema_table_store_record(THD *thd, TABLE *table);
其中thd为当前线程,table为tables->table
为了包含这两个函数,我们需要引入如下头文件:
#include <mysql_priv.h>
4)使用COND进行优化
从fill_table的函数原型中,我们可以看到结构体COND,这在MySQL层用作对条件进行记录过滤,实际上在plugin里,我们可以直接进行过滤,只返回到MYSQL层需要的数据。如下图所示:
如果你接触过源代码,会发现COND是一个相当复杂的类型,如果由我们自己编写代码来操作显然要耗费大量的精力,我们可以依葫芦画瓢,找到源代码里是如何使用该结构体的,构造相应的参数,就可以直接调用了,这也是Plugin的诱人之处,我们可以根据需求引用已有的代码。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>