Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
Queries that are working
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');
Queries that are failing
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;
Elastic Adapter Exception
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)
Attachments
Issue Links
- is cloned by
-
CALCITE-2415 Evaluation of predicate "(A or B) and C" fails for MongoDB adapter
- Open
- is related to
-
CALCITE-2109 Mongo adapter: unable to translate (A AND B) conditional case
- Open
- links to