[ https://issues.apache.org/jira/browse/CALCITE-3462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16963814#comment-16963814 ]
Stamatis Zampetakis commented on CALCITE-3462: ---------------------------------------------- Thanks for the feedback [~julianhyde]. Answers below: * There were various places in our code-base where people reproduced the behavior of {{RelBuilder.projectPlus}} usually in a more complicated and less readable manner; having this method allowed me to simplify the code in these places. * Truth is that in all the use-cases we have minus or plus remains an operation on fields; for the sake of the discussion minus in most cases is used to obtain all the fields of a table except the system/technical fields. * In terms of convenience, I think would be better to just leave the fields as they are if an expression is not found. There are various parts in the builder where we are performing simplifications so from one perspective leaving the expressions as is can be considered a simplification. For instance adding duplicate predicates in a filter will not fail, it will just simplify the filter. * I would say that the argument is neither a collection nor a list but rather an iterable as the other similar methods. * Both {{projectExcept}} or {{fieldsExcept}} sound good to me let me know which you prefer. If we keep {{projectPlus}} then for API regularity I would go for {{projectExcept}}. * I will add more tests. * I will change the description as soon as we agree on the name; let me know which one you prefer. > Add method in RelBuilder for conveniently projecting out expressions > -------------------------------------------------------------------- > > Key: CALCITE-3462 > URL: https://issues.apache.org/jira/browse/CALCITE-3462 > Project: Calcite > Issue Type: Improvement > Components: core > Affects Versions: 1.21.0 > Reporter: Stamatis Zampetakis > Assignee: Stamatis Zampetakis > Priority: Trivial > Labels: pull-request-available > Fix For: 1.22.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Add a new method in RelBuilder (i.e., {{RelBuilder.projectMinus}}) to > facilitate the task of projecting out certain expressions from the top of the > plan. > The proposed method is purely for convenience and is the dual of the existing > {{RelBuilder.projectPlus}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)