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

[jira] [Comment Edited] (CALCITE-2338) Reduce the externally visible api of RexSimplify

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

Zoltan Haindrich edited comment on CALCITE-2338 at 6/7/18 4:04 PM:
-------------------------------------------------------------------

[~julianhyde] I understand your point of view; and it might be usefull - but as you have also noted: if the terms are already simpllified - they might not need to be ; but I think this is not neccessarily true, since a term might be further simplificable if it's known that it's in an And...

I also don't like creating objects which are just been thrown away...but in this case it makes it more clear

* if you look into the current [PR|https://github.com/apache/calcite/pull/724]; there was a few usages from already Deprecated methods (which are unused)
* there was only 1 "real" usage from RelBuilder
* and there was the call from RelMdPredicates which actually caused a trouble; because the terms were further simplifiable by the logic introduced by CALCITE-2247

I've just figured out an alternative: add a simplify call which "looks" almost like a makeCall ... it could make it easier to call it ...and also enables to make the api thinner


was (Author: kgyrtkirk):
[~julianhyde] I understand your point of view; and it might be usefull - but as you have also noted: if the terms are already simpllified - they might not need to be ; but I think this is not neccessarily true, since a term might be further simplificable if it's known that it's in an And...

I also don't like creating objects which are just been thrown away...but in this case it makes it more clear

* if you look into the current [PR|https://github.com/apache/calcite/pull/724]; there was a few usages from already Deprecated methods (which are unused)
* there was only 1 "real" usage from RelBuilder
* and there was the call from RelMdPredicates which actually caused a trouble; because the terms were further simplifiable by the logic introduced by CALCITE-2247


> Reduce the externally visible api of RexSimplify
> ------------------------------------------------
>
>                 Key: CALCITE-2338
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2338
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Zoltan Haindrich
>            Assignee: Zoltan Haindrich
>            Priority: Major
>
> Currently many lower level simplification methods are visible.
> While I was porting CALCITE-2247 to a branch near 1.16 I've bumped into an issue because of the fact that by calling a specific simplify method may leave out some otherwise applicable simplifications.
> For master there is already an extra safety feature by the presence of CALCITE-2205; it seems like using less entry points may even lead to better simplifications - by changing this; a filter have been removed.
> https://github.com/kgyrtkirk/calcite/commit/2e29a659792f6bd9419dc0f97bf5a3bdd9f6f2cc



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