Skip to content

SQL: HAVING throws an exception when used directly on a group column #31726

Closed
@costin

Description

@costin

When HAVING is used directly on a column (not on an aggregate over a column) it fails with a NPE since the code expects a different path.

SELECT languages AS l, COUNT(*) AS c FROM emp GROUP BY l HAVING l > 2

throws

java.sql.SQLException: Server encountered an error [null]. [java.lang.NullPointerException
	at org.elasticsearch.xpack.sql.expression.function.scalar.script.ScriptTemplate.aggPaths(ScriptTemplate.java:53)
	at org.elasticsearch.xpack.sql.querydsl.agg.AggFilter.<init>(AggFilter.java:28)
	at org.elasticsearch.xpack.sql.planner.QueryTranslator$BinaryComparisons.asQuery(QueryTranslator.java:559)
	at org.elasticsearch.xpack.sql.planner.QueryTranslator$BinaryComparisons.asQuery(QueryTranslator.java:504)
	at org.elasticsearch.xpack.sql.planner.QueryTranslator$ExpressionTranslator.translate(QueryTranslator.java:844)
	at org.elasticsearch.xpack.sql.planner.QueryTranslator.toQuery(QueryTranslator.java:157)
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldFilter.rule(QueryFolder.java:161)
	at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldFilter.rule(QueryFolder.java:153)
...

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