Github user vkorukanti commented on the pull request:

    https://github.com/apache/drill/pull/462#issuecomment-209836956
  
    Added few more tests:
    ```SELECT * FROM t1, t2, t3 WHERE t1.a = t2.a OR (t1.b is null and t3.b is 
null)``` to test it throws CannotPlanException
    ```SELECT * FROM t1, t2 WHERE t1.a = t2.a OR (t1.a is null and t2.a is 
null)``` to test null-equality filter is pushed into join condition. Had to 
make some changes to ```DrillFilterJoinRules``` to handle this case.
    
    Also few more tests around 3 table join that involve null-equality 
condition in ```WHERE``` clause and ```JOIN ON```
    
    4 tests from extended regression suite failed, because now we generate a 
join condition that involves ```=`` and ```IS NOT DISTINCT FROM```. 
    
    ```SELECT * FROM cp.`jsonInput/nullableOrdered1.json` t1 JOIN 
cp.`jsonInput/nullableOrdered2.json` t2 ON t1.key = t2.key WHERE t1.data IS NOT 
DISTINCT FROM t2.data```
    
    It looks like HashJoin/MergeJoin operators are not handling mixed 
comparator in join condition. Looking at the ```ChainedHashTable``` and 
```MergeJoinBatch``` code briefly, it seems like we should be able to generate 
code for handling mixed comparators case. @amansinha100: Let me know if I am 
not correct.
    
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to