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

[jira] [Commented] (CALCITE-2338) Reconsider the externally visible api of RexSimplify

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

Julian Hyde commented on CALCITE-2338:
--------------------------------------

Methods like simplifyOrs are public because we don’t want to constantly deconstruct and reconstruct RexCalls. RexSimplify is on the code path every time a rule creates. project or filter, so it must be efficient. Especially when an expression has already been simplified.

I don’t think there are very many such calls. 

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