Thanks. I’ll review.

> On Apr 14, 2016, at 11:21 PM, Venki Korukanti <[email protected]> 
> wrote:
> 
> Thanks Julian.
> 
> Changed "List<Integer> filterNulls" to "List<Boolean> filterNulls".
> 
> I created a JIRA (https://issues.apache.org/jira/browse/CALCITE-1200) and
> submitted a PR.
> 
> On Thu, Apr 14, 2016 at 4:17 AM, Julian Hyde <[email protected]> wrote:
> 
>> splitJoinCondition seems to be the right place.
>> 
>> I’m not sure I’d have "List<Integer> filterNulls”; I’d have “List<Boolean>
>> filterNulls” instead, I think, to handle
>> 
>> select *
>> from t1 join t2
>> on t1.c0 = t2.c0
>> and t1.c0 is not distinct from t2.c1
>> 
>> Note that t1.c0 is compared using = in one case,
>> and using is-not-distinct-from in the other case.
>> So I’d set filterNulls = [true, false].
>> 
>>> On Apr 14, 2016, at 9:50 AM, Venki Korukanti <[email protected]>
>> wrote:
>>> 
>>> Hi,
>>> 
>>> In Drill, we have an improvement request to handle null equality joins (
>>> DRILL-4539 <https://issues.apache.org/jira/browse/DRILL-4539>).
>> Currently
>>> Drill relies on RelOptUtil.splitJoinCondition [1] and [2] to split the
>> join
>>> condition into equi-join condition and remained. We tested by modifying
>>> RelOptUtil.splitJoinCondition to identify null equality condition and
>>> convert it into IS NOT DISTINCT FROM and it works fine. Changes are [3].
>>> 
>>> I am wondering whether modifying the RelOptUtil.splitJoinCondition to
>>> handle null equality condition is the right way to add the functionality
>> in
>>> Calcite. Is there any other place where we can convert the null equality
>>> condition into IS NOT DISTINCT FROM?
>>> 
>>> 
>>> [1]
>>> 
>> https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java#L789
>>> 
>>> [2]
>>> 
>> https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java#L856
>>> 
>>> [3]
>>> 
>> https://github.com/vkorukanti/calcite/commit/ee2292455447bed082438f4eb9bef16025179a44
>>> 
>>> Thanks
>>> Venki
>> 
>> 

Reply via email to