Skip to content

SQL: Cannot GROUP BY when constant function is used #36074

@matriv

Description

@matriv
SELECT PI() * emp_no
FROM test_emp
GROUP BY 1;

throws:

java.sql.SQLException: Server sent bad type [folding_exception]. Original type was [line 1:13: Cannot find grouping for 'PI * (emp_no)']. [FoldingException[line 1:13: Cannot find grouping for 'PI * (emp_no)']
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:311)
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:196)
	at org.elasticsearch.xpack.sql.tree.Node.lambda$transformUp$11(Node.java:188)
	at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:182)
	at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:188)
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:554)
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:550)
	at org.elasticsearch.xpack.sql.rule.RuleExecutor$Transformation.<init>(RuleExecutor.java:82)
	at org.elasticsearch.xpack.sql.rule.RuleExecutor.executeWithInfo(RuleExecutor.java:155)
	at org.elasticsearch.xpack.sql.rule.RuleExecutor.execute(RuleExecutor.java:130)
	at org.elasticsearch.xpack.sql.planner.QueryFolder.fold(QueryFolder.java:82)
	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:153)
	at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)
	at org.elasticsearch.xpack.sql.session.SqlSession.lambda$optimizedPlan$3(SqlSession.java:149)
	at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)
	at org.elasticsearch.xpack.sql.session.SqlSession.lambda$preAnalyze$2(SqlSession.java:137)
	at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)
	at org.elasticsearch.xpack.sql.analysis.index.IndexResolver.lambda$resolveAsMergedMapping$3(IndexResolver.java:246)
	at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)
	at org.elasticsearch.action.support.ThreadedActionListener$1.doRun(ThreadedActionListener.java:97)
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:759)
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions