TDDL5中parser层主要作用是对SQL做词法/语法分析,将sql解析成SQLStatement对象实例,以java对象的方式来表示一条SQL。
parser层的入口是SQLParserDelegate.parse(String sql)方法。
parser层核心类的关系如下图:
SQLStatement实现类包含了常见的SQL语句类型:
DAL | DDL | DML |
---|---|---|
Show* | DDLAlterTableStatement DDLCreateIndexStatement DDLCreateTableStatement DDLDropIndexStatement DDLDropTableStatement DDLRenameTableStatement DDLTruncateStatement DescTableStatement | DMLDeleteStatement DMLInsertReplaceStatement DMLInsertStatement DMLLoadStatement DMLQueryStatement DMLReplaceStatement DMLSelectStatement DMLUpdateStatement |
SQLStatement的数据访问通过SQLASTVisitor接口来实现。