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

Danny Chen edited comment on CALCITE-4073 at 7/17/20, 1:39 AM:
---------------------------------------------------------------

Fixed in 
[a4fa054|https://github.com/apache/calcite/commit/a4fa05458840cfdd93fb5cba16d102b06197539d]
 !


was (Author: danny0405):
Fixed in 
[551e3f5|https://github.com/apache/calcite/commit/551e3f5a182a48e20586e40c378224bb63e4bfb3]
 !

> Add a new component RexNormalize for more effect rex nodes normalization
> ------------------------------------------------------------------------
>
>                 Key: CALCITE-4073
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4073
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.24.0
>            Reporter: Danny Chen
>            Assignee: Danny Chen
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.24.0
>
>          Time Spent: 5h
>  Remaining Estimate: 0h
>
> Currently, we only have simple normalization such as:
> $2 = $1 => $1 = $2
> $2 > $1 => $1 < $2
> we can extend the logic to more like:
> - put the complex predicates behind, like OR(OR(udf($1), $2), $3) => OR($3, 
> OR(udf($1), $2))
> - put the udf operand behind, like OR(udf($1), $2) => OR($2, udf($1))
> - put the local variables that appears more frequently in the front, which is 
> more user-friendly to code generation because the variable can be cached and 
> reused.
> Also note that, we should allows flexible configuration for switch this 
> function on/off(not a system calcite property now) for downstream users and 
> projects(because the normalization may have some performance trade-off).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to