在mycat执行一个sql,报错java.lang.IllegalArgumentException: all columns in group by clause should be in the selected column list.!`logis_id`。通过字面意思看,可能以为是group by分组字段没有出现在select查询字段中,可是我的sql压根没有group by。通过跟踪源码,发现以下代码:
原来是我的sql查询字段中出现了 ` 这个符号。例如 select `logis_id`,在toIndexMap中会把`logis_id`当做key,因此取出curColMeta就为null,所以报错。把 ` 去掉就OK了,这是mycat的一个bug,无法识别sql中的``符号