[alibaba/druid]数据源为Polardb时执行polardb 的 ai语法错误

2025-11-05 397 views
1

数据源为Polardb时执行 /*polar4ai*/xxxxx 时 SQLStatementParser 类中的 lexer.token 会被解析成 IDENTIFIER,造成抛出 Cause: java.sql.SQLException: sql injection violation, dbType mysql, , druid-version 1.2.4, syntax error: syntax error, error in :'4ai/xxxx;, pos 95, line 2, column 42, token IDENTIFIER xxxxxx : /polar4ai/xxxxx 异常,需要将 sql 语句改为 SET @xxx = /polar4ai*/xxxx 来规避这个问题,请 druid 团队修复这个bug来支持 polardb 的 ai 能力

回答

6

发个完整的可以重现bug的sql语句样本出来,就这样不方便定位问题, 正常来讲 注释里的信息应该是不会命中关键字识别。

3

发个完整的可以重现bug的sql语句样本出来,就这样不方便定位问题, 正常来讲 注释里的信息应该是不会命中关键字识别。

可参考以下sql语句: /*polar4ai*/北京视野智慧数字科技有限公司的法人是谁?

3

/polar4ai/北京视野智慧数字科技有限公司的法人是谁?

你这个不是完整的sql语句啊

9

/polar4ai/北京视野智慧数字科技有限公司的法人是谁?

你这个不是完整的sql语句啊

这个是polardb for ai 的语法