-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Labels
Description
While a HISTOGRAM shouldn't be possible to be used inside another HISTOGRAM, the following test throws an exception that shouldn't be thrown at that path in code, but sooner than that. And it should be a different exception.
sql> select histogram(histogram("@timestamp", interval 1 minute), interval 1 minute) as h from test group by h;
Server error [Server encountered an error [Grouping functions cannot be scripted]. [SqlIllegalArgumentException[Grouping functions cannot be scripted]
at org.elasticsearch.xpack.sql.expression.function.grouping.GroupingFunction.asScript(GroupingFunction.java:68)
at org.elasticsearch.xpack.sql.planner.QueryTranslator.groupBy(QueryTranslator.java:299)
at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:215)
at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:205)
at org.elasticsearch.xpack.sql.tree.Node.lambda$transformUp$11(Node.java:196)
at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:190)
at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:196)
at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:582)
at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:578)
at org.elasticsearch.xpack.sql.rule.RuleExecutor$Transformation.<init>(RuleExecutor.java:82)
at org.elasticsearch.xpack.sql.rule.RuleExecutor.executeWithInfo(RuleExecutor.java:158)
at org.elasticsearch.xpack.sql.rule.RuleExecutor.execute(RuleExecutor.java:130)
at org.elasticsearch.xpack.sql.planner.QueryFolder.fold(QueryFolder.java:86)
at org.elasticsearch.xpack.sql.planner.Planner.foldPlan(Planner.java:38)
at org.elasticsearch.xpack.sql.planner.Planner.plan(Planner.java:28)
at org.elasticsearch.xpack.sql.session.SqlSession.lambda$physicalPlan$4(SqlSession.java:156)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:61)
at org.elasticsearch.xpack.sql.session.SqlSession.lambda$optimizedPlan$3(SqlSession.java:152)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:61)