[ https://issues.apache.org/jira/browse/CALCITE-6293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17867043#comment-17867043 ]
Tim Grein commented on CALCITE-6293: ------------------------------------ Hi, I've started to look into supporting OR and I'm making fairly good progress and things seem to work. One question I've is, if I can make _any_ assumptions around the sql query, especially when it comes to predicates in the _where_ clause. Will those always be in DNF (Disjunctive Normal Form)? I'm fairly new to the database internals world, but looking at other adapter implementations it looks like the first step is to always decompose on disjunctions, which in my head implies DNF. Thank you! > Support OR condition in Arrow adapter > ------------------------------------- > > Key: CALCITE-6293 > URL: https://issues.apache.org/jira/browse/CALCITE-6293 > Project: Calcite > Issue Type: Sub-task > Components: arrow-adapter > Reporter: hongyu guo > Assignee: Tim Grein > Priority: Major > > For example > {code:java} > String sql = "select \"intField\", \"stringField\"\n" > + "from arrowdata\n" > + "where \"intField\"=12 or \"stringField\"='12'"; {code} > will throw an exception: > {code:java} > java.lang.AssertionError: cannot translate OR(=($0, 12), =($1, '12')) > at > org.apache.calcite.adapter.arrow.ArrowTranslator.translateMatch(ArrowTranslator.java:70) > at > org.apache.calcite.adapter.arrow.ArrowFilter.<init>(ArrowFilter.java:43) > at > org.apache.calcite.adapter.arrow.ArrowRules$ArrowFilterRule.convert(ArrowRules.java:97) > at > org.apache.calcite.adapter.arrow.ArrowRules$ArrowFilterRule.onMatch(ArrowRules.java:87) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)