Github user jacques-n commented on a diff in the pull request:

    https://github.com/apache/drill/pull/438#discussion_r57250896
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillOperatorTable.java
 ---
    @@ -157,9 +159,23 @@ private void populateWrappedCalciteOperators() {
           } else if(calciteOperator instanceof SqlFunction) {
             wrapper = new DrillCalciteSqlFunctionWrapper((SqlFunction) 
calciteOperator,
                 getFunctionListWithInference(calciteOperator.getName()));
    +      } else if(calciteOperator instanceof SqlBetweenOperator) {
    +        // During the procedure of converting to RexNode,
    +        // StandardConvertletTable.convertBetween expects the SqlOperator 
to be a subclass of SqlBetweenOperator
    +        final SqlBetweenOperator sqlBetweenOperator = (SqlBetweenOperator) 
calciteOperator;
    +        wrapper = new SqlBetweenOperator(sqlBetweenOperator.flag, 
sqlBetweenOperator.isNegated()) {
    +          @Override
    +          public boolean checkOperandTypes(
    --- End diff --
    
    Does it make sense to fix this in Calcite?
    
    It also seems like we need to have a better merging strategy between Drill 
operator table and calcite operator table. One of the problems we see is DATE - 
DATE doesn't work on schemed types.


---
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