Description
I execute following sql with calcite 1.21.0 in flink 1.10. When the two conditions of left outer join are like"ON t1.a=t2.a" and "ON t1.a=t3.a ", it execute successfully. However, when the two conditions of left outer join are like "ON IF(t1.a='...',CAST(RAND(123) AS STRING),t1.a)=t2.a" and "ON IF(t1.a='...',CAST(RAND(123) AS STRING),t1.a)=t3.a", it gets a assert error in method getRootField.
It also can execute successfully with "ON t1.a=t2.a" and "ON IF(t1.a='...',CAST(RAND(123) AS STRING),t1.a)=t3.a".
But failed with "ON IF(t1.a='...',CAST(RAND(123) AS STRING),t1.a)=t2.a" and "ON t1.a=t3.a"
SELECT
...
FROM
(
SELECT
...
) t1
LEFT OUTER JOIN
(
SELECT
...
) t2
ON ...
LEFT OUTER JOIN
(
SELECT
...
) t3
ON ...
Attachments
Issue Links
- is fixed by
-
CALCITE-3355 Deduce whether CASE and COALESCE may produce NULL values
- Closed