If I am understanding correctly, the field2 value is NULL.

Count(0) should be 2 and count(field2)==2 because of the way aggregates
treat NULL values.

On Fri, Nov 19, 2021, 8:21 PM ZheHu (Jira) <[email protected]> wrote:

> ZheHu created CALCITE-4896:
> ------------------------------
>
>              Summary: GROUP BY might get wrong results under certain
> circumstances in Elasticsearch Adapter
>                  Key: CALCITE-4896
>                  URL: https://issues.apache.org/jira/browse/CALCITE-4896
>              Project: Calcite
>           Issue Type: Bug
>           Components: elasticsearch-adapter
>     Affects Versions: 1.28.0
>             Reporter: ZheHu
>
>
> In Elasticsearch Adapter, if one field is grouped by along with missing
> value, SQL user might get incorrect results. Take the following case as an
> example:
> {code:java}
> ES mappings: {"int_field1" : integer, "int_field2" : integer}
>
> doc1 = {"int_field1":1, "int_field2": -2147483648}
> doc1 = {"int_field1":2}
> {code}
>
> When I try "select count(1) as CNT from view group by int_field2", the
> result is 2.
>
> For Integer type, the missing value is replaced by Integer.MIN_VALUE, so
> doc1 and doc2 will be divided in the same group.
>
> Any other data types like short、long、float、double, they also have such
> problem.
>
>
>
> --
> This message was sent by Atlassian Jira
> (v8.20.1#820001)
>

Reply via email to