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"提示,同时加上异常信息