You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (JIRA)" <ji...@apache.org> on 2019/06/06 18:56:00 UTC

[jira] [Commented] (CALCITE-3118) VolcanoRuleCall match parent child ordinal not properly checked

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

Vladimir Sitnikov commented on CALCITE-3118:
--------------------------------------------

Frankly speaking, I have scanned through the added unit test, and its obscure what the test is doing and what it is asserting.

Even though I have fixed bugs near VolcanoRuleCall, and the change looks simple, I can't commit this PR because I don't understand it. Sorry.

> VolcanoRuleCall match parent child ordinal not properly checked
> ---------------------------------------------------------------
>
>                 Key: CALCITE-3118
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3118
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Botong Huang
>            Priority: Major
>
> In VolcanoRuleCall.matchRecurse(), when ascending (child operand is matched, looking for parent operand match), we want to check that the matched parent indeed has the previously matched child RelNode as a child with the expected ordinal. However, there is a bug in this check. As a result, some incorrect parent is not skipped as expected and matched incorrectly. See unit test included in PR for a case that triggers this bug, where the same RelNode get matched for two operands at the same time. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)