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