[
https://issues.apache.org/jira/browse/CALCITE-6793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916493#comment-17916493
]
xiong duan commented on CALCITE-6793:
-------------------------------------
In addition to considering the Range Set, we also need to consider how to
handle the NULL value.
> Cannot simplify comparisons using pulled SARG predicates
> --------------------------------------------------------
>
> Key: CALCITE-6793
> URL: https://issues.apache.org/jira/browse/CALCITE-6793
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.38.0
> Reporter: Stamatis Zampetakis
> Assignee: Stamatis Zampetakis
> Priority: Major
>
> RexSimplify has some logic to [simplify comparison
> operations|https://github.com/apache/calcite/blob/3fce658c05aa88b44af8cbcfd0809a420896d62b/core/src/main/java/org/apache/calcite/rex/RexSimplify.java#L1858]
> by exploiting pulled up predicates (predicates that we know that hold in the
> inputs).
> Let's assume that we have the comparison {{age > 25}} and we can also pull
> the {{age > 10 AND age < 20}} predicate from the input(s). Using the pulled
> up predicates we can simplify {{ age > 25 }} to {{false}}.
> The simplification above used to work in the past and stopped working
> sometime after introducing the SEARCH operator and SARGs (CALCITE-4173).
> Using SARGs, the {{age > 10 AND age < 20}} predicate is now represented as
> {{SEARCH(age, Sarg[(10..20)])}} but SEARCH/SARGs cannot be handled by the
> existing logic so they cannot be used to simplify comparisons.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)