[ 
https://issues.apache.org/jira/browse/DRILL-4525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15209361#comment-15209361
 ] 

ASF GitHub Bot commented on DRILL-4525:
---------------------------------------

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

    https://github.com/apache/drill/pull/438#discussion_r57250944
  
    --- 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 --
    
    Correct. Otherwise, the regression reported in this DRILL-4525 will be 
failed by Calcite because Calcite does not allow between to be operated on 
timestamp and date.
    
    By the way, this pull request is closed. The correct pull request is this 
one:
    https://github.com/apache/drill/pull/439


> Query with BETWEEN clause on Date and Timestamp values fails with Validation 
> Error
> ----------------------------------------------------------------------------------
>
>                 Key: DRILL-4525
>                 URL: https://issues.apache.org/jira/browse/DRILL-4525
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>            Reporter: Abhishek Girish
>            Assignee: Sean Hsuan-Yi Chu
>            Priority: Critical
>
> Query: (simplified variant of TPC-DS Query37)
> {code}
> SELECT
>        *
> FROM   
>        date_dim
> WHERE   
>        d_date BETWEEN Cast('1999-03-06' AS DATE) AND      (
>                   Cast('1999-03-06' AS DATE) + INTERVAL '60' day)
> LIMIT 10;
> {code}
> Error:
> {code}
> Error: VALIDATION ERROR: From line 6, column 8 to line 7, column 64: Cannot 
> apply 'BETWEEN ASYMMETRIC' to arguments of type '<ANY> BETWEEN ASYMMETRIC 
> <DATE> AND <TIMESTAMP(0)>'. Supported form(s): '<COMPARABLE_TYPE> BETWEEN 
> <COMPARABLE_TYPE> AND <COMPARABLE_TYPE>'
> SQL Query null
> [Error Id: 223fb37c-f561-4a37-9283-871dc6f4d6d0 on abhi2:31010] 
> (state=,code=0)
> {code}
> This is a regression from 1.6.0. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to