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

Spongebob closed FLINK-26384.
-----------------------------
    Resolution: Not A Problem

> This exception indicates that the query uses an unsupported SQL feature.
> ------------------------------------------------------------------------
>
>                 Key: FLINK-26384
>                 URL: https://issues.apache.org/jira/browse/FLINK-26384
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.14.3
>            Reporter: Spongebob
>            Priority: Major
>
> Got an unsupported exception when generating a valid execution plan.
> {code:java}
> //代码占位符
> TableEnvironment tableEnvironment = 
> TableEnvironment.create(EnvironmentSettings.newInstance().inBatchMode().build());
> // HERE'S DDL AND DML SQL
> CREATE TABLE IF NOT EXISTS TABLE_A (CIR_CAPT DECIMAL(20,4),FULL_MKT_TSCP 
> DECIMAL(20,4),TSCP DECIMAL(20,4),FULL_MKT_CIR_CAPT DECIMAL(20,4),SCR_INCD 
> DECIMAL(19,0),AST_TYPE DECIMAL(3,0),SCR_TYPE DECIMAL(3,0)) WITH ('connector' 
> = 'jdbc'...)
> CREATE TABLE IF NOT EXISTS TABLE_B (AST_TYPE DECIMAL(4,0),CIR_CAPT 
> DECIMAL(20,4),FULL_MKT_CIR_CAPT DECIMAL(20,4),FULL_MKT_TSCP 
> DECIMAL(20,4),SCR_INCD DECIMAL(19,0),SCR_TYPE DECIMAL(8,0),TSCP 
> DECIMAL(20,4),  PRIMARY KEY (SCR_INCD) NOT ENFORCED)  WITH ('connector' = 
> 'jdbc'...)
> INSERT INTO TABLE_B 
> SELECT T_SOURCE.* FROM (
> SELECT CASE WHEN B.AST_TYPE IS NULL THEN 1 ELSE B.AST_TYPE END AS AST_TYPE, 
> B.CIR_CAPT AS CIR_CAPT, B.FULL_MKT_CIR_CAPT AS FULL_MKT_CIR_CAPT, 
> B.FULL_MKT_TSCP AS FULL_MKT_TSCP, B.SCR_INCD AS SCR_INCD, CASE WHEN 
> B.SCR_TYPE IS NULL THEN 1 ELSE B.SCR_TYPE END AS SCR_TYPE, B.TSCP AS TSCP 
> FROM TABLE_A B
> ) T_SOURCE INNER JOIN ( SELECT DISTINCT SCR_INCD FROM TABLE_B) T_SINK ON 
> T_SOURCE.SCR_INCD = T_SINK.SCR_INCD    
> // EXCEPTION TRACK
> This exception indicates that the query uses an unsupported SQL feature.
> Please check the documentation for the set of currently supported SQL 
> features.
>     at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkVolcanoProgram.optimize(FlinkVolcanoProgram.scala:76)
>     at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram.$anonfun$optimize$1(FlinkChainedProgram.scala:62)
>     at 
> scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:156)
>     at 
> scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:156)
>     at scala.collection.Iterator.foreach(Iterator.scala:937)
>     at scala.collection.Iterator.foreach$(Iterator.scala:937)
>     at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)
>     at scala.collection.IterableLike.foreach(IterableLike.scala:70)
>     at scala.collection.IterableLike.foreach$(IterableLike.scala:69)
>     at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>     at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:156)
>     at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:154)
>     at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
>     at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram.optimize(FlinkChainedProgram.scala:58)
>     at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.optimizeTree(BatchCommonSubGraphBasedOptimizer.scala:85)
>     at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.optimizeBlock(BatchCommonSubGraphBasedOptimizer.scala:56)
>     at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.$anonfun$doOptimize$1(BatchCommonSubGraphBasedOptimizer.scala:44)
>     at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.$anonfun$doOptimize$1$adapted(BatchCommonSubGraphBasedOptimizer.scala:44)
>     at 
> scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:58)
>     at 
> scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:51)
>     at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
>     at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.doOptimize(BatchCommonSubGraphBasedOptimizer.scala:44)
>     at 
> org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:77)
>     at 
> org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:300)
>     at 
> org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:183)
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1665)
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:752)
>     at 
> org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:124)
>     at 
> com.xctech.cone.etl.migrate.batch.runner.RunSingleTask.main(RunSingleTask.java:111)
> Caused by: org.apache.calcite.plan.RelOptPlanner$CannotPlanException: There 
> are not enough rules to produce a node with desired properties: 
> convention=BATCH_PHYSICAL, FlinkRelDistributionTraitDef=any, sort=[].
> Missing conversions are FlinkLogicalTableSourceScan[convention: LOGICAL -> 
> BATCH_PHYSICAL, FlinkRelDistributionTraitDef: any -> hash[4]true], 
> FlinkLogicalCalc[convention: LOGICAL -> BATCH_PHYSICAL, 
> FlinkRelDistributionTraitDef: any -> broadcast], 
> FlinkLogicalTableSourceScan[convention: LOGICAL -> BATCH_PHYSICAL]
> There are 3 empty subsets:
> Empty subset 0: rel#782:RelSubset#23.BATCH_PHYSICAL.broadcast.[], the 
> relevant part of the original plan is as follows
> 755:FlinkLogicalCalc(select=[SCR_INCD])
>   
> 710:FlinkLogicalTableSourceScan(subset=[rel#754:RelSubset#22.LOGICAL.any.[]], 
> table=[[default_catalog, default_database, TABLE_B]], fields=[AST_TYPE, 
> CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP])Empty 
> subset 1: rel#770:RelSubset#22.BATCH_PHYSICAL.any.[], the relevant part of 
> the original plan is as follows
> 710:FlinkLogicalTableSourceScan(table=[[default_catalog, default_database, 
> TABLE_B]], fields=[AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP])Empty subset 2: 
> rel#799:RelSubset#22.BATCH_PHYSICAL.hash[4]true.[], the relevant part of the 
> original plan is as follows
> 710:FlinkLogicalTableSourceScan(table=[[default_catalog, default_database, 
> TABLE_B]], fields=[AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP])Root: rel#764:RelSubset#26.BATCH_PHYSICAL.any.[]
> Original rel:
> FlinkLogicalSink(subset=[rel#305:RelSubset#6.LOGICAL.any.[]], 
> table=[default_catalog.default_database.TABLE_B], fields=[AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP]): rowcount = 
> 3.0E7, cumulative cost = {3.0E7 rows, 3.0E7 cpu, 0.0 io, 0.0 network, 0.0 
> memory}, id = 322
>   FlinkLogicalCalc(subset=[rel#321:RelSubset#5.LOGICAL.any.[]], 
> select=[CAST(AST_TYPE) AS AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, 
> FULL_MKT_TSCP, SCR_INCD, CAST(SCR_TYPE) AS SCR_TYPE, TSCP]): rowcount = 
> 3.0E7, cumulative cost = {3.0E7 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 
> memory}, id = 330
>     FlinkLogicalJoin(subset=[rel#319:RelSubset#4.LOGICAL.any.[]], 
> condition=[=($4, $7)], joinType=[inner]): rowcount = 3.0E7, cumulative cost = 
> {1.0E8 rows, 2.0E8 cpu, 8.5E9 io, 0.0 network, 0.0 memory}, id = 318
>       FlinkLogicalCalc(subset=[rel#316:RelSubset#1.LOGICAL.any.[]], 
> select=[CASE(IS NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS 
> AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS 
> NULL(_SCR_TYPE), 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP]): 
> rowcount = 1.0E8, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 
> network, 0.0 memory}, id = 326
>         
> FlinkLogicalTableSourceScan(subset=[rel#308:RelSubset#0.LOGICAL.any.[]], 
> table=[[default_catalog, default_database, VAR__SCR_EXT_INFO_KRSCSN]], 
> fields=[CIR_CAPT, FULL_MKT_TSCP, TSCP, FULL_MKT_CIR_CAPT, SCR_INCD, 
> _AST_TYPE, _SCR_TYPE]): rowcount = 1.0E8, cumulative cost = {1.0E8 rows, 
> 1.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}, id = 307
>       
> FlinkLogicalTableSourceScan(subset=[rel#317:RelSubset#3.LOGICAL.any.[]], 
> table=[[default_catalog, default_database, TABLE_B, project=[SCR_INCD]]], 
> fields=[SCR_INCD]): rowcount = 1.0E8, cumulative cost = {1.0E8 rows, 1.0E8 
> cpu, 1.2E9 io, 0.0 network, 0.0 memory}, id = 327Sets:
> Set#20, type: RecordType(DECIMAL(20, 4) CIR_CAPT, DECIMAL(20, 4) 
> FULL_MKT_TSCP, DECIMAL(20, 4) TSCP, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(3, 0) _AST_TYPE, DECIMAL(3, 0) _SCR_TYPE)
>     rel#751:RelSubset#20.LOGICAL.any.[], best=rel#707
>         
> rel#707:FlinkLogicalTableSourceScan.LOGICAL.any.[](table=[default_catalog, 
> default_database, VAR__SCR_EXT_INFO_KRSCSN],fields=CIR_CAPT, FULL_MKT_TSCP, 
> TSCP, FULL_MKT_CIR_CAPT, SCR_INCD, _AST_TYPE, _SCR_TYPE), rowcount=1.0E8, 
> cumulative cost={1.0E8 rows, 1.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}
>     rel#767:RelSubset#20.BATCH_PHYSICAL.any.[], best=rel#766
>         
> rel#766:BatchPhysicalTableSourceScan.BATCH_PHYSICAL.any.[](table=[default_catalog,
>  default_database, VAR__SCR_EXT_INFO_KRSCSN],fields=CIR_CAPT, FULL_MKT_TSCP, 
> TSCP, FULL_MKT_CIR_CAPT, SCR_INCD, _AST_TYPE, _SCR_TYPE), rowcount=1.0E8, 
> cumulative cost={1.0E8 rows, 0.0 cpu, 8.4E9 io, 0.0 network, 0.0 memory}
>         
> rel#794:AbstractConverter.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#767,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#809:BatchPhysicalExchange.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#767,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={2.0E8 rows, 1.68E10 cpu, 8.4E9 io, 8.4E9 
> network, 0.0 memory}
>     rel#793:RelSubset#20.BATCH_PHYSICAL.hash[4]true.[], best=rel#809
>         
> rel#794:AbstractConverter.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#767,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#809:BatchPhysicalExchange.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#767,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={2.0E8 rows, 1.68E10 cpu, 8.4E9 io, 8.4E9 
> network, 0.0 memory}
> Set#21, type: RecordType(DECIMAL(10, 0) AST_TYPE, DECIMAL(20, 4) CIR_CAPT, 
> DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, DECIMAL(19, 
> 0) SCR_INCD, DECIMAL(10, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)
>     rel#753:RelSubset#21.LOGICAL.any.[], best=rel#752
>         
> rel#752:FlinkLogicalCalc.LOGICAL.any.[](input=RelSubset#751,select=CASE(IS 
> NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP), rowcount=1.0E8, 
> cumulative cost={2.0E8 rows, 3.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}
>     rel#769:RelSubset#21.BATCH_PHYSICAL.any.[], best=rel#768
>         
> rel#768:BatchPhysicalCalc.BATCH_PHYSICAL.any.[](input=RelSubset#767,select=CASE(IS
>  NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP), rowcount=1.0E8, 
> cumulative cost={2.0E8 rows, 2.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}
>         
> rel#774:AbstractConverter.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#769,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#790:BatchPhysicalExchange.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#769,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={3.0E8 rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 
> network, 0.0 memory}
>         
> rel#795:BatchPhysicalCalc.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#793,select=CASE(IS
>  NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP), rowcount=1.0E8, 
> cumulative cost={3.0E8 rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 network, 0.0 memory}
>     rel#773:RelSubset#21.BATCH_PHYSICAL.hash[4]true.[], best=rel#790
>         
> rel#774:AbstractConverter.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#769,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#790:BatchPhysicalExchange.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#769,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={3.0E8 rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 
> network, 0.0 memory}
>         
> rel#795:BatchPhysicalCalc.BATCH_PHYSICAL.hash[4]true.[](input=RelSubset#793,select=CASE(IS
>  NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP), rowcount=1.0E8, 
> cumulative cost={3.0E8 rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 network, 0.0 memory}
> Set#22, type: RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) CIR_CAPT, 
> DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, DECIMAL(19, 
> 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)
>     rel#754:RelSubset#22.LOGICAL.any.[], best=rel#710
>         
> rel#710:FlinkLogicalTableSourceScan.LOGICAL.any.[](table=[default_catalog, 
> default_database, TABLE_B],fields=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, 
> FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP), rowcount=1.0E8, cumulative 
> cost={1.0E8 rows, 1.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}
>     rel#770:RelSubset#22.BATCH_PHYSICAL.any.[], best=null
>     rel#799:RelSubset#22.BATCH_PHYSICAL.hash[4]true.[], best=null
> Set#23, type: RecordType(DECIMAL(19, 0) SCR_INCD)
>     rel#756:RelSubset#23.LOGICAL.any.[], best=rel#755
>         
> rel#755:FlinkLogicalCalc.LOGICAL.any.[](input=RelSubset#754,select=SCR_INCD), 
> rowcount=1.0E8, cumulative cost={2.0E8 rows, 1.0E8 cpu, 8.4E9 io, 0.0 
> network, 0.0 memory}
>     rel#772:RelSubset#23.BATCH_PHYSICAL.any.[], best=null
>         
> rel#771:BatchPhysicalCalc.BATCH_PHYSICAL.any.[](input=RelSubset#770,select=SCR_INCD),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#776:AbstractConverter.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#783:AbstractConverter.BATCH_PHYSICAL.broadcast.[](input=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#798:AbstractConverter.BATCH_PHYSICAL.broadcast.[](input=RelSubset#775,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#797:BatchPhysicalExchange.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#772,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#800:BatchPhysicalCalc.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#799,select=SCR_INCD),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#803:AbstractConverter.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#782,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#802:BatchPhysicalExchange.BATCH_PHYSICAL.broadcast.[](input=RelSubset#772,distribution=broadcast),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#805:BatchPhysicalExchange.BATCH_PHYSICAL.broadcast.[](input=RelSubset#775,distribution=broadcast),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#807:BatchPhysicalExchange.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#782,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={inf}
>     rel#775:RelSubset#23.BATCH_PHYSICAL.hash[0]true.[], best=null
>         
> rel#776:AbstractConverter.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#797:BatchPhysicalExchange.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#772,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#800:BatchPhysicalCalc.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#799,select=SCR_INCD),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#803:AbstractConverter.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#782,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#807:BatchPhysicalExchange.BATCH_PHYSICAL.hash[0]true.[](input=RelSubset#782,distribution=hash[SCR_INCD]),
>  rowcount=1.0E8, cumulative cost={inf}
>     rel#782:RelSubset#23.BATCH_PHYSICAL.broadcast.[], best=null
>         
> rel#783:AbstractConverter.BATCH_PHYSICAL.broadcast.[](input=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#798:AbstractConverter.BATCH_PHYSICAL.broadcast.[](input=RelSubset#775,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#802:BatchPhysicalExchange.BATCH_PHYSICAL.broadcast.[](input=RelSubset#772,distribution=broadcast),
>  rowcount=1.0E8, cumulative cost={inf}
>         
> rel#805:BatchPhysicalExchange.BATCH_PHYSICAL.broadcast.[](input=RelSubset#775,distribution=broadcast),
>  rowcount=1.0E8, cumulative cost={inf}
> Set#24, type: RecordType(DECIMAL(10, 0) AST_TYPE, DECIMAL(20, 4) CIR_CAPT, 
> DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, DECIMAL(19, 
> 0) SCR_INCD, DECIMAL(10, 0) SCR_TYPE, DECIMAL(20, 4) TSCP, DECIMAL(19, 0) 
> SCR_INCD0)
>     rel#758:RelSubset#24.LOGICAL.any.[], best=rel#757
>         
> rel#757:FlinkLogicalJoin.LOGICAL.any.[](left=RelSubset#753,right=RelSubset#756,condition==($4,
>  $7),joinType=inner), rowcount=3.0E7, cumulative cost={5.0E8 rows, 6.0E8 cpu, 
> 2.53E10 io, 0.0 network, 0.0 memory}
>     rel#778:RelSubset#24.BATCH_PHYSICAL.any.[], best=null
>         
> rel#777:BatchPhysicalHashJoin.BATCH_PHYSICAL.any.[](left=RelSubset#773,right=RelSubset#775,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0,build=right), rowcount=3.0E7, cumulative 
> cost={inf}
>         
> rel#780:BatchPhysicalSortMergeJoin.BATCH_PHYSICAL.any.[](left=RelSubset#773,right=RelSubset#775,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0), rowcount=3.0E7, cumulative cost={inf}
>         
> rel#784:BatchPhysicalNestedLoopJoin.BATCH_PHYSICAL.any.[](left=RelSubset#769,right=RelSubset#782,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0,build=right), rowcount=3.0E7, cumulative 
> cost={inf}
> Set#25, type: RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) CIR_CAPT, 
> DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, DECIMAL(19, 
> 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)
>     rel#760:RelSubset#25.LOGICAL.any.[], best=rel#759
>         
> rel#759:FlinkLogicalCalc.LOGICAL.any.[](input=RelSubset#758,select=CAST(AST_TYPE)
>  AS AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, 
> CAST(SCR_TYPE) AS SCR_TYPE, TSCP), rowcount=3.0E7, cumulative cost={5.3E8 
> rows, 6.0E8 cpu, 2.53E10 io, 0.0 network, 0.0 memory}
>     rel#787:RelSubset#25.BATCH_PHYSICAL.any.[], best=null
>         
> rel#786:BatchPhysicalCalc.BATCH_PHYSICAL.any.[](input=RelSubset#778,select=CAST(AST_TYPE)
>  AS AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, 
> CAST(SCR_TYPE) AS SCR_TYPE, TSCP), rowcount=3.0E7, cumulative cost={inf}
> Set#26, type: RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) CIR_CAPT, 
> DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, DECIMAL(19, 
> 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)
>     rel#763:RelSubset#26.LOGICAL.any.[], best=rel#762
>         
> rel#762:FlinkLogicalSink.LOGICAL.any.[](input=RelSubset#760,table=default_catalog.default_database.TABLE_B,fields=AST_TYPE,
>  CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP), 
> rowcount=3.0E7, cumulative cost={5.6E8 rows, 6.3E8 cpu, 2.53E10 io, 0.0 
> network, 0.0 memory}
>     rel#764:RelSubset#26.BATCH_PHYSICAL.any.[], best=null
>         
> rel#765:AbstractConverter.BATCH_PHYSICAL.any.[](input=RelSubset#763,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=any,sort=[]),
>  rowcount=3.0E7, cumulative cost={inf}
>         
> rel#788:BatchPhysicalSink.BATCH_PHYSICAL.any.[](input=RelSubset#787,table=default_catalog.default_database.TABLE_B,fields=AST_TYPE,
>  CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP), 
> rowcount=3.0E7, cumulative cost={inf}Graphviz:
> digraph G {
>     root [style=filled,label="Root"];
>     subgraph cluster20{
>         label="Set 20 RecordType(DECIMAL(20, 4) CIR_CAPT, DECIMAL(20, 4) 
> FULL_MKT_TSCP, DECIMAL(20, 4) TSCP, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(3, 0) _AST_TYPE, DECIMAL(3, 0) _SCR_TYPE)";
>         rel707 
> [label="rel#707:FlinkLogicalTableSourceScan\ntable=[default_catalog, 
> default_database, VAR__SCR_EXT_INFO_KRSCSN],fields=CIR_CAPT, FULL_MKT_TSCP, 
> TSCP, FULL_MKT_CIR_CAPT, SCR_INCD, _AST_TYPE, _SCR_TYPE\nrows=1.0E8, 
> cost={1.0E8 rows, 1.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 
> memory}",color=blue,shape=box]
>         rel766 
> [label="rel#766:BatchPhysicalTableSourceScan\ntable=[default_catalog, 
> default_database, VAR__SCR_EXT_INFO_KRSCSN],fields=CIR_CAPT, FULL_MKT_TSCP, 
> TSCP, FULL_MKT_CIR_CAPT, SCR_INCD, _AST_TYPE, _SCR_TYPE\nrows=1.0E8, 
> cost={1.0E8 rows, 0.0 cpu, 8.4E9 io, 0.0 network, 0.0 
> memory}",color=blue,shape=box]
>         rel794 
> [label="rel#794:AbstractConverter\ninput=RelSubset#767,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel809 
> [label="rel#809:BatchPhysicalExchange\ninput=RelSubset#767,distribution=hash[SCR_INCD]\nrows=1.0E8,
>  cost={2.0E8 rows, 1.68E10 cpu, 8.4E9 io, 8.4E9 network, 0.0 
> memory}",color=blue,shape=box]
>         subset751 [label="rel#751:RelSubset#20.LOGICAL.any.[]"]
>         subset767 [label="rel#767:RelSubset#20.BATCH_PHYSICAL.any.[]"]
>         subset793 [label="rel#793:RelSubset#20.BATCH_PHYSICAL.hash[4]true.[]"]
>         subset767 -> subset793;    }
>     subgraph cluster21{
>         label="Set 21 RecordType(DECIMAL(10, 0) AST_TYPE, DECIMAL(20, 4) 
> CIR_CAPT, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(10, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)";
>         rel752 
> [label="rel#752:FlinkLogicalCalc\ninput=RelSubset#751,select=CASE(IS 
> NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP\nrows=1.0E8, cost={2.0E8 
> rows, 3.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}",color=blue,shape=box]
>         rel768 
> [label="rel#768:BatchPhysicalCalc\ninput=RelSubset#767,select=CASE(IS 
> NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP\nrows=1.0E8, cost={2.0E8 
> rows, 2.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 memory}",color=blue,shape=box]
>         rel774 
> [label="rel#774:AbstractConverter\ninput=RelSubset#769,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[4]true,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel790 
> [label="rel#790:BatchPhysicalExchange\ninput=RelSubset#769,distribution=hash[SCR_INCD]\nrows=1.0E8,
>  cost={3.0E8 rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 network, 0.0 
> memory}",color=blue,shape=box]
>         rel795 
> [label="rel#795:BatchPhysicalCalc\ninput=RelSubset#793,select=CASE(IS 
> NULL(_AST_TYPE), 1:DECIMAL(10, 0), CAST(_AST_TYPE)) AS AST_TYPE, CIR_CAPT, 
> FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, CASE(IS NULL(_SCR_TYPE), 
> 1:DECIMAL(10, 0), CAST(_SCR_TYPE)) AS SCR_TYPE, TSCP\nrows=1.0E8, cost={3.0E8 
> rows, 1.7E10 cpu, 8.4E9 io, 8.4E9 network, 0.0 memory}",shape=box]
>         subset753 [label="rel#753:RelSubset#21.LOGICAL.any.[]"]
>         subset769 [label="rel#769:RelSubset#21.BATCH_PHYSICAL.any.[]"]
>         subset773 [label="rel#773:RelSubset#21.BATCH_PHYSICAL.hash[4]true.[]"]
>         subset769 -> subset773;    }
>     subgraph cluster22{
>         label="Set 22 RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) 
> CIR_CAPT, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)";
>         rel710 
> [label="rel#710:FlinkLogicalTableSourceScan\ntable=[default_catalog, 
> default_database, TABLE_B],fields=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, 
> FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, TSCP\nrows=1.0E8, cost={1.0E8 rows, 1.0E8 
> cpu, 8.4E9 io, 0.0 network, 0.0 memory}",color=blue,shape=box]
>         subset754 [label="rel#754:RelSubset#22.LOGICAL.any.[]"]
>         subset770 
> [label="rel#770:RelSubset#22.BATCH_PHYSICAL.any.[]",color=red]
>         subset799 
> [label="rel#799:RelSubset#22.BATCH_PHYSICAL.hash[4]true.[]",color=red]
>         subset770 -> subset799;    }
>     subgraph cluster23{
>         label="Set 23 RecordType(DECIMAL(19, 0) SCR_INCD)";
>         rel755 
> [label="rel#755:FlinkLogicalCalc\ninput=RelSubset#754,select=SCR_INCD\nrows=1.0E8,
>  cost={2.0E8 rows, 1.0E8 cpu, 8.4E9 io, 0.0 network, 0.0 
> memory}",color=blue,shape=box]
>         rel771 
> [label="rel#771:BatchPhysicalCalc\ninput=RelSubset#770,select=SCR_INCD\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel776 
> [label="rel#776:AbstractConverter\ninput=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel783 
> [label="rel#783:AbstractConverter\ninput=RelSubset#772,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel798 
> [label="rel#798:AbstractConverter\ninput=RelSubset#775,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=broadcast,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel797 
> [label="rel#797:BatchPhysicalExchange\ninput=RelSubset#772,distribution=hash[SCR_INCD]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel800 
> [label="rel#800:BatchPhysicalCalc\ninput=RelSubset#799,select=SCR_INCD\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel803 
> [label="rel#803:AbstractConverter\ninput=RelSubset#782,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=hash[0]true,sort=[]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel802 
> [label="rel#802:BatchPhysicalExchange\ninput=RelSubset#772,distribution=broadcast\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel805 
> [label="rel#805:BatchPhysicalExchange\ninput=RelSubset#775,distribution=broadcast\nrows=1.0E8,
>  cost={inf}",shape=box]
>         rel807 
> [label="rel#807:BatchPhysicalExchange\ninput=RelSubset#782,distribution=hash[SCR_INCD]\nrows=1.0E8,
>  cost={inf}",shape=box]
>         subset756 [label="rel#756:RelSubset#23.LOGICAL.any.[]"]
>         subset772 [label="rel#772:RelSubset#23.BATCH_PHYSICAL.any.[]"]
>         subset775 [label="rel#775:RelSubset#23.BATCH_PHYSICAL.hash[0]true.[]"]
>         subset782 [label="rel#782:RelSubset#23.BATCH_PHYSICAL.broadcast.[]"]
>         subset772 -> subset775;        subset772 -> subset782;    }
>     subgraph cluster24{
>         label="Set 24 RecordType(DECIMAL(10, 0) AST_TYPE, DECIMAL(20, 4) 
> CIR_CAPT, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(10, 0) SCR_TYPE, DECIMAL(20, 4) TSCP, 
> DECIMAL(19, 0) SCR_INCD0)";
>         rel757 
> [label="rel#757:FlinkLogicalJoin\nleft=RelSubset#753,right=RelSubset#756,condition==($4,
>  $7),joinType=inner\nrows=3.0E7, cost={5.0E8 rows, 6.0E8 cpu, 2.53E10 io, 0.0 
> network, 0.0 memory}",color=blue,shape=box]
>         rel777 
> [label="rel#777:BatchPhysicalHashJoin\nleft=RelSubset#773,right=RelSubset#775,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0,build=right\nrows=3.0E7, 
> cost={inf}",shape=box]
>         rel780 
> [label="rel#780:BatchPhysicalSortMergeJoin\nleft=RelSubset#773,right=RelSubset#775,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0\nrows=3.0E7, cost={inf}",shape=box]
>         rel784 
> [label="rel#784:BatchPhysicalNestedLoopJoin\nleft=RelSubset#769,right=RelSubset#782,joinType=InnerJoin,where==(SCR_INCD,
>  SCR_INCD0),select=AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, 
> SCR_INCD, SCR_TYPE, TSCP, SCR_INCD0,build=right\nrows=3.0E7, 
> cost={inf}",shape=box]
>         subset758 [label="rel#758:RelSubset#24.LOGICAL.any.[]"]
>         subset778 [label="rel#778:RelSubset#24.BATCH_PHYSICAL.any.[]"]
>     }
>     subgraph cluster25{
>         label="Set 25 RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) 
> CIR_CAPT, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)";
>         rel759 
> [label="rel#759:FlinkLogicalCalc\ninput=RelSubset#758,select=CAST(AST_TYPE) 
> AS AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, 
> CAST(SCR_TYPE) AS SCR_TYPE, TSCP\nrows=3.0E7, cost={5.3E8 rows, 6.0E8 cpu, 
> 2.53E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box]
>         rel786 
> [label="rel#786:BatchPhysicalCalc\ninput=RelSubset#778,select=CAST(AST_TYPE) 
> AS AST_TYPE, CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, 
> CAST(SCR_TYPE) AS SCR_TYPE, TSCP\nrows=3.0E7, cost={inf}",shape=box]
>         subset760 [label="rel#760:RelSubset#25.LOGICAL.any.[]"]
>         subset787 [label="rel#787:RelSubset#25.BATCH_PHYSICAL.any.[]"]
>     }
>     subgraph cluster26{
>         label="Set 26 RecordType(DECIMAL(4, 0) AST_TYPE, DECIMAL(20, 4) 
> CIR_CAPT, DECIMAL(20, 4) FULL_MKT_CIR_CAPT, DECIMAL(20, 4) FULL_MKT_TSCP, 
> DECIMAL(19, 0) SCR_INCD, DECIMAL(8, 0) SCR_TYPE, DECIMAL(20, 4) TSCP)";
>         rel762 
> [label="rel#762:FlinkLogicalSink\ninput=RelSubset#760,table=default_catalog.default_database.TABLE_B,fields=AST_TYPE,
>  CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, 
> TSCP\nrows=3.0E7, cost={5.6E8 rows, 6.3E8 cpu, 2.53E10 io, 0.0 network, 0.0 
> memory}",color=blue,shape=box]
>         rel765 
> [label="rel#765:AbstractConverter\ninput=RelSubset#763,convention=BATCH_PHYSICAL,FlinkRelDistributionTraitDef=any,sort=[]\nrows=3.0E7,
>  cost={inf}",shape=box]
>         rel788 
> [label="rel#788:BatchPhysicalSink\ninput=RelSubset#787,table=default_catalog.default_database.TABLE_B,fields=AST_TYPE,
>  CIR_CAPT, FULL_MKT_CIR_CAPT, FULL_MKT_TSCP, SCR_INCD, SCR_TYPE, 
> TSCP\nrows=3.0E7, cost={inf}",shape=box]
>         subset763 [label="rel#763:RelSubset#26.LOGICAL.any.[]"]
>         subset764 [label="rel#764:RelSubset#26.BATCH_PHYSICAL.any.[]"]
>     }
>     root -> subset764;
>     subset751 -> rel707[color=blue];
>     subset767 -> rel766[color=blue];
>     subset793 -> rel794; rel794 -> subset767;
>     subset793 -> rel809[color=blue]; rel809 -> subset767[color=blue];
>     subset753 -> rel752[color=blue]; rel752 -> subset751[color=blue];
>     subset769 -> rel768[color=blue]; rel768 -> subset767[color=blue];
>     subset773 -> rel774; rel774 -> subset769;
>     subset773 -> rel790[color=blue]; rel790 -> subset769[color=blue];
>     subset773 -> rel795; rel795 -> subset793;
>     subset754 -> rel710[color=blue];
>     subset756 -> rel755[color=blue]; rel755 -> subset754[color=blue];
>     subset772 -> rel771; rel771 -> subset770;
>     subset775 -> rel776; rel776 -> subset772;
>     subset782 -> rel783; rel783 -> subset772;
>     subset782 -> rel798; rel798 -> subset775;
>     subset775 -> rel797; rel797 -> subset772;
>     subset775 -> rel800; rel800 -> subset799;
>     subset775 -> rel803; rel803 -> subset782;
>     subset782 -> rel802; rel802 -> subset772;
>     subset782 -> rel805; rel805 -> subset775;
>     subset775 -> rel807; rel807 -> subset782;
>     subset758 -> rel757[color=blue]; rel757 -> 
> subset753[color=blue,label="0"]; rel757 -> subset756[color=blue,label="1"];
>     subset778 -> rel777; rel777 -> subset773[label="0"]; rel777 -> 
> subset775[label="1"];
>     subset778 -> rel780; rel780 -> subset773[label="0"]; rel780 -> 
> subset775[label="1"];
>     subset778 -> rel784; rel784 -> subset769[label="0"]; rel784 -> 
> subset782[label="1"];
>     subset760 -> rel759[color=blue]; rel759 -> subset758[color=blue];
>     subset787 -> rel786; rel786 -> subset778;
>     subset763 -> rel762[color=blue]; rel762 -> subset760[color=blue];
>     subset764 -> rel765; rel765 -> subset763;
>     subset764 -> rel788; rel788 -> subset787;
> }
>     at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:742)
>     at 
> org.apache.calcite.plan.volcano.RelSubset.buildCheapestPlan(RelSubset.java:365)
>     at 
> org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:520)
>     at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:312)
>     at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkVolcanoProgram.optimize(FlinkVolcanoProgram.scala:69)
>     ... 28 more
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to