App4u
为你定制应用
时光轴
手机应用
电脑程序
相册
资讯
Tags
Login
RSS
一直以来,想构建一个可以解析MySQL Statement的应用. 尝试了Druid*.jar各种版本,常常碰到诸如token解析异常;也尝试了jsqlparser*.jar,对于诸如非标准SQL也是无能为力,i.e.碰到MySQL内置function cast都解析不了,诸如"latin1"等token也不能识别; 最后,直到看到 [Tidb Parser][1],终于彻底解决问题。从SQL中解析出Table,function十分easy....`func (v *tableX) Enter(in ast.Node) (ast.Node, bool) { if name, ok := in.(*ast.TableName); ok { if len(name.Schema.O) > 0 { v.tableNames = append(v.tableNames, name.Schema.O+"."+name.Name.O) } if len(name.Schema.O) == 0 { v.tableNames = append(v.tableNames, db+"."+name.Name.O) } } return in, false }` [1]: https://github.com/pingcap/parser
Tidb Parser
Tidb Parser,MySQL
SQL
Comments
Reply
Comment
Preview
Submit