如何编译MySQL“单词”的完整列表

真的进入
MySQL并且我认为我掌握了它的一个方面就是收集完整的MySQL单词列表.这方面的一个例子可能是
Reserved Words列表,尽管它似乎不是一个完整的列表;例如:CONCAT,CRC32等

看起来很奇怪,我认为这样的列表可能存在,或者甚至可能存在一个产生它的查询,和/或从MySQL的源代码中提取它的方法.

最佳答案 这是一种非科学的方法,但我会做的是:

>从Native_func_registry func_array中提取所有字符串.查找sql​​ / item_create.cc,例如

http://bazaar.launchpad.net/~mysql/mysql-server/mysql-trunk/view/head:/sql/item_create.cc

这些应涵盖内置函数.

>从词法分析器中的’symbols’和’functions’中提取字符串:

http://bazaar.launchpad.net/~mysql/mysql-server/mysql-trunk/view/head:/sql/lex.h

>从线路中提取来自野牛输入http://bazaar.launchpad.net/~mysql/mysql-server/mysql-trunk/view/head:/sql/sql_yacc.yy的符号

%令牌SOMETOKEN

除非令牌有_SYM后缀(它们被sql / lex.h覆盖)

结合所有这些,结果集可能会接近:)

点赞