Skip to content

ESQL: NPE when converting NULL in IN clause #119950

@bpintea

Description

@bpintea

Description

A corner case.

This works:

ROW x = NULL | EVAL x::INT 

Also this:

FROM employees | WHERE emp_no IN (10001, NULL) 

But this:

FROM employees | WHERE emp_no IN (10001, NULL::INT) 

fails with a query_shard_exception NPE:

Caused by: java.lang.NullPointerException: Cannot invoke \"Object.toString()\" because \"value\" is null	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.mapper.NumberFieldMapper$NumberType.objectToDouble(NumberFieldMapper.java:1493)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.mapper.NumberFieldMapper$NumberType$6.parse(NumberFieldMapper.java:1035)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.mapper.NumberFieldMapper$NumberType$6.termsQuery(NumberFieldMapper.java:1090)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.mapper.NumberFieldMapper$NumberFieldType.termsQuery(NumberFieldMapper.java:1733)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.query.TermsQueryBuilder.doToQuery(TermsQueryBuilder.java:347)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.query.AbstractQueryBuilder.toQuery(AbstractQueryBuilder.java:119)	at org.elasticsearch.xpack.esql.querydsl.query.SingleValueQuery$Builder.doToQuery(SingleValueQuery.java:187)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.query.AbstractQueryBuilder.toQuery(AbstractQueryBuilder.java:119)	at org.elasticsearch.server@9.0.0-SNAPSHOT/org.elasticsearch.index.query.SearchExecutionContext.toQuery(SearchExecutionContext.java:559)	... 123 more 

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