[ 
https://issues.apache.org/jira/browse/CALCITE-6534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

suibianwanwan updated CALCITE-6534:
-----------------------------------
    Description: 
In JoinOnLeftCalcUnifyRule, JoinOnRIghtCalcUnifyRule, JoinOnCalcUnifyRule, 
calcite tries to pull up the calc operator to make Query equivalent to target . 
In CALCITE-6501, for the case where the assert is due to a difference in 
nullablity, we do an early intercept and return null. This will result in some 
cases that can be rewritten not being able to be rewritten.

Therefore, We can adjust the nullability of the type if this rewrite maintains 
semantics. if RexNode satisfies null-if-null, we will adjust the nullability, 
if not, we should reject this rewrite regardless of the nullablility.

  was:
In JoinOnLeftCalcUnifyRule, JoinOnRIghtCalcUnifyRule, JoinOnCalcUnifyRule, 
calcite tries to pull up the calc operator to make Query equivalent to target . 
In [CALCITE-6501|https://issues.apache.org/jira/browse/CALCITE-6501], for the 
case where the assert is due to a difference in nullablity, we do an early 
intercept and return null. This will result in some cases that can be rewritten 
not being able to be rewritten.

We can fix nullablility if this rewrite maintains semantics


> Adjust type when pulling up Calc in JoinUnifyRule
> -------------------------------------------------
>
>                 Key: CALCITE-6534
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6534
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: suibianwanwan
>            Assignee: suibianwanwan
>            Priority: Minor
>              Labels: pull-request-available
>
> In JoinOnLeftCalcUnifyRule, JoinOnRIghtCalcUnifyRule, JoinOnCalcUnifyRule, 
> calcite tries to pull up the calc operator to make Query equivalent to target 
> . In CALCITE-6501, for the case where the assert is due to a difference in 
> nullablity, we do an early intercept and return null. This will result in 
> some cases that can be rewritten not being able to be rewritten.
> Therefore, We can adjust the nullability of the type if this rewrite 
> maintains semantics. if RexNode satisfies null-if-null, we will adjust the 
> nullability, if not, we should reject this rewrite regardless of the 
> nullablility.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to