次のコードは、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 はどの関数にも関連付けられていませんが、上記のコードで関数として使用されているのはなぜですか?
ありがとう。