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