drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4525) Query with BETWEEN clause on Date and Timestamp values fails with Validation Error
Date Wed, 23 Mar 2016 22:55:25 GMT

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

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_r57251287
  
    --- 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 --
    
    @jacques-n, Calcite has different (more strict) definition of type-compatibilty while
Drill is more flexible. 
    
    What we have done is to have our own type-compatibilty in drill. Please see the new pull
request.


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

Mime
View raw message