Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
} catch (Exception e) { throw HELPER.createException( "exception while executing query: " + e.getMessage(), e); }
Does e.getMessage() really help there?
In fact, it just duplicates the exception message, which makes exception chain harder to follow.
There are similar cases for getMessage, and they should be treated in the similar way.
Sample exception (see how "There are not enough rules" is duplicated):
java.lang.RuntimeException: With materializationsEnabled=false, limit=0, sql=explain plan for select empno, desc from sales.emps, (SELECT * FROM (VALUES (10, 'SameName')) AS t (id, desc)) as sn where emps.deptno = sn.id and sn.desc = 'SameName' group by empno, desc at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:574) at org.apache.calcite.test.CalciteAssert$AssertQuery.lambda$returns$1(CalciteAssert.java:1457) at org.apache.calcite.test.CalciteAssert$AssertQuery.withConnection(CalciteAssert.java:1389) at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1455) at org.apache.calcite.test.CalciteAssert$AssertQuery.explainMatches(CalciteAssert.java:1552) at org.apache.calcite.test.CalciteAssert$AssertQuery.explainContains(CalciteAssert.java:1547) at org.apache.calcite.test.JdbcTest.testInnerJoinValues(JdbcTest.java:2577) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: java.sql.SQLException: Error while executing SQL "explain plan for select empno, desc from sales.emps, (SELECT * FROM (VALUES (10, 'SameName')) AS t (id, desc)) as sn where emps.deptno = sn.id and sn.desc = 'SameName' group by empno, desc": There are not enough rules to produce a node with desired properties: convention=ENUMERABLE, sort=[]. There is 1 empty subset: Empty subset 0: rel#2097:Subset#6.ENUMERABLE.[], the original plan was 2090:LogicalAggregate(group=[{0, 1}]) 2088:LogicalProject(subset=[rel#2089:Subset#5.NONE.[]], EMPNO=[$0], DESC=[$3]) 2086:LogicalFilter(subset=[rel#2087:Subset#4.NONE.[]], condition=[AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))]) 2084:LogicalJoin(subset=[rel#2085:Subset#3.NONE.[]], condition=[true], joinType=[inner]) 2052:EnumerableTableScan(subset=[rel#2080:Subset#0.ENUMERABLE.[]], table=[[SALES, EMPS]]) 2054:LogicalValues(subset=[rel#2081:Subset#1.NONE.[]], tuples=[[{ 10, 'SameName' }]]) Root: rel#2097:Subset#6.ENUMERABLE.[] Original rel: LogicalAggregate(group=[{0, 1}]): rowcount = 1.0, cumulative cost = {207.5 rows, 208.5 cpu, 0.0 io}, id = 2079 LogicalProject(EMPNO=[$0], DESC=[$3]): rowcount = 2.25, cumulative cost = {206.5 rows, 208.5 cpu, 0.0 io}, id = 2078 LogicalFilter(condition=[AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))]): rowcount = 2.25, cumulative cost = {204.25 rows, 204.0 cpu, 0.0 io}, id = 2077 LogicalJoin(condition=[true], joinType=[inner]): rowcount = 100.0, cumulative cost = {202.0 rows, 104.0 cpu, 0.0 io}, id = 2069 EnumerableTableScan(table=[[SALES, EMPS]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 2052 LogicalProject(ID=[$0], DESC=[$1]): rowcount = 1.0, cumulative cost = {2.0 rows, 3.0 cpu, 0.0 io}, id = 2067 LogicalValues(tuples=[[{ 10, 'SameName' }]]): rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io}, id = 2054 Sets: Set#0, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2080:Subset#0.ENUMERABLE.[], best=rel#2052, importance=0.5904900000000001 rel#2052:EnumerableTableScan.ENUMERABLE.[](table=[SALES, EMPS]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io} Set#1, type: RecordType(INTEGER ID, CHAR(8) DESC) rel#2081:Subset#1.NONE.[], best=null, importance=0.5904900000000001 rel#2054:LogicalValues.NONE.[[0, 1], [1]](type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }]), rowcount=1.0, cumulative cost={inf} rel#2082:LogicalProject.NONE.[[0, 1], [1]](input=RelSubset#2081,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2176:Subset#1.ENUMERABLE.[], best=rel#2175, importance=0.5904900000000001 rel#2175:EnumerableValues.ENUMERABLE.[[0, 1], [1]](type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }]), rowcount=1.0, cumulative cost={1.0 rows, 1.0 cpu, 0.0 io} rel#2200:EnumerableProject.ENUMERABLE.[](input=RelSubset#2176,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={2.0 rows, 3.0 cpu, 0.0 io} Set#3, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2085:Subset#3.NONE.[], best=null, importance=0.6561 rel#2084:LogicalJoin.NONE.[](left=RelSubset#2080,right=RelSubset#2081,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} rel#2123:LogicalProject.NONE.[](input=RelSubset#2122,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=100.0, cumulative cost={inf} rel#2223:Subset#3.ENUMERABLE.[], best=rel#2228, importance=0.5904900000000001 rel#2228:EnumerableProject.ENUMERABLE.[](input=RelSubset#2225,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=100.0, cumulative cost={403.0 rows, 502.0 cpu, 0.0 io} rel#2246:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2176,condition=true,joinType=inner), rowcount=100.0, cumulative cost={662.5170185988092 rows, 102.0 cpu, 0.0 io} Set#4, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2087:Subset#4.NONE.[], best=null, importance=0.7290000000000001 rel#2086:LogicalFilter.NONE.[](input=RelSubset#2085,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))), rowcount=2.25, cumulative cost={inf} rel#2103:LogicalJoin.NONE.[](left=RelSubset#2080,right=RelSubset#2102,condition==(CAST($1):INTEGER NOT NULL, $2),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2110:LogicalProject.NONE.[](input=RelSubset#2109,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2118:LogicalProject.NONE.[](input=RelSubset#2117,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2129:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2319:LogicalProject.NONE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2321:LogicalProject.NONE.[](input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2380:LogicalFilter.NONE.[](input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={inf} rel#2190:Subset#4.ENUMERABLE.[], best=rel#2220, importance=0.6561 rel#2220:EnumerableProject.ENUMERABLE.[](input=RelSubset#2177,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=2.25, cumulative cost={307.5 rows, 211.0 cpu, 0.0 io} rel#2227:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 463.0 cpu, 0.0 io} rel#2230:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={349.0 rows, 538.0 cpu, 0.0 io} rel#2245:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2244,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={678.5170185988092 rows, 203.0 cpu, 0.0 io} rel#2250:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2223,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))), rowcount=2.25, cumulative cost={405.25 rows, 602.0 cpu, 0.0 io} rel#2385:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={inf} Set#5, type: RecordType(JavaType(int) EMPNO, CHAR(8) DESC) rel#2089:Subset#5.NONE.[], best=null, importance=0.81 rel#2088:LogicalProject.NONE.[](input=RelSubset#2087,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={inf} rel#2111:LogicalProject.NONE.[](input=RelSubset#2109,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2119:LogicalProject.NONE.[](input=RelSubset#2117,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2128:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2265:LogicalProject.NONE.[](input=RelSubset#2188,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2267:LogicalProject.NONE.[](input=RelSubset#2185,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2284:LogicalProject.NONE.[](input=RelSubset#2177,EMPNO=$2,DESC=$1), rowcount=2.25, cumulative cost={inf} rel#2286:LogicalProject.NONE.[](input=RelSubset#2190,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={inf} rel#2179:Subset#5.ENUMERABLE.[], best=rel#2178, importance=0.405 rel#2178:EnumerableProject.ENUMERABLE.[](input=RelSubset#2177,EMPNO=$2,DESC=$1), rowcount=2.25, cumulative cost={307.5 rows, 206.5 cpu, 0.0 io} rel#2186:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 433.0 cpu, 0.0 io} rel#2189:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={349.0 rows, 508.0 cpu, 0.0 io} rel#2191:EnumerableProject.ENUMERABLE.[](input=RelSubset#2190,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={309.75 rows, 215.5 cpu, 0.0 io} Set#6, type: RecordType(JavaType(int) EMPNO, CHAR(8) DESC) rel#2091:Subset#6.NONE.[], best=null, importance=0.9 rel#2090:LogicalAggregate.NONE.[](input=RelSubset#2089,group={0, 1}), rowcount=1.0, cumulative cost={inf} rel#2099:LogicalAggregate.NONE.[](input=RelSubset#2087,group={0, 3}), rowcount=1.0, cumulative cost={inf} rel#2112:LogicalAggregate.NONE.[](input=RelSubset#2109,group={0, 4}), rowcount=1.5, cumulative cost={inf} rel#2172:LogicalProject.NONE.[](input=RelSubset#2171,EMPNO=$1,DESC=$0), rowcount=1.5, cumulative cost={inf} rel#2266:LogicalAggregate.NONE.[](input=RelSubset#2188,group={0, 4}), rowcount=1.5, cumulative cost={inf} rel#2287:LogicalAggregate.NONE.[](input=RelSubset#2190,group={0, 3}), rowcount=1.0, cumulative cost={inf} rel#2097:Subset#6.ENUMERABLE.[], best=null, importance=1.0 rel#2098:AbstractConverter.ENUMERABLE.[](input=RelSubset#2091,convention=ENUMERABLE,sort=[]), rowcount=1.0, cumulative cost={inf} rel#2174:EnumerableProject.ENUMERABLE.[](input=RelSubset#2173,EMPNO=$1,DESC=$0), rowcount=1.5, cumulative cost={inf} Set#7, type: RecordType(INTEGER ID, CHAR(8) DESC) rel#2102:Subset#7.NONE.[], best=null, importance=0.6561 rel#2100:LogicalFilter.NONE.[](input=RelSubset#2081,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={inf} rel#2141:LogicalProject.NONE.[[0, 1], [1]](input=RelSubset#2102,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2366:LogicalFilter.NONE.[](input=RelSubset#2176,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={inf} rel#2183:Subset#7.ENUMERABLE.[], best=rel#2249, importance=0.4782969000000001 rel#2184:EnumerableProject.ENUMERABLE.[](input=RelSubset#2183,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={3.0 rows, 4.0 cpu, 0.0 io} rel#2249:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2176,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={2.0 rows, 2.0 cpu, 0.0 io} rel#2383:EnumerableProject.ENUMERABLE.[](input=RelSubset#2102,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2233:Subset#7.ENUMERABLE.[0], best=null, importance=0.4782969000000001 Set#8, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0) rel#2107:Subset#8.NONE.[], best=null, importance=0.5904900000000001 rel#2104:LogicalProject.NONE.[](input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL), rowcount=100.0, cumulative cost={inf} rel#2219:Subset#8.ENUMERABLE.[], best=rel#2218, importance=0.4782969000000001 rel#2218:EnumerableProject.ENUMERABLE.[](input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL), rowcount=100.0, cumulative cost={200.0 rows, 401.0 cpu, 0.0 io} rel#2234:Subset#8.ENUMERABLE.[2], best=null, importance=0.4782969000000001 Set#9, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0, INTEGER ID, CHAR(8) DESC) rel#2109:Subset#9.NONE.[], best=null, importance=0.6561 rel#2108:LogicalJoin.NONE.[](left=RelSubset#2107,right=RelSubset#2102,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2127:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2188:Subset#9.ENUMERABLE.[], best=rel#2232, importance=0.5904900000000001 rel#2232:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 478.0 cpu, 0.0 io} rel#2236:EnumerableMergeJoin.ENUMERABLE.[[2], [3]](left=RelSubset#2234,right=RelSubset#2233,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2248:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2219,right=RelSubset#2183,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={678.5170185988092 rows, 403.0 cpu, 0.0 io} Set#10, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2117:Subset#10.NONE.[], best=null, importance=0.6561 rel#2115:LogicalJoin.NONE.[](left=RelSubset#2102,right=RelSubset#2080,condition==(CAST($3):INTEGER NOT NULL, $0),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2135:LogicalProject.NONE.[](input=RelSubset#2126,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={inf} rel#2148:LogicalProject.NONE.[](input=RelSubset#2087,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=2.25, cumulative cost={inf} rel#2155:LogicalProject.NONE.[](input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={inf} rel#2164:LogicalFilter.NONE.[](input=RelSubset#2122,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName'))), rowcount=2.25, cumulative cost={inf} rel#2323:LogicalProject.NONE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={inf} rel#2325:LogicalProject.NONE.[](input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={inf} rel#2372:LogicalFilter.NONE.[](input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={inf} rel#2177:Subset#10.ENUMERABLE.[], best=rel#2264, importance=0.7290000000000001 rel#2221:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={349.0 rows, 538.0 cpu, 0.0 io} rel#2222:EnumerableProject.ENUMERABLE.[](input=RelSubset#2190,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=2.25, cumulative cost={309.75 rows, 220.0 cpu, 0.0 io} rel#2226:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={334.0 rows, 463.0 cpu, 0.0 io} rel#2241:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2240,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={319.0 rows, 203.0 cpu, 0.0 io} rel#2264:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2225,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName'))), rowcount=2.25, cumulative cost={305.25 rows, 202.0 cpu, 0.0 io} rel#2373:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={inf} Set#11, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2122:Subset#11.NONE.[], best=null, importance=0.5904900000000001 rel#2120:LogicalJoin.NONE.[](left=RelSubset#2081,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} rel#2138:LogicalProject.NONE.[](input=RelSubset#2085,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=100.0, cumulative cost={inf} rel#2225:Subset#11.ENUMERABLE.[], best=rel#2237, importance=0.531441 rel#2224:EnumerableProject.ENUMERABLE.[](input=RelSubset#2223,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=100.0, cumulative cost={503.0 rows, 902.0 cpu, 0.0 io} rel#2237:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2176,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={303.0 rows, 102.0 cpu, 0.0 io} Set#12, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0) rel#2126:Subset#12.NONE.[], best=null, importance=0.5904900000000001 rel#2124:LogicalJoin.NONE.[](left=RelSubset#2102,right=RelSubset#2107,condition==($4, $0),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2152:LogicalProject.NONE.[](input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2), rowcount=15.0, cumulative cost={inf} rel#2185:Subset#12.ENUMERABLE.[], best=rel#2247, importance=0.531441 rel#2231:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2), rowcount=15.0, cumulative cost={349.0 rows, 553.0 cpu, 0.0 io} rel#2235:EnumerableMergeJoin.ENUMERABLE.[[0], [4]](left=RelSubset#2233,right=RelSubset#2234,condition==($0, $4),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2247:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2183,right=RelSubset#2219,condition==($0, $4),joinType=inner), rowcount=15.0, cumulative cost={319.0 rows, 403.0 cpu, 0.0 io} Set#14, type: RecordType(CHAR(8) DESC, JavaType(int) EMPNO) rel#2171:Subset#14.NONE.[], best=null, importance=0.81 rel#2169:LogicalAggregate.NONE.[](input=RelSubset#2126,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2182:LogicalProject.NONE.[](input=RelSubset#2091,DESC=$1,EMPNO=$0), rowcount=1.0, cumulative cost={inf} rel#2192:LogicalAggregate.NONE.[](input=RelSubset#2117,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2268:LogicalAggregate.NONE.[](input=RelSubset#2185,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2296:LogicalAggregate.NONE.[](input=RelSubset#2177,group={1, 2}), rowcount=1.0, cumulative cost={inf} rel#2173:Subset#14.ENUMERABLE.[], best=null, importance=0.9 rel#2199:EnumerableProject.ENUMERABLE.[](input=RelSubset#2097,DESC=$1,EMPNO=$0), rowcount=1.0, cumulative cost={inf} Set#16, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2240:Subset#16.ENUMERABLE.[], best=rel#2238, importance=0.6561 rel#2238:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2183,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={304.0 rows, 103.0 cpu, 0.0 io} Set#17, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2244:Subset#17.ENUMERABLE.[], best=rel#2242, importance=0.5904900000000001 rel#2242:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2183,condition=true,joinType=inner), rowcount=100.0, cumulative cost={663.5170185988092 rows, 103.0 cpu, 0.0 io} Set#21, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2371:Subset#21.ENUMERABLE.[], best=null, importance=0.5904900000000001 rel#2370:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2102,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} Set#22, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2379:Subset#22.ENUMERABLE.[], best=null, importance=0.6561 rel#2378:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2102,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2052 [label="rel#2052:EnumerableTableScan(table=[SALES, EMPS])\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 io}",color=blue,shape=box] subset2080 [label="rel#2080:Subset#0.ENUMERABLE.[]"] } subgraph cluster1{ label="Set 1 RecordType(INTEGER ID, CHAR(8) DESC)"; rel2054 [label="rel#2054:LogicalValues(type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }])\nrows=1.0, cost={inf}",shape=box] rel2082 [label="rel#2082:LogicalProject(input=RelSubset#2081,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] rel2175 [label="rel#2175:EnumerableValues(type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }])\nrows=1.0, cost={1.0 rows, 1.0 cpu, 0.0 io}",color=blue,shape=box] rel2200 [label="rel#2200:EnumerableProject(input=RelSubset#2176,ID=$0,DESC=$1)\nrows=1.0, cost={2.0 rows, 3.0 cpu, 0.0 io}",shape=box] subset2081 [label="rel#2081:Subset#1.NONE.[]"] subset2176 [label="rel#2176:Subset#1.ENUMERABLE.[]"] } subgraph cluster3{ label="Set 3 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2084 [label="rel#2084:LogicalJoin(left=RelSubset#2080,right=RelSubset#2081,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] rel2123 [label="rel#2123:LogicalProject(input=RelSubset#2122,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=100.0, cost={inf}",shape=box] rel2228 [label="rel#2228:EnumerableProject(input=RelSubset#2225,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=100.0, cost={403.0 rows, 502.0 cpu, 0.0 io}",color=blue,shape=box] rel2246 [label="rel#2246:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2176,condition=true,joinType=inner)\nrows=100.0, cost={662.5170185988092 rows, 102.0 cpu, 0.0 io}",shape=box] subset2085 [label="rel#2085:Subset#3.NONE.[]"] subset2223 [label="rel#2223:Subset#3.ENUMERABLE.[]"] } subgraph cluster4{ label="Set 4 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2086 [label="rel#2086:LogicalFilter(input=RelSubset#2085,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName')))\nrows=2.25, cost={inf}",shape=box] rel2103 [label="rel#2103:LogicalJoin(left=RelSubset#2080,right=RelSubset#2102,condition==(CAST($1):INTEGER NOT NULL, $2),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2110 [label="rel#2110:LogicalProject(input=RelSubset#2109,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2118 [label="rel#2118:LogicalProject(input=RelSubset#2117,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2129 [label="rel#2129:LogicalProject(input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2220 [label="rel#2220:EnumerableProject(input=RelSubset#2177,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=2.25, cost={307.5 rows, 211.0 cpu, 0.0 io}",color=blue,shape=box] rel2227 [label="rel#2227:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={334.0 rows, 463.0 cpu, 0.0 io}",shape=box] rel2230 [label="rel#2230:EnumerableProject(input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={349.0 rows, 538.0 cpu, 0.0 io}",shape=box] rel2245 [label="rel#2245:EnumerableFilter(input=RelSubset#2244,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={678.5170185988092 rows, 203.0 cpu, 0.0 io}",shape=box] rel2250 [label="rel#2250:EnumerableFilter(input=RelSubset#2223,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName')))\nrows=2.25, cost={405.25 rows, 602.0 cpu, 0.0 io}",shape=box] rel2319 [label="rel#2319:LogicalProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2321 [label="rel#2321:LogicalProject(input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2380 [label="rel#2380:LogicalFilter(input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={inf}",shape=box] rel2385 [label="rel#2385:EnumerableFilter(input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={inf}",shape=box] subset2087 [label="rel#2087:Subset#4.NONE.[]"] subset2190 [label="rel#2190:Subset#4.ENUMERABLE.[]"] } subgraph cluster5{ label="Set 5 RecordType(JavaType(int) EMPNO, CHAR(8) DESC)"; rel2088 [label="rel#2088:LogicalProject(input=RelSubset#2087,EMPNO=$0,DESC=$3)\nrows=2.25, cost={inf}",shape=box] rel2111 [label="rel#2111:LogicalProject(input=RelSubset#2109,EMPNO=$0,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2119 [label="rel#2119:LogicalProject(input=RelSubset#2117,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2128 [label="rel#2128:LogicalProject(input=RelSubset#2126,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2178 [label="rel#2178:EnumerableProject(input=RelSubset#2177,EMPNO=$2,DESC=$1)\nrows=2.25, cost={307.5 rows, 206.5 cpu, 0.0 io}",color=blue,shape=box] rel2186 [label="rel#2186:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DESC=$1)\nrows=15.0, cost={334.0 rows, 433.0 cpu, 0.0 io}",shape=box] rel2189 [label="rel#2189:EnumerableProject(input=RelSubset#2188,EMPNO=$0,DESC=$4)\nrows=15.0, cost={349.0 rows, 508.0 cpu, 0.0 io}",shape=box] rel2191 [label="rel#2191:EnumerableProject(input=RelSubset#2190,EMPNO=$0,DESC=$3)\nrows=2.25, cost={309.75 rows, 215.5 cpu, 0.0 io}",shape=box] rel2265 [label="rel#2265:LogicalProject(input=RelSubset#2188,EMPNO=$0,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2267 [label="rel#2267:LogicalProject(input=RelSubset#2185,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2284 [label="rel#2284:LogicalProject(input=RelSubset#2177,EMPNO=$2,DESC=$1)\nrows=2.25, cost={inf}",shape=box] rel2286 [label="rel#2286:LogicalProject(input=RelSubset#2190,EMPNO=$0,DESC=$3)\nrows=2.25, cost={inf}",shape=box] subset2089 [label="rel#2089:Subset#5.NONE.[]"] subset2179 [label="rel#2179:Subset#5.ENUMERABLE.[]"] } subgraph cluster6{ label="Set 6 RecordType(JavaType(int) EMPNO, CHAR(8) DESC)"; rel2090 [label="rel#2090:LogicalAggregate(input=RelSubset#2089,group={0, 1})\nrows=1.0, cost={inf}",shape=box] rel2098 [label="rel#2098:AbstractConverter(input=RelSubset#2091,convention=ENUMERABLE,sort=[])\nrows=1.0, cost={inf}",shape=box] rel2099 [label="rel#2099:LogicalAggregate(input=RelSubset#2087,group={0, 3})\nrows=1.0, cost={inf}",shape=box] rel2112 [label="rel#2112:LogicalAggregate(input=RelSubset#2109,group={0, 4})\nrows=1.5, cost={inf}",shape=box] rel2172 [label="rel#2172:LogicalProject(input=RelSubset#2171,EMPNO=$1,DESC=$0)\nrows=1.5, cost={inf}",shape=box] rel2174 [label="rel#2174:EnumerableProject(input=RelSubset#2173,EMPNO=$1,DESC=$0)\nrows=1.5, cost={inf}",shape=box] rel2266 [label="rel#2266:LogicalAggregate(input=RelSubset#2188,group={0, 4})\nrows=1.5, cost={inf}",shape=box] rel2287 [label="rel#2287:LogicalAggregate(input=RelSubset#2190,group={0, 3})\nrows=1.0, cost={inf}",shape=box] subset2091 [label="rel#2091:Subset#6.NONE.[]"] subset2097 [label="rel#2097:Subset#6.ENUMERABLE.[]"] } subgraph cluster7{ label="Set 7 RecordType(INTEGER ID, CHAR(8) DESC)"; rel2100 [label="rel#2100:LogicalFilter(input=RelSubset#2081,condition==($1, 'SameName'))\nrows=1.0, cost={inf}",shape=box] rel2141 [label="rel#2141:LogicalProject(input=RelSubset#2102,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] rel2184 [label="rel#2184:EnumerableProject(input=RelSubset#2183,ID=$0,DESC=$1)\nrows=1.0, cost={3.0 rows, 4.0 cpu, 0.0 io}",shape=box] rel2249 [label="rel#2249:EnumerableFilter(input=RelSubset#2176,condition==($1, 'SameName'))\nrows=1.0, cost={2.0 rows, 2.0 cpu, 0.0 io}",color=blue,shape=box] rel2366 [label="rel#2366:LogicalFilter(input=RelSubset#2176,condition==($1, 'SameName'))\nrows=1.0, cost={inf}",shape=box] rel2383 [label="rel#2383:EnumerableProject(input=RelSubset#2102,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] subset2102 [label="rel#2102:Subset#7.NONE.[]"] subset2183 [label="rel#2183:Subset#7.ENUMERABLE.[]"] subset2233 [label="rel#2233:Subset#7.ENUMERABLE.[0]",color=red] subset2183 -> subset2233; } subgraph cluster8{ label="Set 8 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0)"; rel2104 [label="rel#2104:LogicalProject(input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL)\nrows=100.0, cost={inf}",shape=box] rel2218 [label="rel#2218:EnumerableProject(input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL)\nrows=100.0, cost={200.0 rows, 401.0 cpu, 0.0 io}",color=blue,shape=box] subset2107 [label="rel#2107:Subset#8.NONE.[]"] subset2219 [label="rel#2219:Subset#8.ENUMERABLE.[]"] subset2234 [label="rel#2234:Subset#8.ENUMERABLE.[2]",color=red] subset2219 -> subset2234; } subgraph cluster9{ label="Set 9 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0, INTEGER ID, CHAR(8) DESC)"; rel2108 [label="rel#2108:LogicalJoin(left=RelSubset#2107,right=RelSubset#2102,condition==($2, $3),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2127 [label="rel#2127:LogicalProject(input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2232 [label="rel#2232:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1)\nrows=15.0, cost={334.0 rows, 478.0 cpu, 0.0 io}",color=blue,shape=box] rel2236 [label="rel#2236:EnumerableMergeJoin(left=RelSubset#2234,right=RelSubset#2233,condition==($2, $3),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2248 [label="rel#2248:EnumerableJoin(left=RelSubset#2219,right=RelSubset#2183,condition==($2, $3),joinType=inner)\nrows=15.0, cost={678.5170185988092 rows, 403.0 cpu, 0.0 io}",shape=box] subset2109 [label="rel#2109:Subset#9.NONE.[]"] subset2188 [label="rel#2188:Subset#9.ENUMERABLE.[]"] } subgraph cluster10{ label="Set 10 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2115 [label="rel#2115:LogicalJoin(left=RelSubset#2102,right=RelSubset#2080,condition==(CAST($3):INTEGER NOT NULL, $0),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2135 [label="rel#2135:LogicalProject(input=RelSubset#2126,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={inf}",shape=box] rel2148 [label="rel#2148:LogicalProject(input=RelSubset#2087,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=2.25, cost={inf}",shape=box] rel2155 [label="rel#2155:LogicalProject(input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={inf}",shape=box] rel2164 [label="rel#2164:LogicalFilter(input=RelSubset#2122,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName')))\nrows=2.25, cost={inf}",shape=box] rel2221 [label="rel#2221:EnumerableProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={349.0 rows, 538.0 cpu, 0.0 io}",shape=box] rel2222 [label="rel#2222:EnumerableProject(input=RelSubset#2190,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=2.25, cost={309.75 rows, 220.0 cpu, 0.0 io}",shape=box] rel2226 [label="rel#2226:EnumerableProject(input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={334.0 rows, 463.0 cpu, 0.0 io}",shape=box] rel2241 [label="rel#2241:EnumerableFilter(input=RelSubset#2240,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={319.0 rows, 203.0 cpu, 0.0 io}",shape=box] rel2264 [label="rel#2264:EnumerableFilter(input=RelSubset#2225,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName')))\nrows=2.25, cost={305.25 rows, 202.0 cpu, 0.0 io}",color=blue,shape=box] rel2323 [label="rel#2323:LogicalProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={inf}",shape=box] rel2325 [label="rel#2325:LogicalProject(input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={inf}",shape=box] rel2372 [label="rel#2372:LogicalFilter(input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={inf}",shape=box] rel2373 [label="rel#2373:EnumerableFilter(input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={inf}",shape=box] subset2117 [label="rel#2117:Subset#10.NONE.[]"] subset2177 [label="rel#2177:Subset#10.ENUMERABLE.[]"] } subgraph cluster11{ label="Set 11 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2120 [label="rel#2120:LogicalJoin(left=RelSubset#2081,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] rel2138 [label="rel#2138:LogicalProject(input=RelSubset#2085,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=100.0, cost={inf}",shape=box] rel2224 [label="rel#2224:EnumerableProject(input=RelSubset#2223,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=100.0, cost={503.0 rows, 902.0 cpu, 0.0 io}",shape=box] rel2237 [label="rel#2237:EnumerableJoin(left=RelSubset#2176,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={303.0 rows, 102.0 cpu, 0.0 io}",color=blue,shape=box] subset2122 [label="rel#2122:Subset#11.NONE.[]"] subset2225 [label="rel#2225:Subset#11.ENUMERABLE.[]"] } subgraph cluster12{ label="Set 12 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0)"; rel2124 [label="rel#2124:LogicalJoin(left=RelSubset#2102,right=RelSubset#2107,condition==($4, $0),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2152 [label="rel#2152:LogicalProject(input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2)\nrows=15.0, cost={inf}",shape=box] rel2231 [label="rel#2231:EnumerableProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2)\nrows=15.0, cost={349.0 rows, 553.0 cpu, 0.0 io}",shape=box] rel2235 [label="rel#2235:EnumerableMergeJoin(left=RelSubset#2233,right=RelSubset#2234,condition==($0, $4),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2247 [label="rel#2247:EnumerableJoin(left=RelSubset#2183,right=RelSubset#2219,condition==($0, $4),joinType=inner)\nrows=15.0, cost={319.0 rows, 403.0 cpu, 0.0 io}",color=blue,shape=box] subset2126 [label="rel#2126:Subset#12.NONE.[]"] subset2185 [label="rel#2185:Subset#12.ENUMERABLE.[]"] } subgraph cluster14{ label="Set 14 RecordType(CHAR(8) DESC, JavaType(int) EMPNO)"; rel2169 [label="rel#2169:LogicalAggregate(input=RelSubset#2126,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2182 [label="rel#2182:LogicalProject(input=RelSubset#2091,DESC=$1,EMPNO=$0)\nrows=1.0, cost={inf}",shape=box] rel2192 [label="rel#2192:LogicalAggregate(input=RelSubset#2117,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2199 [label="rel#2199:EnumerableProject(input=RelSubset#2097,DESC=$1,EMPNO=$0)\nrows=1.0, cost={inf}",shape=box] rel2268 [label="rel#2268:LogicalAggregate(input=RelSubset#2185,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2296 [label="rel#2296:LogicalAggregate(input=RelSubset#2177,group={1, 2})\nrows=1.0, cost={inf}",shape=box] subset2171 [label="rel#2171:Subset#14.NONE.[]"] subset2173 [label="rel#2173:Subset#14.ENUMERABLE.[]"] } subgraph cluster16{ label="Set 16 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2238 [label="rel#2238:EnumerableJoin(left=RelSubset#2183,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={304.0 rows, 103.0 cpu, 0.0 io}",color=blue,shape=box] subset2240 [label="rel#2240:Subset#16.ENUMERABLE.[]"] } subgraph cluster17{ label="Set 17 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2242 [label="rel#2242:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2183,condition=true,joinType=inner)\nrows=100.0, cost={663.5170185988092 rows, 103.0 cpu, 0.0 io}",color=blue,shape=box] subset2244 [label="rel#2244:Subset#17.ENUMERABLE.[]"] } subgraph cluster21{ label="Set 21 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2370 [label="rel#2370:EnumerableJoin(left=RelSubset#2102,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] subset2371 [label="rel#2371:Subset#21.ENUMERABLE.[]"] } subgraph cluster22{ label="Set 22 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2378 [label="rel#2378:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2102,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] subset2379 [label="rel#2379:Subset#22.ENUMERABLE.[]"] } root -> subset2097; subset2080 -> rel2052[color=blue]; subset2081 -> rel2054; subset2081 -> rel2082; rel2082 -> subset2081; subset2176 -> rel2175[color=blue]; subset2176 -> rel2200; rel2200 -> subset2176; subset2085 -> rel2084; rel2084 -> subset2080[label="0"]; rel2084 -> subset2081[label="1"]; subset2085 -> rel2123; rel2123 -> subset2122; subset2223 -> rel2228[color=blue]; rel2228 -> subset2225[color=blue]; subset2223 -> rel2246; rel2246 -> subset2080[label="0"]; rel2246 -> subset2176[label="1"]; subset2087 -> rel2086; rel2086 -> subset2085; subset2087 -> rel2103; rel2103 -> subset2080[label="0"]; rel2103 -> subset2102[label="1"]; subset2087 -> rel2110; rel2110 -> subset2109; subset2087 -> rel2118; rel2118 -> subset2117; subset2087 -> rel2129; rel2129 -> subset2126; subset2190 -> rel2220[color=blue]; rel2220 -> subset2177[color=blue]; subset2190 -> rel2227; rel2227 -> subset2185; subset2190 -> rel2230; rel2230 -> subset2188; subset2190 -> rel2245; rel2245 -> subset2244; subset2190 -> rel2250; rel2250 -> subset2223; subset2087 -> rel2319; rel2319 -> subset2185; subset2087 -> rel2321; rel2321 -> subset2188; subset2087 -> rel2380; rel2380 -> subset2379; subset2190 -> rel2385; rel2385 -> subset2379; subset2089 -> rel2088; rel2088 -> subset2087; subset2089 -> rel2111; rel2111 -> subset2109; subset2089 -> rel2119; rel2119 -> subset2117; subset2089 -> rel2128; rel2128 -> subset2126; subset2179 -> rel2178[color=blue]; rel2178 -> subset2177[color=blue]; subset2179 -> rel2186; rel2186 -> subset2185; subset2179 -> rel2189; rel2189 -> subset2188; subset2179 -> rel2191; rel2191 -> subset2190; subset2089 -> rel2265; rel2265 -> subset2188; subset2089 -> rel2267; rel2267 -> subset2185; subset2089 -> rel2284; rel2284 -> subset2177; subset2089 -> rel2286; rel2286 -> subset2190; subset2091 -> rel2090; rel2090 -> subset2089; subset2097 -> rel2098; rel2098 -> subset2091; subset2091 -> rel2099; rel2099 -> subset2087; subset2091 -> rel2112; rel2112 -> subset2109; subset2091 -> rel2172; rel2172 -> subset2171; subset2097 -> rel2174; rel2174 -> subset2173; subset2091 -> rel2266; rel2266 -> subset2188; subset2091 -> rel2287; rel2287 -> subset2190; subset2102 -> rel2100; rel2100 -> subset2081; subset2102 -> rel2141; rel2141 -> subset2102; subset2183 -> rel2184; rel2184 -> subset2183; subset2183 -> rel2249[color=blue]; rel2249 -> subset2176[color=blue]; subset2102 -> rel2366; rel2366 -> subset2176; subset2183 -> rel2383; rel2383 -> subset2102; subset2107 -> rel2104; rel2104 -> subset2080; subset2219 -> rel2218[color=blue]; rel2218 -> subset2080[color=blue]; subset2109 -> rel2108; rel2108 -> subset2107[label="0"]; rel2108 -> subset2102[label="1"]; subset2109 -> rel2127; rel2127 -> subset2126; subset2188 -> rel2232[color=blue]; rel2232 -> subset2185[color=blue]; subset2188 -> rel2236; rel2236 -> subset2234[label="0"]; rel2236 -> subset2233[label="1"]; subset2188 -> rel2248; rel2248 -> subset2219[label="0"]; rel2248 -> subset2183[label="1"]; subset2117 -> rel2115; rel2115 -> subset2102[label="0"]; rel2115 -> subset2080[label="1"]; subset2117 -> rel2135; rel2135 -> subset2126; subset2117 -> rel2148; rel2148 -> subset2087; subset2117 -> rel2155; rel2155 -> subset2109; subset2117 -> rel2164; rel2164 -> subset2122; subset2177 -> rel2221; rel2221 -> subset2188; subset2177 -> rel2222; rel2222 -> subset2190; subset2177 -> rel2226; rel2226 -> subset2185; subset2177 -> rel2241; rel2241 -> subset2240; subset2177 -> rel2264[color=blue]; rel2264 -> subset2225[color=blue]; subset2117 -> rel2323; rel2323 -> subset2188; subset2117 -> rel2325; rel2325 -> subset2185; subset2117 -> rel2372; rel2372 -> subset2371; subset2177 -> rel2373; rel2373 -> subset2371; subset2122 -> rel2120; rel2120 -> subset2081[label="0"]; rel2120 -> subset2080[label="1"]; subset2122 -> rel2138; rel2138 -> subset2085; subset2225 -> rel2224; rel2224 -> subset2223; subset2225 -> rel2237[color=blue]; rel2237 -> subset2176[color=blue,label="0"]; rel2237 -> subset2080[color=blue,label="1"]; subset2126 -> rel2124; rel2124 -> subset2102[label="0"]; rel2124 -> subset2107[label="1"]; subset2126 -> rel2152; rel2152 -> subset2109; subset2185 -> rel2231; rel2231 -> subset2188; subset2185 -> rel2235; rel2235 -> subset2233[label="0"]; rel2235 -> subset2234[label="1"]; subset2185 -> rel2247[color=blue]; rel2247 -> subset2183[color=blue,label="0"]; rel2247 -> subset2219[color=blue,label="1"]; subset2171 -> rel2169; rel2169 -> subset2126; subset2171 -> rel2182; rel2182 -> subset2091; subset2171 -> rel2192; rel2192 -> subset2117; subset2173 -> rel2199; rel2199 -> subset2097; subset2171 -> rel2268; rel2268 -> subset2185; subset2171 -> rel2296; rel2296 -> subset2177; subset2240 -> rel2238[color=blue]; rel2238 -> subset2183[color=blue,label="0"]; rel2238 -> subset2080[color=blue,label="1"]; subset2244 -> rel2242[color=blue]; rel2242 -> subset2080[color=blue,label="0"]; rel2242 -> subset2183[color=blue,label="1"]; subset2371 -> rel2370; rel2370 -> subset2102[label="0"]; rel2370 -> subset2080[label="1"]; subset2379 -> rel2378; rel2378 -> subset2080[label="0"]; rel2378 -> subset2102[label="1"]; } at org.apache.calcite.avatica.Helper.createException(Helper.java:56) at org.apache.calcite.avatica.Helper.createException(Helper.java:41) at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:163) at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227) at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:542) ... 28 more Caused by: org.apache.calcite.plan.RelOptPlanner$CannotPlanException: There are not enough rules to produce a node with desired properties: convention=ENUMERABLE, sort=[]. There is 1 empty subset: Empty subset 0: rel#2097:Subset#6.ENUMERABLE.[], the original plan was 2090:LogicalAggregate(group=[{0, 1}]) 2088:LogicalProject(subset=[rel#2089:Subset#5.NONE.[]], EMPNO=[$0], DESC=[$3]) 2086:LogicalFilter(subset=[rel#2087:Subset#4.NONE.[]], condition=[AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))]) 2084:LogicalJoin(subset=[rel#2085:Subset#3.NONE.[]], condition=[true], joinType=[inner]) 2052:EnumerableTableScan(subset=[rel#2080:Subset#0.ENUMERABLE.[]], table=[[SALES, EMPS]]) 2054:LogicalValues(subset=[rel#2081:Subset#1.NONE.[]], tuples=[[{ 10, 'SameName' }]]) Root: rel#2097:Subset#6.ENUMERABLE.[] Original rel: LogicalAggregate(group=[{0, 1}]): rowcount = 1.0, cumulative cost = {207.5 rows, 208.5 cpu, 0.0 io}, id = 2079 LogicalProject(EMPNO=[$0], DESC=[$3]): rowcount = 2.25, cumulative cost = {206.5 rows, 208.5 cpu, 0.0 io}, id = 2078 LogicalFilter(condition=[AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))]): rowcount = 2.25, cumulative cost = {204.25 rows, 204.0 cpu, 0.0 io}, id = 2077 LogicalJoin(condition=[true], joinType=[inner]): rowcount = 100.0, cumulative cost = {202.0 rows, 104.0 cpu, 0.0 io}, id = 2069 EnumerableTableScan(table=[[SALES, EMPS]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 2052 LogicalProject(ID=[$0], DESC=[$1]): rowcount = 1.0, cumulative cost = {2.0 rows, 3.0 cpu, 0.0 io}, id = 2067 LogicalValues(tuples=[[{ 10, 'SameName' }]]): rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io}, id = 2054 Sets: Set#0, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2080:Subset#0.ENUMERABLE.[], best=rel#2052, importance=0.5904900000000001 rel#2052:EnumerableTableScan.ENUMERABLE.[](table=[SALES, EMPS]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io} Set#1, type: RecordType(INTEGER ID, CHAR(8) DESC) rel#2081:Subset#1.NONE.[], best=null, importance=0.5904900000000001 rel#2054:LogicalValues.NONE.[[0, 1], [1]](type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }]), rowcount=1.0, cumulative cost={inf} rel#2082:LogicalProject.NONE.[[0, 1], [1]](input=RelSubset#2081,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2176:Subset#1.ENUMERABLE.[], best=rel#2175, importance=0.5904900000000001 rel#2175:EnumerableValues.ENUMERABLE.[[0, 1], [1]](type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }]), rowcount=1.0, cumulative cost={1.0 rows, 1.0 cpu, 0.0 io} rel#2200:EnumerableProject.ENUMERABLE.[](input=RelSubset#2176,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={2.0 rows, 3.0 cpu, 0.0 io} Set#3, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2085:Subset#3.NONE.[], best=null, importance=0.6561 rel#2084:LogicalJoin.NONE.[](left=RelSubset#2080,right=RelSubset#2081,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} rel#2123:LogicalProject.NONE.[](input=RelSubset#2122,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=100.0, cumulative cost={inf} rel#2223:Subset#3.ENUMERABLE.[], best=rel#2228, importance=0.5904900000000001 rel#2228:EnumerableProject.ENUMERABLE.[](input=RelSubset#2225,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=100.0, cumulative cost={403.0 rows, 502.0 cpu, 0.0 io} rel#2246:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2176,condition=true,joinType=inner), rowcount=100.0, cumulative cost={662.5170185988092 rows, 102.0 cpu, 0.0 io} Set#4, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2087:Subset#4.NONE.[], best=null, importance=0.7290000000000001 rel#2086:LogicalFilter.NONE.[](input=RelSubset#2085,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))), rowcount=2.25, cumulative cost={inf} rel#2103:LogicalJoin.NONE.[](left=RelSubset#2080,right=RelSubset#2102,condition==(CAST($1):INTEGER NOT NULL, $2),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2110:LogicalProject.NONE.[](input=RelSubset#2109,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2118:LogicalProject.NONE.[](input=RelSubset#2117,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2129:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2319:LogicalProject.NONE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2321:LogicalProject.NONE.[](input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2380:LogicalFilter.NONE.[](input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={inf} rel#2190:Subset#4.ENUMERABLE.[], best=rel#2220, importance=0.6561 rel#2220:EnumerableProject.ENUMERABLE.[](input=RelSubset#2177,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=2.25, cumulative cost={307.5 rows, 211.0 cpu, 0.0 io} rel#2227:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 463.0 cpu, 0.0 io} rel#2230:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4), rowcount=15.0, cumulative cost={349.0 rows, 538.0 cpu, 0.0 io} rel#2245:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2244,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={678.5170185988092 rows, 203.0 cpu, 0.0 io} rel#2250:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2223,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName'))), rowcount=2.25, cumulative cost={405.25 rows, 602.0 cpu, 0.0 io} rel#2385:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2)), rowcount=15.0, cumulative cost={inf} Set#5, type: RecordType(JavaType(int) EMPNO, CHAR(8) DESC) rel#2089:Subset#5.NONE.[], best=null, importance=0.81 rel#2088:LogicalProject.NONE.[](input=RelSubset#2087,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={inf} rel#2111:LogicalProject.NONE.[](input=RelSubset#2109,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2119:LogicalProject.NONE.[](input=RelSubset#2117,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2128:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2265:LogicalProject.NONE.[](input=RelSubset#2188,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={inf} rel#2267:LogicalProject.NONE.[](input=RelSubset#2185,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2284:LogicalProject.NONE.[](input=RelSubset#2177,EMPNO=$2,DESC=$1), rowcount=2.25, cumulative cost={inf} rel#2286:LogicalProject.NONE.[](input=RelSubset#2190,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={inf} rel#2179:Subset#5.ENUMERABLE.[], best=rel#2178, importance=0.405 rel#2178:EnumerableProject.ENUMERABLE.[](input=RelSubset#2177,EMPNO=$2,DESC=$1), rowcount=2.25, cumulative cost={307.5 rows, 206.5 cpu, 0.0 io} rel#2186:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 433.0 cpu, 0.0 io} rel#2189:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,EMPNO=$0,DESC=$4), rowcount=15.0, cumulative cost={349.0 rows, 508.0 cpu, 0.0 io} rel#2191:EnumerableProject.ENUMERABLE.[](input=RelSubset#2190,EMPNO=$0,DESC=$3), rowcount=2.25, cumulative cost={309.75 rows, 215.5 cpu, 0.0 io} Set#6, type: RecordType(JavaType(int) EMPNO, CHAR(8) DESC) rel#2091:Subset#6.NONE.[], best=null, importance=0.9 rel#2090:LogicalAggregate.NONE.[](input=RelSubset#2089,group={0, 1}), rowcount=1.0, cumulative cost={inf} rel#2099:LogicalAggregate.NONE.[](input=RelSubset#2087,group={0, 3}), rowcount=1.0, cumulative cost={inf} rel#2112:LogicalAggregate.NONE.[](input=RelSubset#2109,group={0, 4}), rowcount=1.5, cumulative cost={inf} rel#2172:LogicalProject.NONE.[](input=RelSubset#2171,EMPNO=$1,DESC=$0), rowcount=1.5, cumulative cost={inf} rel#2266:LogicalAggregate.NONE.[](input=RelSubset#2188,group={0, 4}), rowcount=1.5, cumulative cost={inf} rel#2287:LogicalAggregate.NONE.[](input=RelSubset#2190,group={0, 3}), rowcount=1.0, cumulative cost={inf} rel#2097:Subset#6.ENUMERABLE.[], best=null, importance=1.0 rel#2098:AbstractConverter.ENUMERABLE.[](input=RelSubset#2091,convention=ENUMERABLE,sort=[]), rowcount=1.0, cumulative cost={inf} rel#2174:EnumerableProject.ENUMERABLE.[](input=RelSubset#2173,EMPNO=$1,DESC=$0), rowcount=1.5, cumulative cost={inf} Set#7, type: RecordType(INTEGER ID, CHAR(8) DESC) rel#2102:Subset#7.NONE.[], best=null, importance=0.6561 rel#2100:LogicalFilter.NONE.[](input=RelSubset#2081,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={inf} rel#2141:LogicalProject.NONE.[[0, 1], [1]](input=RelSubset#2102,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2366:LogicalFilter.NONE.[](input=RelSubset#2176,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={inf} rel#2183:Subset#7.ENUMERABLE.[], best=rel#2249, importance=0.4782969000000001 rel#2184:EnumerableProject.ENUMERABLE.[](input=RelSubset#2183,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={3.0 rows, 4.0 cpu, 0.0 io} rel#2249:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2176,condition==($1, 'SameName')), rowcount=1.0, cumulative cost={2.0 rows, 2.0 cpu, 0.0 io} rel#2383:EnumerableProject.ENUMERABLE.[](input=RelSubset#2102,ID=$0,DESC=$1), rowcount=1.0, cumulative cost={inf} rel#2233:Subset#7.ENUMERABLE.[0], best=null, importance=0.4782969000000001 Set#8, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0) rel#2107:Subset#8.NONE.[], best=null, importance=0.5904900000000001 rel#2104:LogicalProject.NONE.[](input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL), rowcount=100.0, cumulative cost={inf} rel#2219:Subset#8.ENUMERABLE.[], best=rel#2218, importance=0.4782969000000001 rel#2218:EnumerableProject.ENUMERABLE.[](input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL), rowcount=100.0, cumulative cost={200.0 rows, 401.0 cpu, 0.0 io} rel#2234:Subset#8.ENUMERABLE.[2], best=null, importance=0.4782969000000001 Set#9, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0, INTEGER ID, CHAR(8) DESC) rel#2109:Subset#9.NONE.[], best=null, importance=0.6561 rel#2108:LogicalJoin.NONE.[](left=RelSubset#2107,right=RelSubset#2102,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2127:LogicalProject.NONE.[](input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={inf} rel#2188:Subset#9.ENUMERABLE.[], best=rel#2232, importance=0.5904900000000001 rel#2232:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1), rowcount=15.0, cumulative cost={334.0 rows, 478.0 cpu, 0.0 io} rel#2236:EnumerableMergeJoin.ENUMERABLE.[[2], [3]](left=RelSubset#2234,right=RelSubset#2233,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2248:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2219,right=RelSubset#2183,condition==($2, $3),joinType=inner), rowcount=15.0, cumulative cost={678.5170185988092 rows, 403.0 cpu, 0.0 io} Set#10, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2117:Subset#10.NONE.[], best=null, importance=0.6561 rel#2115:LogicalJoin.NONE.[](left=RelSubset#2102,right=RelSubset#2080,condition==(CAST($3):INTEGER NOT NULL, $0),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2135:LogicalProject.NONE.[](input=RelSubset#2126,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={inf} rel#2148:LogicalProject.NONE.[](input=RelSubset#2087,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=2.25, cumulative cost={inf} rel#2155:LogicalProject.NONE.[](input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={inf} rel#2164:LogicalFilter.NONE.[](input=RelSubset#2122,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName'))), rowcount=2.25, cumulative cost={inf} rel#2323:LogicalProject.NONE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={inf} rel#2325:LogicalProject.NONE.[](input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={inf} rel#2372:LogicalFilter.NONE.[](input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={inf} rel#2177:Subset#10.ENUMERABLE.[], best=rel#2264, importance=0.7290000000000001 rel#2221:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1), rowcount=15.0, cumulative cost={349.0 rows, 538.0 cpu, 0.0 io} rel#2222:EnumerableProject.ENUMERABLE.[](input=RelSubset#2190,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=2.25, cumulative cost={309.75 rows, 220.0 cpu, 0.0 io} rel#2226:EnumerableProject.ENUMERABLE.[](input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3), rowcount=15.0, cumulative cost={334.0 rows, 463.0 cpu, 0.0 io} rel#2241:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2240,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={319.0 rows, 203.0 cpu, 0.0 io} rel#2264:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2225,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName'))), rowcount=2.25, cumulative cost={305.25 rows, 202.0 cpu, 0.0 io} rel#2373:EnumerableFilter.ENUMERABLE.[](input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0)), rowcount=15.0, cumulative cost={inf} Set#11, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2122:Subset#11.NONE.[], best=null, importance=0.5904900000000001 rel#2120:LogicalJoin.NONE.[](left=RelSubset#2081,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} rel#2138:LogicalProject.NONE.[](input=RelSubset#2085,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=100.0, cumulative cost={inf} rel#2225:Subset#11.ENUMERABLE.[], best=rel#2237, importance=0.531441 rel#2224:EnumerableProject.ENUMERABLE.[](input=RelSubset#2223,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1), rowcount=100.0, cumulative cost={503.0 rows, 902.0 cpu, 0.0 io} rel#2237:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2176,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={303.0 rows, 102.0 cpu, 0.0 io} Set#12, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0) rel#2126:Subset#12.NONE.[], best=null, importance=0.5904900000000001 rel#2124:LogicalJoin.NONE.[](left=RelSubset#2102,right=RelSubset#2107,condition==($4, $0),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2152:LogicalProject.NONE.[](input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2), rowcount=15.0, cumulative cost={inf} rel#2185:Subset#12.ENUMERABLE.[], best=rel#2247, importance=0.531441 rel#2231:EnumerableProject.ENUMERABLE.[](input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2), rowcount=15.0, cumulative cost={349.0 rows, 553.0 cpu, 0.0 io} rel#2235:EnumerableMergeJoin.ENUMERABLE.[[0], [4]](left=RelSubset#2233,right=RelSubset#2234,condition==($0, $4),joinType=inner), rowcount=15.0, cumulative cost={inf} rel#2247:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2183,right=RelSubset#2219,condition==($0, $4),joinType=inner), rowcount=15.0, cumulative cost={319.0 rows, 403.0 cpu, 0.0 io} Set#14, type: RecordType(CHAR(8) DESC, JavaType(int) EMPNO) rel#2171:Subset#14.NONE.[], best=null, importance=0.81 rel#2169:LogicalAggregate.NONE.[](input=RelSubset#2126,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2182:LogicalProject.NONE.[](input=RelSubset#2091,DESC=$1,EMPNO=$0), rowcount=1.0, cumulative cost={inf} rel#2192:LogicalAggregate.NONE.[](input=RelSubset#2117,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2268:LogicalAggregate.NONE.[](input=RelSubset#2185,group={1, 2}), rowcount=1.5, cumulative cost={inf} rel#2296:LogicalAggregate.NONE.[](input=RelSubset#2177,group={1, 2}), rowcount=1.0, cumulative cost={inf} rel#2173:Subset#14.ENUMERABLE.[], best=null, importance=0.9 rel#2199:EnumerableProject.ENUMERABLE.[](input=RelSubset#2097,DESC=$1,EMPNO=$0), rowcount=1.0, cumulative cost={inf} Set#16, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2240:Subset#16.ENUMERABLE.[], best=rel#2238, importance=0.6561 rel#2238:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2183,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={304.0 rows, 103.0 cpu, 0.0 io} Set#17, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2244:Subset#17.ENUMERABLE.[], best=rel#2242, importance=0.5904900000000001 rel#2242:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2183,condition=true,joinType=inner), rowcount=100.0, cumulative cost={663.5170185988092 rows, 103.0 cpu, 0.0 io} Set#21, type: RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO) rel#2371:Subset#21.ENUMERABLE.[], best=null, importance=0.5904900000000001 rel#2370:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2102,right=RelSubset#2080,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} Set#22, type: RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC) rel#2379:Subset#22.ENUMERABLE.[], best=null, importance=0.6561 rel#2378:EnumerableJoin.ENUMERABLE.[](left=RelSubset#2080,right=RelSubset#2102,condition=true,joinType=inner), rowcount=100.0, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2052 [label="rel#2052:EnumerableTableScan(table=[SALES, EMPS])\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 io}",color=blue,shape=box] subset2080 [label="rel#2080:Subset#0.ENUMERABLE.[]"] } subgraph cluster1{ label="Set 1 RecordType(INTEGER ID, CHAR(8) DESC)"; rel2054 [label="rel#2054:LogicalValues(type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }])\nrows=1.0, cost={inf}",shape=box] rel2082 [label="rel#2082:LogicalProject(input=RelSubset#2081,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] rel2175 [label="rel#2175:EnumerableValues(type=RecordType(INTEGER ID, CHAR(8) DESC),tuples=[{ 10, 'SameName' }])\nrows=1.0, cost={1.0 rows, 1.0 cpu, 0.0 io}",color=blue,shape=box] rel2200 [label="rel#2200:EnumerableProject(input=RelSubset#2176,ID=$0,DESC=$1)\nrows=1.0, cost={2.0 rows, 3.0 cpu, 0.0 io}",shape=box] subset2081 [label="rel#2081:Subset#1.NONE.[]"] subset2176 [label="rel#2176:Subset#1.ENUMERABLE.[]"] } subgraph cluster3{ label="Set 3 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2084 [label="rel#2084:LogicalJoin(left=RelSubset#2080,right=RelSubset#2081,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] rel2123 [label="rel#2123:LogicalProject(input=RelSubset#2122,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=100.0, cost={inf}",shape=box] rel2228 [label="rel#2228:EnumerableProject(input=RelSubset#2225,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=100.0, cost={403.0 rows, 502.0 cpu, 0.0 io}",color=blue,shape=box] rel2246 [label="rel#2246:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2176,condition=true,joinType=inner)\nrows=100.0, cost={662.5170185988092 rows, 102.0 cpu, 0.0 io}",shape=box] subset2085 [label="rel#2085:Subset#3.NONE.[]"] subset2223 [label="rel#2223:Subset#3.ENUMERABLE.[]"] } subgraph cluster4{ label="Set 4 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2086 [label="rel#2086:LogicalFilter(input=RelSubset#2085,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName')))\nrows=2.25, cost={inf}",shape=box] rel2103 [label="rel#2103:LogicalJoin(left=RelSubset#2080,right=RelSubset#2102,condition==(CAST($1):INTEGER NOT NULL, $2),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2110 [label="rel#2110:LogicalProject(input=RelSubset#2109,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2118 [label="rel#2118:LogicalProject(input=RelSubset#2117,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2129 [label="rel#2129:LogicalProject(input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2220 [label="rel#2220:EnumerableProject(input=RelSubset#2177,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=2.25, cost={307.5 rows, 211.0 cpu, 0.0 io}",color=blue,shape=box] rel2227 [label="rel#2227:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={334.0 rows, 463.0 cpu, 0.0 io}",shape=box] rel2230 [label="rel#2230:EnumerableProject(input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={349.0 rows, 538.0 cpu, 0.0 io}",shape=box] rel2245 [label="rel#2245:EnumerableFilter(input=RelSubset#2244,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={678.5170185988092 rows, 203.0 cpu, 0.0 io}",shape=box] rel2250 [label="rel#2250:EnumerableFilter(input=RelSubset#2223,condition=AND(=(CAST($1):INTEGER NOT NULL, $2), =($3, 'SameName')))\nrows=2.25, cost={405.25 rows, 602.0 cpu, 0.0 io}",shape=box] rel2319 [label="rel#2319:LogicalProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2321 [label="rel#2321:LogicalProject(input=RelSubset#2188,EMPNO=$0,DEPTNO=$1,ID=$3,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2380 [label="rel#2380:LogicalFilter(input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={inf}",shape=box] rel2385 [label="rel#2385:EnumerableFilter(input=RelSubset#2379,condition==(CAST($1):INTEGER NOT NULL, $2))\nrows=15.0, cost={inf}",shape=box] subset2087 [label="rel#2087:Subset#4.NONE.[]"] subset2190 [label="rel#2190:Subset#4.ENUMERABLE.[]"] } subgraph cluster5{ label="Set 5 RecordType(JavaType(int) EMPNO, CHAR(8) DESC)"; rel2088 [label="rel#2088:LogicalProject(input=RelSubset#2087,EMPNO=$0,DESC=$3)\nrows=2.25, cost={inf}",shape=box] rel2111 [label="rel#2111:LogicalProject(input=RelSubset#2109,EMPNO=$0,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2119 [label="rel#2119:LogicalProject(input=RelSubset#2117,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2128 [label="rel#2128:LogicalProject(input=RelSubset#2126,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2178 [label="rel#2178:EnumerableProject(input=RelSubset#2177,EMPNO=$2,DESC=$1)\nrows=2.25, cost={307.5 rows, 206.5 cpu, 0.0 io}",color=blue,shape=box] rel2186 [label="rel#2186:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DESC=$1)\nrows=15.0, cost={334.0 rows, 433.0 cpu, 0.0 io}",shape=box] rel2189 [label="rel#2189:EnumerableProject(input=RelSubset#2188,EMPNO=$0,DESC=$4)\nrows=15.0, cost={349.0 rows, 508.0 cpu, 0.0 io}",shape=box] rel2191 [label="rel#2191:EnumerableProject(input=RelSubset#2190,EMPNO=$0,DESC=$3)\nrows=2.25, cost={309.75 rows, 215.5 cpu, 0.0 io}",shape=box] rel2265 [label="rel#2265:LogicalProject(input=RelSubset#2188,EMPNO=$0,DESC=$4)\nrows=15.0, cost={inf}",shape=box] rel2267 [label="rel#2267:LogicalProject(input=RelSubset#2185,EMPNO=$2,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2284 [label="rel#2284:LogicalProject(input=RelSubset#2177,EMPNO=$2,DESC=$1)\nrows=2.25, cost={inf}",shape=box] rel2286 [label="rel#2286:LogicalProject(input=RelSubset#2190,EMPNO=$0,DESC=$3)\nrows=2.25, cost={inf}",shape=box] subset2089 [label="rel#2089:Subset#5.NONE.[]"] subset2179 [label="rel#2179:Subset#5.ENUMERABLE.[]"] } subgraph cluster6{ label="Set 6 RecordType(JavaType(int) EMPNO, CHAR(8) DESC)"; rel2090 [label="rel#2090:LogicalAggregate(input=RelSubset#2089,group={0, 1})\nrows=1.0, cost={inf}",shape=box] rel2098 [label="rel#2098:AbstractConverter(input=RelSubset#2091,convention=ENUMERABLE,sort=[])\nrows=1.0, cost={inf}",shape=box] rel2099 [label="rel#2099:LogicalAggregate(input=RelSubset#2087,group={0, 3})\nrows=1.0, cost={inf}",shape=box] rel2112 [label="rel#2112:LogicalAggregate(input=RelSubset#2109,group={0, 4})\nrows=1.5, cost={inf}",shape=box] rel2172 [label="rel#2172:LogicalProject(input=RelSubset#2171,EMPNO=$1,DESC=$0)\nrows=1.5, cost={inf}",shape=box] rel2174 [label="rel#2174:EnumerableProject(input=RelSubset#2173,EMPNO=$1,DESC=$0)\nrows=1.5, cost={inf}",shape=box] rel2266 [label="rel#2266:LogicalAggregate(input=RelSubset#2188,group={0, 4})\nrows=1.5, cost={inf}",shape=box] rel2287 [label="rel#2287:LogicalAggregate(input=RelSubset#2190,group={0, 3})\nrows=1.0, cost={inf}",shape=box] subset2091 [label="rel#2091:Subset#6.NONE.[]"] subset2097 [label="rel#2097:Subset#6.ENUMERABLE.[]"] } subgraph cluster7{ label="Set 7 RecordType(INTEGER ID, CHAR(8) DESC)"; rel2100 [label="rel#2100:LogicalFilter(input=RelSubset#2081,condition==($1, 'SameName'))\nrows=1.0, cost={inf}",shape=box] rel2141 [label="rel#2141:LogicalProject(input=RelSubset#2102,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] rel2184 [label="rel#2184:EnumerableProject(input=RelSubset#2183,ID=$0,DESC=$1)\nrows=1.0, cost={3.0 rows, 4.0 cpu, 0.0 io}",shape=box] rel2249 [label="rel#2249:EnumerableFilter(input=RelSubset#2176,condition==($1, 'SameName'))\nrows=1.0, cost={2.0 rows, 2.0 cpu, 0.0 io}",color=blue,shape=box] rel2366 [label="rel#2366:LogicalFilter(input=RelSubset#2176,condition==($1, 'SameName'))\nrows=1.0, cost={inf}",shape=box] rel2383 [label="rel#2383:EnumerableProject(input=RelSubset#2102,ID=$0,DESC=$1)\nrows=1.0, cost={inf}",shape=box] subset2102 [label="rel#2102:Subset#7.NONE.[]"] subset2183 [label="rel#2183:Subset#7.ENUMERABLE.[]"] subset2233 [label="rel#2233:Subset#7.ENUMERABLE.[0]",color=red] subset2183 -> subset2233; } subgraph cluster8{ label="Set 8 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0)"; rel2104 [label="rel#2104:LogicalProject(input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL)\nrows=100.0, cost={inf}",shape=box] rel2218 [label="rel#2218:EnumerableProject(input=RelSubset#2080,EMPNO=$0,DEPTNO=$1,DEPTNO0=CAST($1):INTEGER NOT NULL)\nrows=100.0, cost={200.0 rows, 401.0 cpu, 0.0 io}",color=blue,shape=box] subset2107 [label="rel#2107:Subset#8.NONE.[]"] subset2219 [label="rel#2219:Subset#8.ENUMERABLE.[]"] subset2234 [label="rel#2234:Subset#8.ENUMERABLE.[2]",color=red] subset2219 -> subset2234; } subgraph cluster9{ label="Set 9 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0, INTEGER ID, CHAR(8) DESC)"; rel2108 [label="rel#2108:LogicalJoin(left=RelSubset#2107,right=RelSubset#2102,condition==($2, $3),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2127 [label="rel#2127:LogicalProject(input=RelSubset#2126,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1)\nrows=15.0, cost={inf}",shape=box] rel2232 [label="rel#2232:EnumerableProject(input=RelSubset#2185,EMPNO=$2,DEPTNO=$3,DEPTNO0=$4,ID=$0,DESC=$1)\nrows=15.0, cost={334.0 rows, 478.0 cpu, 0.0 io}",color=blue,shape=box] rel2236 [label="rel#2236:EnumerableMergeJoin(left=RelSubset#2234,right=RelSubset#2233,condition==($2, $3),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2248 [label="rel#2248:EnumerableJoin(left=RelSubset#2219,right=RelSubset#2183,condition==($2, $3),joinType=inner)\nrows=15.0, cost={678.5170185988092 rows, 403.0 cpu, 0.0 io}",shape=box] subset2109 [label="rel#2109:Subset#9.NONE.[]"] subset2188 [label="rel#2188:Subset#9.ENUMERABLE.[]"] } subgraph cluster10{ label="Set 10 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2115 [label="rel#2115:LogicalJoin(left=RelSubset#2102,right=RelSubset#2080,condition==(CAST($3):INTEGER NOT NULL, $0),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2135 [label="rel#2135:LogicalProject(input=RelSubset#2126,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={inf}",shape=box] rel2148 [label="rel#2148:LogicalProject(input=RelSubset#2087,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=2.25, cost={inf}",shape=box] rel2155 [label="rel#2155:LogicalProject(input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={inf}",shape=box] rel2164 [label="rel#2164:LogicalFilter(input=RelSubset#2122,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName')))\nrows=2.25, cost={inf}",shape=box] rel2221 [label="rel#2221:EnumerableProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={349.0 rows, 538.0 cpu, 0.0 io}",shape=box] rel2222 [label="rel#2222:EnumerableProject(input=RelSubset#2190,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=2.25, cost={309.75 rows, 220.0 cpu, 0.0 io}",shape=box] rel2226 [label="rel#2226:EnumerableProject(input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={334.0 rows, 463.0 cpu, 0.0 io}",shape=box] rel2241 [label="rel#2241:EnumerableFilter(input=RelSubset#2240,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={319.0 rows, 203.0 cpu, 0.0 io}",shape=box] rel2264 [label="rel#2264:EnumerableFilter(input=RelSubset#2225,condition=AND(=(CAST($3):INTEGER NOT NULL, $0), =($1, 'SameName')))\nrows=2.25, cost={305.25 rows, 202.0 cpu, 0.0 io}",color=blue,shape=box] rel2323 [label="rel#2323:LogicalProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1)\nrows=15.0, cost={inf}",shape=box] rel2325 [label="rel#2325:LogicalProject(input=RelSubset#2185,ID=$0,DESC=$1,EMPNO=$2,DEPTNO=$3)\nrows=15.0, cost={inf}",shape=box] rel2372 [label="rel#2372:LogicalFilter(input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={inf}",shape=box] rel2373 [label="rel#2373:EnumerableFilter(input=RelSubset#2371,condition==(CAST($3):INTEGER NOT NULL, $0))\nrows=15.0, cost={inf}",shape=box] subset2117 [label="rel#2117:Subset#10.NONE.[]"] subset2177 [label="rel#2177:Subset#10.ENUMERABLE.[]"] } subgraph cluster11{ label="Set 11 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2120 [label="rel#2120:LogicalJoin(left=RelSubset#2081,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] rel2138 [label="rel#2138:LogicalProject(input=RelSubset#2085,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=100.0, cost={inf}",shape=box] rel2224 [label="rel#2224:EnumerableProject(input=RelSubset#2223,ID=$2,DESC=$3,EMPNO=$0,DEPTNO=$1)\nrows=100.0, cost={503.0 rows, 902.0 cpu, 0.0 io}",shape=box] rel2237 [label="rel#2237:EnumerableJoin(left=RelSubset#2176,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={303.0 rows, 102.0 cpu, 0.0 io}",color=blue,shape=box] subset2122 [label="rel#2122:Subset#11.NONE.[]"] subset2225 [label="rel#2225:Subset#11.ENUMERABLE.[]"] } subgraph cluster12{ label="Set 12 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER DEPTNO0)"; rel2124 [label="rel#2124:LogicalJoin(left=RelSubset#2102,right=RelSubset#2107,condition==($4, $0),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2152 [label="rel#2152:LogicalProject(input=RelSubset#2109,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2)\nrows=15.0, cost={inf}",shape=box] rel2231 [label="rel#2231:EnumerableProject(input=RelSubset#2188,ID=$3,DESC=$4,EMPNO=$0,DEPTNO=$1,DEPTNO0=$2)\nrows=15.0, cost={349.0 rows, 553.0 cpu, 0.0 io}",shape=box] rel2235 [label="rel#2235:EnumerableMergeJoin(left=RelSubset#2233,right=RelSubset#2234,condition==($0, $4),joinType=inner)\nrows=15.0, cost={inf}",shape=box] rel2247 [label="rel#2247:EnumerableJoin(left=RelSubset#2183,right=RelSubset#2219,condition==($0, $4),joinType=inner)\nrows=15.0, cost={319.0 rows, 403.0 cpu, 0.0 io}",color=blue,shape=box] subset2126 [label="rel#2126:Subset#12.NONE.[]"] subset2185 [label="rel#2185:Subset#12.ENUMERABLE.[]"] } subgraph cluster14{ label="Set 14 RecordType(CHAR(8) DESC, JavaType(int) EMPNO)"; rel2169 [label="rel#2169:LogicalAggregate(input=RelSubset#2126,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2182 [label="rel#2182:LogicalProject(input=RelSubset#2091,DESC=$1,EMPNO=$0)\nrows=1.0, cost={inf}",shape=box] rel2192 [label="rel#2192:LogicalAggregate(input=RelSubset#2117,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2199 [label="rel#2199:EnumerableProject(input=RelSubset#2097,DESC=$1,EMPNO=$0)\nrows=1.0, cost={inf}",shape=box] rel2268 [label="rel#2268:LogicalAggregate(input=RelSubset#2185,group={1, 2})\nrows=1.5, cost={inf}",shape=box] rel2296 [label="rel#2296:LogicalAggregate(input=RelSubset#2177,group={1, 2})\nrows=1.0, cost={inf}",shape=box] subset2171 [label="rel#2171:Subset#14.NONE.[]"] subset2173 [label="rel#2173:Subset#14.ENUMERABLE.[]"] } subgraph cluster16{ label="Set 16 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2238 [label="rel#2238:EnumerableJoin(left=RelSubset#2183,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={304.0 rows, 103.0 cpu, 0.0 io}",color=blue,shape=box] subset2240 [label="rel#2240:Subset#16.ENUMERABLE.[]"] } subgraph cluster17{ label="Set 17 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2242 [label="rel#2242:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2183,condition=true,joinType=inner)\nrows=100.0, cost={663.5170185988092 rows, 103.0 cpu, 0.0 io}",color=blue,shape=box] subset2244 [label="rel#2244:Subset#17.ENUMERABLE.[]"] } subgraph cluster21{ label="Set 21 RecordType(INTEGER ID, CHAR(8) DESC, JavaType(int) EMPNO, JavaType(int) DEPTNO)"; rel2370 [label="rel#2370:EnumerableJoin(left=RelSubset#2102,right=RelSubset#2080,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] subset2371 [label="rel#2371:Subset#21.ENUMERABLE.[]"] } subgraph cluster22{ label="Set 22 RecordType(JavaType(int) EMPNO, JavaType(int) DEPTNO, INTEGER ID, CHAR(8) DESC)"; rel2378 [label="rel#2378:EnumerableJoin(left=RelSubset#2080,right=RelSubset#2102,condition=true,joinType=inner)\nrows=100.0, cost={inf}",shape=box] subset2379 [label="rel#2379:Subset#22.ENUMERABLE.[]"] } root -> subset2097; subset2080 -> rel2052[color=blue]; subset2081 -> rel2054; subset2081 -> rel2082; rel2082 -> subset2081; subset2176 -> rel2175[color=blue]; subset2176 -> rel2200; rel2200 -> subset2176; subset2085 -> rel2084; rel2084 -> subset2080[label="0"]; rel2084 -> subset2081[label="1"]; subset2085 -> rel2123; rel2123 -> subset2122; subset2223 -> rel2228[color=blue]; rel2228 -> subset2225[color=blue]; subset2223 -> rel2246; rel2246 -> subset2080[label="0"]; rel2246 -> subset2176[label="1"]; subset2087 -> rel2086; rel2086 -> subset2085; subset2087 -> rel2103; rel2103 -> subset2080[label="0"]; rel2103 -> subset2102[label="1"]; subset2087 -> rel2110; rel2110 -> subset2109; subset2087 -> rel2118; rel2118 -> subset2117; subset2087 -> rel2129; rel2129 -> subset2126; subset2190 -> rel2220[color=blue]; rel2220 -> subset2177[color=blue]; subset2190 -> rel2227; rel2227 -> subset2185; subset2190 -> rel2230; rel2230 -> subset2188; subset2190 -> rel2245; rel2245 -> subset2244; subset2190 -> rel2250; rel2250 -> subset2223; subset2087 -> rel2319; rel2319 -> subset2185; subset2087 -> rel2321; rel2321 -> subset2188; subset2087 -> rel2380; rel2380 -> subset2379; subset2190 -> rel2385; rel2385 -> subset2379; subset2089 -> rel2088; rel2088 -> subset2087; subset2089 -> rel2111; rel2111 -> subset2109; subset2089 -> rel2119; rel2119 -> subset2117; subset2089 -> rel2128; rel2128 -> subset2126; subset2179 -> rel2178[color=blue]; rel2178 -> subset2177[color=blue]; subset2179 -> rel2186; rel2186 -> subset2185; subset2179 -> rel2189; rel2189 -> subset2188; subset2179 -> rel2191; rel2191 -> subset2190; subset2089 -> rel2265; rel2265 -> subset2188; subset2089 -> rel2267; rel2267 -> subset2185; subset2089 -> rel2284; rel2284 -> subset2177; subset2089 -> rel2286; rel2286 -> subset2190; subset2091 -> rel2090; rel2090 -> subset2089; subset2097 -> rel2098; rel2098 -> subset2091; subset2091 -> rel2099; rel2099 -> subset2087; subset2091 -> rel2112; rel2112 -> subset2109; subset2091 -> rel2172; rel2172 -> subset2171; subset2097 -> rel2174; rel2174 -> subset2173; subset2091 -> rel2266; rel2266 -> subset2188; subset2091 -> rel2287; rel2287 -> subset2190; subset2102 -> rel2100; rel2100 -> subset2081; subset2102 -> rel2141; rel2141 -> subset2102; subset2183 -> rel2184; rel2184 -> subset2183; subset2183 -> rel2249[color=blue]; rel2249 -> subset2176[color=blue]; subset2102 -> rel2366; rel2366 -> subset2176; subset2183 -> rel2383; rel2383 -> subset2102; subset2107 -> rel2104; rel2104 -> subset2080; subset2219 -> rel2218[color=blue]; rel2218 -> subset2080[color=blue]; subset2109 -> rel2108; rel2108 -> subset2107[label="0"]; rel2108 -> subset2102[label="1"]; subset2109 -> rel2127; rel2127 -> subset2126; subset2188 -> rel2232[color=blue]; rel2232 -> subset2185[color=blue]; subset2188 -> rel2236; rel2236 -> subset2234[label="0"]; rel2236 -> subset2233[label="1"]; subset2188 -> rel2248; rel2248 -> subset2219[label="0"]; rel2248 -> subset2183[label="1"]; subset2117 -> rel2115; rel2115 -> subset2102[label="0"]; rel2115 -> subset2080[label="1"]; subset2117 -> rel2135; rel2135 -> subset2126; subset2117 -> rel2148; rel2148 -> subset2087; subset2117 -> rel2155; rel2155 -> subset2109; subset2117 -> rel2164; rel2164 -> subset2122; subset2177 -> rel2221; rel2221 -> subset2188; subset2177 -> rel2222; rel2222 -> subset2190; subset2177 -> rel2226; rel2226 -> subset2185; subset2177 -> rel2241; rel2241 -> subset2240; subset2177 -> rel2264[color=blue]; rel2264 -> subset2225[color=blue]; subset2117 -> rel2323; rel2323 -> subset2188; subset2117 -> rel2325; rel2325 -> subset2185; subset2117 -> rel2372; rel2372 -> subset2371; subset2177 -> rel2373; rel2373 -> subset2371; subset2122 -> rel2120; rel2120 -> subset2081[label="0"]; rel2120 -> subset2080[label="1"]; subset2122 -> rel2138; rel2138 -> subset2085; subset2225 -> rel2224; rel2224 -> subset2223; subset2225 -> rel2237[color=blue]; rel2237 -> subset2176[color=blue,label="0"]; rel2237 -> subset2080[color=blue,label="1"]; subset2126 -> rel2124; rel2124 -> subset2102[label="0"]; rel2124 -> subset2107[label="1"]; subset2126 -> rel2152; rel2152 -> subset2109; subset2185 -> rel2231; rel2231 -> subset2188; subset2185 -> rel2235; rel2235 -> subset2233[label="0"]; rel2235 -> subset2234[label="1"]; subset2185 -> rel2247[color=blue]; rel2247 -> subset2183[color=blue,label="0"]; rel2247 -> subset2219[color=blue,label="1"]; subset2171 -> rel2169; rel2169 -> subset2126; subset2171 -> rel2182; rel2182 -> subset2091; subset2171 -> rel2192; rel2192 -> subset2117; subset2173 -> rel2199; rel2199 -> subset2097; subset2171 -> rel2268; rel2268 -> subset2185; subset2171 -> rel2296; rel2296 -> subset2177; subset2240 -> rel2238[color=blue]; rel2238 -> subset2183[color=blue,label="0"]; rel2238 -> subset2080[color=blue,label="1"]; subset2244 -> rel2242[color=blue]; rel2242 -> subset2080[color=blue,label="0"]; rel2242 -> subset2183[color=blue,label="1"]; subset2371 -> rel2370; rel2370 -> subset2102[label="0"]; rel2370 -> subset2080[label="1"]; subset2379 -> rel2378; rel2378 -> subset2080[label="0"]; rel2378 -> subset2102[label="1"]; } at org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:559) at org.apache.calcite.plan.volcano.RelSubset.buildCheapestPlan(RelSubset.java:301) at org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:655) at org.apache.calcite.tools.Programs.lambda$standard$3(Programs.java:298) at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:358) at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:189) at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:314) at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:231) at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:772) at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:636) at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:606) at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:229) at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:550) at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675) at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156) ... 30 more
Attachments
Issue Links
- blocks
-
CALCITE-2817 Make CannotPlanException great
- Closed
- causes
-
CALCITE-3040 Avatica drops exception messages starting in 1.14.0
- Closed
- links to