Xurenhe created CALCITE-5036:
--------------------------------
Summary: `RelMetadataQuery#getPulledUpPredicates` support to
analyze constant key for the operator of IS_NOT_DISTINCT_FROM
Key: CALCITE-5036
URL: https://issues.apache.org/jira/browse/CALCITE-5036
Project: Calcite
Issue Type: Improvement
Reporter: Xurenhe
Assignee: Xurenhe
As we know, `IS NOT DISTINCT FROM` is NULL-Safe equal operator.
The expression of "{*}`a` IS NOT DISTINCT FROM 10{*}" is equal to "{*}(`a` =
10) IS TRUE{*}".
Currently, `RelMetadataQuery#getPulledUpPredicates` could analyze the constant
from the constant's equal condition in the filter, not support `IS NOT DISTINCT
FROM`
{code:java}
-- sql
SELECT deptno,
mgr,
ename
FROM emp
WHERE deptno IS NOT DISTINCT FROM 10{code}
By the way, `deptno` need be rewritten to the constant project with number of
10, when applying the rule of {*}CoreRules#PROJECT_REDUCE_EXPRESSION{*}S
--
This message was sent by Atlassian Jira
(v8.20.1#820001)