You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/01/02 21:38:00 UTC

[jira] [Updated] (CALCITE-2109) Mongo adapter: unable to translate (A AND B) conditional case

     [ https://issues.apache.org/jira/browse/CALCITE-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde updated CALCITE-2109:
---------------------------------
    Component/s: mongodb

> Mongo adapter: unable to translate (A AND B) conditional case
> -------------------------------------------------------------
>
>                 Key: CALCITE-2109
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2109
>             Project: Calcite
>          Issue Type: Bug
>          Components: mongodb
>            Reporter: Vladimir Dolzhenko
>            Assignee: Julian Hyde
>
> Mongo adapter fails on query
> {code:sql}
> select state, city from zips
> where city='MANSFIELD' and state in ('AR', 'TX', 'MA')
> order by state
> {code}
> with
> {code}
> java.lang.AssertionError: cannot translate OR(=(CAST(ITEM($0, 'state')):VARCHAR(2) CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", 'AR'), =(CAST(ITEM($0, 'state')):VARCHAR(2) CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", 'TX'), =(CAST(ITEM($0, 'state')):VARCHAR(2) CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", 'MA'))
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateMatch2(MongoFilter.java:181)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateAnd(MongoFilter.java:116)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateOr(MongoFilter.java:98)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateMatch(MongoFilter.java:91)
> {code}
> literal case like 
> {code:sql}
> select state, city from zips
> where city='MANSFIELD' and 1=0
> order by state
> {code}
> fails with
> {code}
> java.lang.AssertionError: cannot translate op null call =(1, 0)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateBinary(MongoFilter.java:198)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateMatch2(MongoFilter.java:169)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateAnd(MongoFilter.java:116)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateOr(MongoFilter.java:98)
> 	at org.apache.calcite.adapter.mongodb.MongoFilter$Translator.translateMatch(MongoFilter.java:91)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)