[
https://issues.apache.org/jira/browse/CALCITE-1794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Liya Fan closed CALCITE-1794.
-----------------------------
Resolved in release 1.30.0 (2022-03-20)
> Expressions with numeric comparisons are not simplified when CAST is present
> ----------------------------------------------------------------------------
>
> Key: CALCITE-1794
> URL: https://issues.apache.org/jira/browse/CALCITE-1794
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.29.0
> Reporter: Remus Rusanu
> Assignee: xiong duan
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.30.0
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> For example:
> {code:java}
> x = 1 and x <> 2{code}
> In optimizer procedure, We pull up "x = 1" first, then when we encounter "x
> <> 2", can be simplified to "x = 1". So the result will be "x = 1"
> {code:java}
> x <> 2 and x = 1{code}
> When we pull up "x <> 2" first, it can't optimize the "x = 1". So we need
> SARG to optimize it again.
> Because EQUALS and NOT-EQUALS operator will make the left RexNode become
> *[CAST($t0): INTEGER NOT NULL]* when the left node and right node have a
> least restrictive type. So we need to handle the CAST operator.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)