Clone
7
Druid Change Log
liaozan edited this page 2017-04-19 22:47:51 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1.0.9

BugFix

  • 修复mysql #注释解析错误;
  • 恢复1.0.8版本中被修改的wallconfig配置项的拼写错误,保持与之前版本一致。

Improvement

  • 连接池支持在不同的线程申请连接和关闭连接。
  • sqlwall union误报改进:
    • union查询字段为列名的,不拦截;
    • union左查询没有where语句,并且左查询tableSource不是子查询的,不拦截;
  • sqlwall永真误报改进:
    • sql语句中紧接在where之后的永真,不拦截;
  • sqlwall mysql hints误报、漏报改进:
    • 出现在首句的mysql hint 语句或者sql首部连续的hint,不拦截;
    • mysql hints检测基于白名单,只允许常用的hint和完整的set语句;
  • sqlwall规则支持配置是否允许start transaction语句;
  • sqlwall规则支持配置是否允许lock tables语句;
  • sqlwall对于insert/repalce into长sql解析优化

1.0.8

BudgFix

  • 修复create table 语句中字段定义unsigned zerofill解析错误;#598
  • 修复外键约束解析错误;#598
  • 修复oracle hint语法解析错误;#585
  • 修复mysql hint注释解析错误;#598
  • 修复select into解析错误。#582
  • 个别拼写错误修正。#609

Improvement

  • sqlwall漏报改进: 修复操作符||导致的永真漏报:如select * from t where id=1 || 1=1; #613

1.0.7

BugFix

  • 修复order by view解析错误;#589
  • 支持oracle connect_by_root语法;#587
  • 修复sql关键字user做别名时的语法解析错误;#585
  • JdbcUtils支持通过“jdbc:sqlserver”识别driver;#579
  • 修复insert语句values表达式解析错误;#569
  • 修复create table t as select …语法解析错误问题;#567
  • 修复个别数值运算表达式解析抛NPE的问题;#569
  • 个别拼写错误修正。#576

Improvement

  • sqlwall误报改进:#583
    • 类似行间注释、like语句等warning级别的sql,不拦截。
    • 残缺sql导致的语法解析错误不默认拦截。
  • 支持获取连接timeout时重试;#580
  • 支持异步填充连接池; #572
  • 支持连接池无可用连接时,直接返回,不等待;#572
  • 完善sql解析出错信息:解析出错信息输出sql片段。#588

1.0.6

BugFix

  • 修复insert语句values中子查询丢失括号的问题;
  • 修复mysql like(如LIKE "%"'温'"%"")解析错误;#541
  • 修复oracle 含if 表达式 的sql format错误;#519
  • 修复DruidDataSource.logStats方法抛NPE异常的问题;#542
  • 修复配置文件中filter多一个空格就会导致加载配置失败的问题;#544
  • 修复create table语法解析的bug:一是字段无法设置COLLATE,另一个是不支持table option:[DEFAULT] COLLATE [=] collation_name中的等于号;#535
  • 修复个别数值运算表达式解析或计算结果错误的问题。
  • 修复oracle listagg函数解析错误。#534
  • 修复语法错误的sql语句只解析一部分,返回不完成整的statement对象,不抛异常的问题。#521
  • 修复个别SQL参数化失败的问题:
    • 十六进制值不能参数化的问题;
    • 多条sql语句只参数化首句的问题;
    • 带注释sql参数化失败的问题;
    • 数值表达式(类似0 = 650954981082695)参数失败的问题;
    • create view语句参数化不完整的问题;
    • 类似WHERE nodeid = _gbk '619'参数化失败的问题;
    • SQL Server参数化sql时有名字的变量导致参数化失败的问题;
  • 修复union子查询解析错误。#552

Improvement

  • 添加对log4jdbc支持,方便调试打印mybatis动态SQL。#557
  • 添加logDiffrentThread开关,修复tddl反馈的WARN级别的日志输出量过大的问题;#518

1.0.5

BugFix

  • 解决浮点数解析慢,cpu飙高问题
  • 修复SELECT * FROM t1 STRAIGHT_JOIN t2 ON t2.a=t1.a中 STRAIGHT_JOIN解析错误

Improvement

  • 误报:修改规则,解决用户反馈误报问题
    • 永真误报,where后第一个子条件永真可以不报;
    • 解决if表达式导致的 part alway false 误报;
    • comment拦截与语法错误拦截分开,comment拦截规则改进,只对末尾注释或者出现sql关键词的行内注释做拦截。
  • 最慢查询发生时间采用24小时制,区分上午和下午。
  • 个别拼写错误修改。

1.0.4

BugFix

  • 修复 alter table t comment 'xx' 解析错误
  • 修复 alter table t1 rename to/as t2 解析错误

Improvement

  • 误报:修改规则,解决用户反馈误报问题
    • empty select has condition 规则去掉;
    • union表达式中,如果union最左的是没有from的不拦截;
    • 去掉delete、update with no condition的规则,对这种非规范操作不拦截;
    • 允许rename table操作;
  • 对SQL语法解析错误,Violation 信息显式给出"syntax error"提示,同时加上异常信息