Skip to content

带有注释信息的MySQL审核报错 #2962

@iwanghc

Description

@iwanghc

版本信息(Version)

4.2503-pre1

问题描述(Describe)

当审核的sql最后一行是注释或以注释结尾时,出现报错
期望解决bug的同时能够优化输出的日志,补充在解析哪行或者那条sql时出现的报错。

截图或日志(Log)

Image
Image

如何复现(To Reproduce)

目前已知的注释符:

  • /* xxx */
  • -- xxx
  • # xxx

审核任意其中一条sql:

SELECT * FROM t11;/* xxx */
SELECT * FROM t11;-- xxx
SELECT * FROM t11; # xxx

问题原因

mysql按分号切分sql时,将文本最后一条注释作为sql解析,在获取指纹时发生报错

解决方案

切分sql后判断元素是否为注释,如果不是注释则保留原sql,如果是注释则跳过该元素

变更影响面

受影响的模块或功能

mysql SQL审核

外部引用的潜在问题或风险

版本兼容性

兼容

测试建议

测试多种情况带有注释sql的审核

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions