Thanks for explaining because I did not get that at all, but it makes sense. Some column stores use a reserved value for NULL too which reduces the overall range of values available.
On Sun, Nov 21, 2021 at 7:09 AM Zhe Hu <[email protected]> wrote: > Yes, when you group an Integer field in Elasticsearch Adapter, NULL and > Integer.MIN_VALUE will be in the same group, which is not correct for SQL > users. > > > On 11/21/2021 19:56,Justin Swanhart<[email protected]> wrote: > 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) > >
