Closed
Description
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)
...