Skip to content

Latest commit

 

History

History
161 lines (135 loc) · 5.53 KB

CHANGES.md

File metadata and controls

161 lines (135 loc) · 5.53 KB

CHANGELOG

2019-08

  • Fix RuleImplicitConversion(ARG.003) with INT and DECIMAL
  • Fix RuleImplicitConversion duplicate suggest when use IN () operator

2019-07

  • Fix #213 CLA.001 NO WHERE CONDITION
  • Fix PRIMARY key append to multi column index
  • fingerprint verbose mode add id

2019-05

  • Fix issue #208 14c19f4 regression bug
  • Add max_execution_time hint for explain query
  • Fix #205 create index rewrite error

2019-04

  • Add test case for STA.004
  • RuleSpaceWithQuote add list range check
  • Fix #199 -report-type=json add score
  • Fix #98 JSON result format
  • Fix index col compare case sensitive bug
  • Fix ARG.008 cases: col = 1 OR col IS NULL
  • Fix tokenize bug with multi type of quote

2019-02

  • add go.mod for go1.11
  • add new -report-type query-type
  • add new heuristic rule SEC.004
  • fix #196 wrong ip/password will cause soar -check-config hangup

2019-01

  • add mysql environment verbose info
  • add JSONFind function, which support JSON iterate
  • add new test database world_x
  • SplitStatement support optimizer hint /*+xxx */
  • include bats bash auto test framework
  • fix #173 with JSONFind WHERE col = col = '' and col1 = 'xx'
  • fix #184 table status field datatype overflow
  • fix explain result with multi rows error
  • fix #178 JSON datatype only support utf8mb4

2018-12

  • replace mysql database driver mymysql with go-sql-driver
  • add new -report-type [ast-json, tiast-json]
  • command line dsn args support '@', '/', ':' in password
  • add new heuristic rule RES.009, "SELECT * FROM tbl WHERE col = col = 'abc'"
  • add new heuristic rule RuleColumnNotAllowType COL.018
  • add string escape function for security
  • fix #122 single table select * don't auto-complete table name
  • fix #171 support socket access type
  • fix #58 sampling not deal with NULL able string
  • fix #172 compatible with mysql 5.1, which explain has no Index_Comment column
  • fix #163 column.Tp may be nil, which may raise panic
  • fix #151 bit type not config as int, when two columns compare will give ARG.003 suggestion.

2018-11

  • add all third-party lib into vendor
  • support -report-type chardet
  • add more heuristic rules: TBL.008, KEY.010, ARG.012, KWR.004
  • add -cleanup-test-database command-line arg
  • add -check-config parameter
  • fix #146 pretty cause syntax error
  • fix #140 COL.012, COL.015 NULL type about TEXT/BLOB
  • fix #141 empty output when query execute failed on mysql
  • fix #89 index advisor give wrong database name, optimizer_xx
  • fix #121 RemoveSQLComment trim space
  • fix #120 trimspace before check single line comment
  • fix mac os stdout print buffer truncate
  • fix -config arg load file error
  • fix #116 SplitStatement check if single comment line is in multi-line sql.
  • fix #112 multi-line comment will cause line counter error, when -report-type=lint
  • fix #110 remove bom before auditing
  • fix #104 case insensitive regex @ CLA.009
  • fix #87 RuleImplicitConversion value type mismatch check bug
  • fix #38 always true where condition check
  • abandon stdin terminal interactive mod, which may seems like hangup

2018-10

  • Fix SplitStatement multistatement eof bug #66
  • Fix pretty func hangup issue #47
  • Fix some foolish code spell error
  • Use travis for CI
  • Fix Go 1.8 default GOPATH compatible issue BUG #5
  • 2018-10-20 开源先锋日(OSCAR)对外正式开源发布代码

2018-09

  • 修复多个启发式建议不准确BUG,优化部分建议文案使得建议更清晰
  • 基于 TiDB Parser 完善多个 DDL 类型语句的建议
  • 新增lint report-type类型,支持Vim Plugin优化建议输出
  • 更新整理项目文档,开源准备
  • 2018-09-21 Gdevops SOAR首次对外进行技术分享宣传

2018-08

  • 利用 docker 临时容器进行 daily 测试
  • 添加main_test全功能回归测试
  • 修复在测试中发现的问题
  • mymysql 合并 MySQL8.0 相关PR,修改vendor依赖
  • 改善HeuristicRule中的文案
  • 持续集成Vitess Parser的改进
  • NewQuery4Audit 结构体中引入 TiDB Parser
  • 通过TiAST完成大量与 DDL 相关的TODO
  • 修改heuristic rules检查的返回值,提升拓展性
  • 建议中引入Position,用于表示建议产生于SQL的位置
  • 新增多个HeuristicRule
  • Makefile中添加依赖检查,优化Makefile中逻辑,添加新功能
  • 优化gometalinter性能,引入新的代码质量检测工具,提升代码质量
  • 引入 retool 用于管理依赖的工具
  • 优化 doc 文档

2018-07

  • 补充文档,添加项目LOGO
  • 改善代码质量提升测试覆盖度
  • mymysql升级,支持MySQL 8.0
  • 提供remove-comment小工具
  • 提供索引重复检查小工具
  • HeuristicRule 新增 RuleSpaceAfterDot
  • 支持字符集和Collation不相同时的隐式数据类型转换的检查

2018-06

  • 支持更多的SQL Rewrite规则
  • 添加SQL执行超时限制
  • 索引优化建议支持对约束的检查
  • 修复数据采样中 NULL 值处理不正确的问题
  • Explain 支持 last_query_cost

2018-05

  • 添加数据采样功能
  • 添加语句执行安全检查
  • 支持DDL语法检查
  • 支持DDL在测试环境的执行
  • 支持隐式数据类型转换检查
  • 支持索引去重
  • 索引优化建议支持前缀索引
  • 支持SQL Pretty输出

2018-04

  • 支持语法检查
  • 支持测试环境
  • 支持MySQL原数据的获取
  • 支持基于数据库环境信息给予索引优化建议
  • 支持不依赖数据库原信息的简单索引优化建议
  • 添加日志模块
  • 引入配置文件

2018-03

  • 基本架构设计
  • 添加大量底层函数用于处理AST
  • 添加Insert、Delete、Update 转写成 Select 的基本函数
  • 支持MySQL Explain信息输出