From fd488de52c99d75c973c256ff5fc417f9afe48a2 Mon Sep 17 00:00:00 2001 From: wenshao Date: Tue, 5 Mar 2013 22:24:55 -0800 Subject: [PATCH] Updated SQL Parser (markdown) --- SQL-Parser.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SQL-Parser.md b/SQL-Parser.md index 79ccd6c..9d69273 100644 --- a/SQL-Parser.md +++ b/SQL-Parser.md @@ -1,4 +1,4 @@ -SQL Parser是Druid的一个重要组成部分,Druid内置使用SQL Parser来实现防御SQL注入([WallFilter](https://github.com/AlibabaTech/druid/wiki/%E7%AE%80%E4%BB%8B_WallFilter))、合并统计没有参数化的SQL([StatFilter](https://github.com/AlibabaTech/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter)的mergeSql)、[SQL格式化](https://github.com/AlibabaTech/druid/wiki/SQL%E6%A0%BC%E5%BC%8F%E5%8C%96)、分库分表。 +SQL Parser是Druid的一个重要组成部分,Druid内置使用SQL Parser来实现防御SQL注入([WallFilter](https://github.com/alibaba/druid/wiki/%E7%AE%80%E4%BB%8B_WallFilter))、合并统计没有参数化的SQL([StatFilter](https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter)的mergeSql)、[SQL格式化](https://github.com/alibaba/druid/wiki/SQL%E6%A0%BC%E5%BC%8F%E5%8C%96)、分库分表。 # 各种语法支持 Druid的sql parser是目前支持各种数据语法最完备的SQL Parser。目前对各种数据库的支持如下: @@ -19,7 +19,7 @@ Druid的SQL Parser是手工编写,性能是antlr、javacc之类工具生成的 这样的SQL,druid parser处理大约是5us,也就是每秒中可以处理20万次。 -* 测试代码看这里: https://github.com/AlibabaTech/druid/blob/master/src/test/java/com/alibaba/druid/benckmark/sql/MySqlPerfTest.java +* 测试代码看这里: https://github.com/alibaba/druid/blob/master/src/test/java/com/alibaba/druid/benckmark/sql/MySqlPerfTest.java # Druid SQL Parser的代码结构 Druid SQL Parser分三个模块: @@ -40,7 +40,7 @@ Visitor是遍历AST的手段,是处理AST最方便的模式,Visitor是一个 * OutputVisitor用来把AST输出为字符串 * WallVisitor来分析SQL语意来防御SQL注入攻击 * ParameterizedOutputVisitor用来合并未参数化的SQL进行统计 -* [EvalVisitor](https://github.com/AlibabaTech/druid/wiki/EvalVisitor) 用来对SQL表达式求值 +* [EvalVisitor](https://github.com/alibaba/druid/wiki/EvalVisitor) 用来对SQL表达式求值 * ExportParameterVisitor用来提取SQL中的变量参数 * SchemaStatVisitor用来统计SQL中使用的表、字段、过滤条件、排序表达式、分组表达式