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

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

Github user hsuanyi commented on the pull request:

    https://github.com/apache/drill/pull/439#issuecomment-200919168
  
    In addition to @jinfengni's point:
    @sudheeshkatkam did a proposal to add a new SqlAvgAggFunction (the 
inference mechanism of the original is not ideal for Drill). It was declined by 
Calcite's community, and the argument was adding unnecessary duplicates to the 
code. I think this argument is fair. Otherwise, there might be tens of variants 
for a single operator.
    
    Regarding adding a new converlet:
    Initially, I though having three wrappers (operator, function, agg 
function) are sufficient for all scenarios. However, at one method during 
conversion, the type SqlBetweenOperator is being expected. Thus, I decided to 
add a new wrapper which extends SqlBetweenOperator, so we do not need to do 
anything in conversion.
    
    Certainly, we might be able to attain by not adding a new wrapper but 
adding a new converlet. I would not prefer this approach since 
    1. I tried not to spread out the code complexity (introduced by inference 
and operand type check) to too many places. 
    2. Adding our own converlet also introduces code complexity. And it 
probably is more complicated than a wrapper.


> 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