Github user vkorukanti commented on a diff in the pull request:

    https://github.com/apache/drill/pull/462#discussion_r58741416
  
    --- Diff: 
exec/java-exec/src/main/codegen/templates/ComparisonFunctions.java ---
    @@ -215,6 +192,36 @@ public void eval() {
         }
       }
     
    +  <#-- IS_DISTINCT_FROM function -->
    +  @FunctionTemplate(names = {"is_distinct_from", "is distinct from" },
    --- End diff --
    
    I am not sure if there is way to differentiate between the function in join 
condition vs. function in project expr. I don't see any context info in 
DrillConvertletTable.get() method call. Also the generated code in rewritten 
case is too much. For following query:
    ```SELECT INT_col is not distinct from BIGINT_col as col, 
int_distinct_result FROM cp.`functions/distinct_from.json```
    
    Without rewrite: 
https://gist.github.com/vkorukanti/e981058f985ed24e6c4ef6b47d670e0f
    With rewrite: 
https://gist.github.com/vkorukanti/d80aa2ba40c65c9215c38ed18b20a685
    
    Sizes may differ after scalar replacement is done, but it is still too much 
code to simple ```is not distinct from``` function. 
    



---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to