morningman opened a new issue #363: Avg function on varchar column cause exception URL: https://github.com/apache/incubator-doris/issues/363 **Describe the bug** avg on varchar column throw exception: ``` java.lang.IllegalStateException: Failed analysis after expr substitution. at com.baidu.palo.analysis.Expr.substituteList(Expr.java:640) ~[palo-fe.jar:?] at com.baidu.palo.analysis.ExprSubstitutionMap.compose(ExprSubstitutionMap.java:103) ~[palo-fe.jar:?] at com.baidu.palo.analysis.SelectStmt.analyzeAggregation(SelectStmt.java:853) ~[palo-fe.jar:?] at com.baidu.palo.analysis.SelectStmt.analyze(SelectStmt.java:348) ~[palo-fe.jar:?] at com.baidu.palo.qe.StmtExecutor.analyze(StmtExecutor.java:395) [palo-fe.jar:?] at com.baidu.palo.qe.StmtExecutor.execute(StmtExecutor.java:200) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:159) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.dispatch(ConnectProcessor.java:249) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.processOnce(ConnectProcessor.java:380) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.loop(ConnectProcessor.java:390) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectScheduler$LoopHandler.run(ConnectScheduler.java:170) [palo-fe.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] Caused by: com.baidu.palo.common.AnalysisException: SUM requires a numeric parameter: sum(`k4`) at com.baidu.palo.analysis.FunctionCallExpr.analyzeBuiltinAggFunction(FunctionCallExpr.java:358) ~[palo-fe.jar:?] at com.baidu.palo.analysis.FunctionCallExpr.analyzeImpl(FunctionCallExpr.java:466) ~[palo-fe.jar:?] at com.baidu.palo.analysis.Expr.analyze(Expr.java:354) ~[palo-fe.jar:?] at com.baidu.palo.analysis.Expr.analyze(Expr.java:348) ~[palo-fe.jar:?] at com.baidu.palo.analysis.Expr.trySubstitute(Expr.java:599) ~[palo-fe.jar:?] at com.baidu.palo.analysis.Expr.trySubstituteList(Expr.java:629) ~[palo-fe.jar:?] at com.baidu.palo.analysis.Expr.substituteList(Expr.java:638) ~[palo-fe.jar:?] ... 15 more 2018-11-28 17:23:36,909 WARN 216 [StmtExecutor.execute():279] execute Exception. com.baidu.palo.common.AnalysisException: Unexpected exception: Failed analysis after expr substitution. at com.baidu.palo.qe.StmtExecutor.analyze(StmtExecutor.java:469) ~[palo-fe.jar:?] at com.baidu.palo.qe.StmtExecutor.execute(StmtExecutor.java:200) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:159) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.dispatch(ConnectProcessor.java:249) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.processOnce(ConnectProcessor.java:380) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectProcessor.loop(ConnectProcessor.java:390) [palo-fe.jar:?] at com.baidu.palo.qe.ConnectScheduler$LoopHandler.run(ConnectScheduler.java:170) [palo-fe.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] ``` **To Reproduce** ``` CREATE EXTERNAL TABLE `table_mysql` ( `k1` date COMMENT "", `k2` int(11) COMMENT "", `k3` smallint(6) COMMENT "", `k4` varchar(2048) COMMENT "", `k5` datetime COMMENT "" ) ENGINE=MYSQL PROPERTIES ( "host" = "127.0.0.1", "port" = "8239", "user" = "mysql_user", "password" = "", "database" = "mysql_db_test", "table" = "mysql_table_test" ); select avg(k4) from table_mysql ``` **Expected behavior** avg is not supported on varchar column. but we should make our mistake info more friendly.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
