以下代码在 MySQL 5.5 storage/example/ha_example.cc 中:
MYSQL_READ_ROW_START(table_share->db.str, table_share->table_name.str, TRUE);
rc= HA_ERR_END_OF_FILE;
MYSQL_READ_ROW_DONE(rc);
我在整个项目中搜索MYSQL_READ_ROW_START定义,在include/probes_mysql_nodtrace.h中找到:
#define MYSQL_READ_ROW_START(arg0, arg1, arg2)
#define MYSQL_READ_ROW_START_ENABLED() (0)
#define MYSQL_READ_ROW_DONE(arg0)
#define MYSQL_READ_ROW_DONE_ENABLED() (0)
这里只是一个空的宏定义。
我的问题是,为什么这个宏 MYSQL_READ_ROW_START 没有与任何函数关联,而是在上面的代码中用作函数?
谢谢。