MySQL是怎么在源码层表达对象的-----Item对象及子对象解析(二)

来源:互联网 发布:授权书制作软件 编辑:程序博客网 时间:2024/05/29 01:51
 

二 事例

分析item_func.h文件(不限于这个文件,只是用以示例做说明)的内容, 可以掌握Item对象的基本功能.

1 定义了支持的函数类型

enum Functype

继承了Item对象的Item_func对象,支持的函数有哪些,可以在此处观察到.

所以要注意每个对象支持的具体内容,可以观察对象的定义中类似Functype之处.


2 是否可以被优化,以及哪些可以被优化

optimize_type


3 父类Item中定义了'enum_walk'枚举,规定了这个对象遍历的方式,有向前遍历(WALK_PREFIX)、向后遍历(WALK_POSTFIX)、嵌套遍历(WALK_SUBQUERY)


遍历方式很重要,不同对象,可能有不同的遍历方式,甚至需要递归遍历参数代表的对象.


4 其他的一些重要内容,可以参见各类Item_*.h文件

0 0
原创粉丝点击