当前使用版本(必填,否则不予处理)
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 试试