Skip to content

NPE for select syntax whose expr contains "_charset_name ‘string’ " with from clause #262

@FlyingMao

Description

@FlyingMao

steps:

mysql> select *,_utf8'中' from test_shard;
ERROR 1064 (HY000): NullPointerException

log:

2017-09-11 17:55:39.681  WARN [BusinessExecutor1] (com.actiontech.dble.server.ServerConnection.executeException(ServerConnection.java:303)) - ServerConnection [id=565, schema=mytest, host=127.0.0.1, user=test,txIsolation=3, autocommit=true, schema=mytest]select *,_utf8'中' from test_shard err:java.lang.NullPointerException
java.lang.NullPointerException: null
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.contactSumFunc(DruidSelectParser.java:259) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.isSumFunc(DruidSelectParser.java:255) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.parseAggExprCommon(DruidSelectParser.java:211) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.parseAggGroupCommon(DruidSelectParser.java:301) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.parseOrderAggGroupMysql(DruidSelectParser.java:172) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DruidSelectParser.visitorParse(DruidSelectParser.java:108) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.parser.druid.impl.DefaultDruidParser.parser(DefaultDruidParser.java:42) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.util.RouterUtil.routeFromParser(RouterUtil.java:112) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.impl.DefaultRouteStrategy.routeNormalSqlWithAST(DefaultRouteStrategy.java:50) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.impl.AbstractRouteStrategy.route(AbstractRouteStrategy.java:40) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.route.RouteService.route(RouteService.java:123) ~[dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.server.ServerConnection.routeEndExecuteSQL(ServerConnection.java:250) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.server.ServerConnection.execute(ServerConnection.java:194) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.server.handler.SelectHandler.handle(SelectHandler.java:114) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.server.ServerQueryHandler.query(ServerQueryHandler.java:80) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.net.FrontendConnection.query(FrontendConnection.java:317) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.net.FrontendConnection.query(FrontendConnection.java:335) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.net.handler.FrontendCommandHandler.handleData(FrontendCommandHandler.java:83) [dble-2.17.08.0-dev.jar:?]
	at com.actiontech.dble.net.handler.FrontendCommandHandler$1.run(FrontendCommandHandler.java:135) [dble-2.17.08.0-dev.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [?:1.7.0_05]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [?:1.7.0_05]
	at java.lang.Thread.run(Thread.java:722) [?:1.7.0_05]

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions