[ https://issues.apache.org/jira/browse/CALCITE-2331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Volodymyr Vysotskyi updated CALCITE-2331: ----------------------------------------- Component/s: (was: mongodb) (was: geode) > Evaluation of predicate "(A or B) and C" fails for Elasticsearch adapter > ------------------------------------------------------------------------ > > Key: CALCITE-2331 > URL: https://issues.apache.org/jira/browse/CALCITE-2331 > Project: Calcite > Issue Type: Bug > Components: elasticsearch-adapter > Reporter: Andrei Sereda > Assignee: Michael Mior > Priority: Critical > > h2. Queries that are working > {code:java} > select count(*) from "elastic" where _MAP['foo'] in ('1') and true; > select count(*) from "elastic" where _MAP['foo'] ='1' and true; > select count(*) from "elastic" where _MAP['foo'] in ('1', '2'); > {code} > h2. Queries that are failing > {code:java} > select count(*) from "elastic" where _MAP['foo'] in ('1', '2') and true; > select count(*) from "elastic" where true and _MAP['foo'] in ('1', '2'); > select count(*) from "elastic" where (_MAP['foo'] ='1' or _MAP['foo'] = '2') > and true; > {code} > h2. Elastic Adapter Exception > {quote}java.lang.AssertionError: cannot translate OR(=(ITEM($0, 'foo'), '1'), > =(ITEM($0, 'foo'), '2')) > at org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$ > Translator.translateMatch2(ElasticsearchFilter.java:234) > at org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$ > Translator.translateAnd(ElasticsearchFilter.java:158) > at org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$ > Translator.translateOr(ElasticsearchFilter.java:115) > at org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$ > Translator.translateMatch(ElasticsearchFilter.java:101) > at org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$ > Translator.access$000(ElasticsearchFilter.java:87) > at org.apache.calcite.adapter.elasticsearch. > ElasticsearchFilter.implement(ElasticsearchFilter.java:80) > at org.apache.calcite.adapter.elasticsearch. > ElasticsearchRel$Implementor.visitChild(ElasticsearchRel.java:53) > at org.apache.calcite.adapter.elasticsearch. > ElasticsearchToEnumerableConverter.implement(ElasticsearchToEnumerableConve > rter.java:71) > at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor. > visitChild(EnumerableRelImplementor.java:98) > at org.apache.calcite.adapter.enumerable. > EnumerableAggregate.implement(EnumerableAggregate.java:106) > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)