[
https://issues.apache.org/jira/browse/CALCITE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15881923#comment-15881923
]
Julian Hyde commented on CALCITE-1655:
--------------------------------------
Disabling IN expansion isn't really an option. Yes, most engines benefit from
having ordered sequences of ranges when they are doing scans. And Calcite can
help convert into [SARGs|https://en.wikipedia.org/wiki/Sargable]. But at an
earlier stage it is useful to expand IN so that we can apply de Morgan's rules.
Also, we can't alter the behavior just for Druid because Calcite doesn't (and
shouldn't) know which engine is going to be running the query.
Calcite isn't expecting to see IN, just as it isn't expecting to see BETWEEN.
If Hive passes INs to Calcite, even if we fix this code, something else will
break.
> Add In filter to druid adapter.
> -------------------------------
>
> Key: CALCITE-1655
> URL: https://issues.apache.org/jira/browse/CALCITE-1655
> Project: Calcite
> Issue Type: Bug
> Components: druid
> Reporter: slim bouguerra
> Assignee: Julian Hyde
>
> The druid calcite adapter throw an exception when an IN filter is used.
> This happens only in hive because in calcite project the IN filter is
> transformed to OR automatically.
> Since this rule does not kick in HIVE and it is better to use the native IN
> filter from druid instead having huge number of OR clauses i will send a
> patch that adds the IN filter.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)