Skip to content

Releases: hanchuanchuan/goInception

v1.3.0

12 Jun 13:29
1c797cb
Compare
Choose a tag to compare

重构错误级别自定义设置,自动生成所有的可自定义错误级别。
错误级别的配置项由原来的 61 项提升到 170+ 项。

该升级可能影响原有的审核错误级别, 在升级前请注意测试!!

Fix

  • 修复dml语句explain时未处理表名包含select的问题
  • 修复masking语法树功能未正确解析表别名的问题(#417)
  • 修复masking语法树解析index乱序的问题 (#426)
  • 修复masking语法树解析子查询表名错误的问题 (#429)
  • 修复insert的select子句可能无法正确解析的问题 (#437)
  • 修复当远端Host过长时可能导致无法写入备份表的问题 (#421)

New Features

  • 添加check_read_only参数以设置是否检查数据库只读状态 (#412)
  • 添加varchar长度审核,参数max_varchar_length (#377)
  • 添加参数disable_types可灵活配置不允许的数据类型(#400,#409)
  • 添加RENAME COLUMN TO语法支持 (#422)
  • 添加分区表与非分区表转换语法支持 (#434)
  • 添加表列数限制参数max_column_count (#443)

Update

  • 优化timestamp字段default null的审核逻辑 (#406)
  • 为备份表的opid_time字段添加默认索引(#414)
  • 添加FULLTEXT INDEX的WITH PARSER option语法支持
  • 优化MySQL8.0版本的新建库新建表审核逻辑 (#420)
  • 重构masking语法树解析功能 (#429)
  • 添加CREATE INDEX的预估受影响行数显示
  • 解决获取真实行数超时不会返回错误的问题 (#451,hhyo)

v1.2.5

31 Oct 09:20
Compare
Choose a tag to compare

Fix

  • 修复gh-ost的ghost_initially_drop_socket_file 参数不生效的问题 (#382)
  • 修复索引前缀中文英文不一致的问题 (#380)
  • 修复受影响行数可能溢出的问题 (#375)
  • 修复bit类型默认值设置为NULL时无法审核通过的问题 (#346)
  • 修复pt-osc连接非3306端口时执行失败的问题 (#335)
  • 修复tidb v4.0版本dml无法审核的bug
  • 修复dml回滚语句未忽略计算列的问题(#324)
  • 修复rename table语法一次修改多个表名时,有表名逻辑上不生效的问题 (#327)

New Features

  • 新增 check_identifier_lower 参数,用于打开表名、列名、索引名小写需求 (#389)
  • 添加masking功能-语法树解析功能升级,返回select涉及的对象(库.表.列) (#355)
  • 添加ghost_bin_dir参数设置来自切换gh-ost模式,独立gh-ost模块,采用binary方式调用以优化ddl高并发且kill gh-ost进程时可能出现的bug (#334)
  • 添加选项max_execution_time设置会话级DML语句的最大执行时间 (#319)
  • 添加enable_any_statement选项以支持所有语法均可执行 (#301)

Update

  • 优化alter table修改列子句的关键字审核逻辑 (#392)
  • 优化group by子句审核逻辑 (#385)
  • 添加datetime小数秒校验 (#369)
  • 添加视图对union的支持
  • 微调严格模式下的insert列值检查逻辑
  • 优化字符类型长度审核逻辑
  • 优化数据库连接超时时的处理(#306)
  • 完善字符集和排序规则审核逻辑,添加utf8mb4_0900_ai_ci排序规则支持

v1.2.4

19 Dec 11:15
Compare
Choose a tag to compare

Fix

  • 修复MariaDB可能出现dml未备份成功的问题
  • 修复update指定表别名时审核错误的问题 (#249)
  • 修复select列中子查询可能找不到父表列和having子句可能找不到列的问题 (#266)
  • 修复未按正确格式调用时误报error的问题
  • 修复inception set语法指定float类型参数会报错的问题 (#279)
  • 修复未正确解析备份语句时的状态标计 (#286)

New Features

  • 添加lock_wait_timeout,控制普通SQL 执行时的锁等待超时时间 (#224)
  • 增加 pt-osc 的 sleep 参数,以优化低配 db 执行 ddl 变更时的负载情况 (#260)
  • 添加视图支持 (#238,#262)
  • 添加参数ignore_osc_alter_stmt配置强制忽略osc检查的语法 (#258,#263)
  • 添加CREATE TABLE AS SELECT语法支持 (#246,#264)
  • 添加tidb列属性auto_random支持 (#270)
  • 增加 inc 执行时设置 sql_mode 选项 (#267)
  • insert时添加非法日期审核 (#277)

Update

  • 优化索引可见性审核对于多版本数据库的支持 (#247)
  • 优化备份功能的binlog解析 (#250)
  • 完善MySQL8.0关键字列表 (#210)
  • 优化默认数据库的配置,指定--db选项后可省略use操作
  • 优化osc进程处理逻辑,添加并发锁处理
  • 完善alter table表分区语法 (#281)
  • 优化当开启ssl时的备份功能处理 (#287)

v1.2.3

22 May 11:46
6896aa4
Compare
Choose a tag to compare

Fix

  • fix: 修复pt-osc在获取表锁卡住时无法kill的问题 (#213, #222)

New Features

  • 添加参数ignore_sighup,默认忽略终端连接断开信号 (#195)
  • 添加osc_lock_wait_timeout参数, 控制pt-osc等待meta lock时间,默认60s (#214, #215)
  • 支持多个自定义索引前缀 (#204)

Update

  • 完善MySQL5.7关键字列表 (#210)

v1.2.2

04 Apr 01:38
450a18f
Compare
Choose a tag to compare

Fix

  • 修复max_char_length未指定时误审核的问题
  • 修复索引列长度限制不准确的问题 (#176)
  • 修复inception set命令返回错误的问题,修复lang设置可能不生效的问题
  • 修复在开启事务时,DDL和DML混合执行时可能出错的问题 (#182)

New Features

  • 添加会话级变量设置 (#157, #166, #167)
  • 添加osc参数max-flow-ctl,以便PXC集群启用pt-osc功能 (#170, #172)
  • 添加审核项columns_must_have_index, 指定列必须添加索引 (#174, #175)

Update

  • 优化列的字符集和排序规则审核逻辑 (#173)
  • 添加where条件中的值表达式审核,避免无效表达式误更新 (#178)
  • 优化鉴权失败时打印部分须特权执行的内部SQL,以便问题快速定位

v1.2.1

07 Mar 09:20
59e822c
Compare
Choose a tag to compare

Fix

  • 优化使用pt工具时ALTER语句前后的注释可能导致其解析失败的问题

New Features

  • 系统变量中添加版本号信息 show variables like 'version' (#164)

Update

  • 在开启获取真实受影响行数参数时,忽略sql指纹功能(准确性优先)
  • 自动移除每行SQL行首行尾的特殊空格(ASCII码160)
  • 优化bit类型默认值审核,现已支持如b'1'的审核
  • 优化未正确配置数据源时的错误提示,使之更友好
  • 缓存建表时唯一键的设置
  • 完善数值类型的显示宽度审核 (#162)

v1.2.0

20 Jan 03:04
8ea666e
Compare
Choose a tag to compare

Fix

  • 修复change column修改列名并立即引用旧列名时未正确审核的bug (#150)
  • 修复使用year类型错误长度时未正确审核的问题
  • 修复join语法ON子句审核逻辑不正确的问题

New Features

  • 表名和索引名前缀自定义 (#149)
    • 表名前缀 table_prefix, 默认为空,即不限制
    • 索引前缀 index_prefix ,默认为idx_,和之前版本保持一致,可自定义
    • 唯一索引前缀 uniq_index_prefix ,默认为uniq_,和之前版本保持一致,可自定义

Update

  • 优化使用pt工具时的alter子句解析
  • 优化gh-ost和备份功能的日志输出,调整为统一格式
  • 优化默认数据库的参数设置,由默认mysql库调整为默认为空,以避免特殊情况下影响主从同步

v1.1.6

02 Jan 13:58
Compare
Choose a tag to compare

Fix

  • 修复timestamp类型开关审核不正确的问题
  • 修复实例未开启autocommit时DML操作未正确提交的bug (#146)

New Features

  • 添加用户鉴权模块,实现用户管理,安全连接功能 (#132)
  • 添加事务支持(批量执行) (#135)

Update

  • 优化列类型变更审核 (#121)
  • 实现update set多表时的回滚支持 (#112,#136)
  • 优化区分大小写时的审核规则 (#123)
  • 优化使用pt-osc工具时的alter子句拆分逻辑 (#142)

v1.1.5

09 Dec 12:54
Compare
Choose a tag to compare

Update

  • 优化对象名大小写审核逻辑
  • 优化索引长度审核准确性
  • 支持update多表更新语法(暂不支持多表回滚) (#112)
  • 优化sql语法解析失败时的错误信息

v1.1.4

21 Nov 13:34
Compare
Choose a tag to compare

Fix

  • 修复insert时的非空列审核逻辑(忽略自增列) (#113)
  • 修复alter table rename语句的回滚SQL生成错误问题
  • 修复在开启real_row_count选项时,DML转select count时未处理limit的问题 (#119)

New Features

  • 添加新参数 hex_blob ,以支持回滚时解析二进制类型 (#118)