Zhen Chen created CALCITE-7385:
----------------------------------
Summary: There is currently no corresponding ENUMERABLE
implementation for non-equivalent LEFT MARK JOIN.
Key: CALCITE-7385
URL: https://issues.apache.org/jira/browse/CALCITE-7385
Project: Calcite
Issue Type: New Feature
Components: core
Reporter: Zhen Chen
An error will occur when executing the following SQL in CoreQuidemTest2.
{code:java}
!use scott
select sal,
cast(null as int) NOT IN (
select deptno
from "scott".dept)
from "scott".emp;
+---------+--------+
| SAL | EXPR$1 |
+---------+--------+
| 1100.00 | |
| 1250.00 | |
| 1250.00 | |
| 1300.00 | |
| 1500.00 | |
| 1600.00 | |
| 2450.00 | |
| 2850.00 | |
| 2975.00 | |
| 3000.00 | |
| 3000.00 | |
| 5000.00 | |
| 800.00 | |
| 950.00 | |
+---------+--------+
(14 rows)
!ok {code}
> java.sql.SQLException: Error while executing SQL "select sal, > cast(null
> as int) NOT IN ( > select deptno > from "scott".dept) > from
> "scott".emp": There are not enough rules to produce a node with desired
> properties: convention=ENUMERABLE, sort=[]. > Missing conversion is
> LogicalJoin[convention: NONE -> ENUMERABLE] > There is 1 empty subset:
> rel#67124:RelSubset#4.ENUMERABLE.[], the relevant part of the original plan
> is as follows > 67101:LogicalJoin(condition=[false], joinType=[left_mark]) >
> 67096:LogicalProject(subset=[rel#67097:RelSubset#1.NONE.[0]], EMPNO=[$0],
> SAL=[$5]) >
> 67048:LogicalTableScan(subset=[rel#67095:RelSubset#0.NONE.[0]],
> table=[[scott, EMP]]) >
> 67099:LogicalProject(subset=[rel#67100:RelSubset#3.NONE.[0]],
> DEPTNO=[CAST($0):INTEGER NOT NULL]) >
> 67050:LogicalTableScan(subset=[rel#67098:RelSubset#2.NONE.[0]],
> table=[[scott, DEPT]]) 71a65,252 > Root: rel#67109:RelSubset#5.ENUMERABLE.[]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)