[
https://issues.apache.org/jira/browse/CALCITE-4189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763447#comment-17763447
]
Julian Hyde edited comment on CALCITE-4189 at 9/15/23 8:29 PM:
---------------------------------------------------------------
I open [PR #3416|https://github.com/apache/calcite/pull/3416].
When running the unit tests, I found that this change caused a failure in the
Geode adapter test. So, I have added a new feature to convert 'p IS NOT NULL'
to 'p <> null' in the GeodeFilter.
was (Author: JIRAUSER300840):
I open a PR([#3416|[https://github.com/apache/calcite/pull/3416])].
When running the unit tests, I found that this change caused a failure in the
Geode adapter test. So, I have added a new feature to convert 'p IS NOT NULL'
to 'p <> null' in the GeodeFilter.
> Simplify 'p OR (p IS NOT TRUE)' to 'TRUE'
> -----------------------------------------
>
> Key: CALCITE-4189
> URL: https://issues.apache.org/jira/browse/CALCITE-4189
> Project: Calcite
> Issue Type: Improvement
> Reporter: Thomas Rebele
> Priority: Minor
> Labels: pull-request-available
>
> Statements of the form 'P OR P IS NOT TRUE' to 'TRUE' should always be true
> (please correct me if I am wrong):
> {code:java}
> > select x, X='A' as EQ,
> X='A' IS NOT TRUE as EQ_NOT_TRUE,
> (X='A') OR ((X='A') IS NOT TRUE) as EQ_OR_EQ_NOT_TRUE
> from (values 'A', 'B', null) as t(x);
> +---+-------+-------------+-------------------+
> | X | EQ | EQ_NOT_TRUE | EQ_OR_EQ_NOT_TRUE |
> +---+-------+-------------+-------------------+
> | A | true | false | true |
> | B | false | true | true |
> | | | true | true |
> +---+-------+-------------+-------------------+
> {code}
> Here a test case for the expected behavior:
> {code:java}
> @Test void testSimplifyPOrPNotTrue() {
> checkSimplify(
> and(
> vBool(),
> or(
> eq(vInt(), literal(1)),
> isNotTrue(eq(vInt(), literal(1)))
> )),
> "?0.bool0");
> }{code}
> There are some other, similar expressions, such as 'P IS NOT FALSE OR NOT P',
> which can be reduced to true. Maybe there's a way to handle all of them?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)