You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Stamatis Zampetakis (JIRA)" <ji...@apache.org> on 2019/07/08 22:16:00 UTC

[jira] [Commented] (CALCITE-3183) trimming method for Filter rel uses wrong traitSet

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

Stamatis Zampetakis commented on CALCITE-3183:
----------------------------------------------

It seems that you are right there seems to be a bug. However using the static factory method may not be a good idea for solving the problem; check the comment a few lines above. Possibly you could just replace {{filter.getTraitSet()}} with {{newInput.getTraitSet()}} (or something along this lines) since apart from Convention the other built-in traits should not be affected I guess. 

> trimming method for Filter rel uses wrong traitSet
> --------------------------------------------------
>
>                 Key: CALCITE-3183
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3183
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Juhwan Kim
>            Assignee: Juhwan Kim
>            Priority: Major
>
> It seems like there is a bug here: https://github.com/apache/calcite/blob/e8d598a434e8dbadaf756f8c57c748f4d7e16fdf/core/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java#L487.
> Unlike other trimming methods, filter trim function copies the current filter rel and directly pushes it to the builder instead of calling factory method for filter rel. The problem with the current code is that it uses the same traitSet even though it would no longer be valid after trimming its input. For example, fields in collation might have been updated after trimming. We should reflect this change when creating a new rel.
>  



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