当前使用版本(必填,否则不予处理)

3.5.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

IllegalSQLInnerInterceptor类中的validWhere(Expression expression, Table table, Table joinTable, Connection connection)方法获取到的leftExpression 中的列的字符串会包含符号,但是validUseIndex(Table table, String columnName, Connection connection)方法中,获取到的indexInfo.getColumnName()并不包含,这个是bug还是哪里使用有问题?判断的时候去除``这个符号再做判断会好一点

重现步骤(如果有就写完整)

创建索引并进行查询

报错信息

非法SQL,SQL未使用索引,table:XXX,columnName:xxx

Comment From: miemieYaho

简化版的复现sql列一个

Comment From: NMoMooMoMN

Mapper.xml里的,,table表里对guid和name创建了索引

Comment From: NMoMooMoMN

debug日志打印的sql是带有``这两个符号的

Comment From: nieqiurong

用 3.5.6-SNAPSHOT 试试