[ 
https://issues.apache.org/jira/browse/CALCITE-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mihai Budiu resolved CALCITE-7874.
----------------------------------
    Resolution: Fixed

Fixed in 
[https://github.com/apache/calcite/commit/a60ad2019b8d54a8fd2fb9bcb5794996e01fd020]

Thank you for the review [~xuzifu666] 

> RelDecorrelator drops the MATCH_CONDITION of an ASOF JOIN
> ---------------------------------------------------------
>
>                 Key: CALCITE-7874
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7874
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.42.0
>            Reporter: Mihai Budiu
>            Assignee: Mihai Budiu
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.43.0
>
>
> This query fails:
> {code:sql}
> SELECT *
> FROM (VALUES (NULL, 0), (1, NULL), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), 
> (2, 3), (3, 4)) AS t1(k, t)
> ASOF JOIN (VALUES (1, NULL), (1, 2), (1, 3), (2, 10), (2, 0)) AS t2(k, t)
> MATCH_CONDITION t2.t < t1.t
> ON t1.k = t2.k
> WHERE EXISTS (SELECT 1 FROM (VALUES 1) AS t3(k) WHERE t3.k = t1.k);
> {code}
> {noformat}
> Caused by: java.lang.RuntimeException: Error while applying rule 
> JoinPushExpressionsRule,
>   args 
> [rel#89:LogicalJoin.NONE.[](left=RelSubset#87,right=RelSubset#88,condition==($0,
>  $2),joinType=asof)]
> Caused by: java.lang.ClassCastException: class 
> org.apache.calcite.rel.logical.LogicalJoin
>   cannot be cast to class org.apache.calcite.rel.logical.LogicalAsofJoin
>     at 
> org.apache.calcite.plan.RelOptUtil.pushDownJoinConditions(RelOptUtil.java:4000)
>     at 
> org.apache.calcite.rel.rules.JoinPushExpressionsRule.onMatch(JoinPushExpressionsRule.java:72)
> {noformat}



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to