weijunlu commented on issue #2723: URL: https://github.com/apache/drill/issues/2723#issuecomment-1366576817
2022-12-28 19:03:07,330 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:NONE,out:JDBC.mysql)] rels [#112] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg)] rels [#112] rule [ExpandConversionRule] rels [#115] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#89] rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] 2022-12-28 19:03:07,330 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:NONE,out:JDBC.mysql)] rels [#112] 2022-12-28 19:03:07,330 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#202: Apply rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:NONE,out:JDBC.mysql)] to [rel#112:LogicalTableModify] 2022-12-28 19:03:07,337 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#121 via JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:NONE,out:JDBC.mysql) 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#202: Full plan for rule input [rel#112:LogicalTableModify]: LogicalTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#116:RelSubset#0.NONE.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#202: Rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:NONE,out:JDBC.mysql)] produced [rel#121:JdbcTableModify] 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#202: Full plan for [rel#121:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Subset cost changed: subset [rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]] cost was {inf} now {101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true) in rel#122:RelSubset#2.JDBC.mysql.ANY([]).[] 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#202 generated 1 successors: [rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true)] 2022-12-28 19:03:07,338 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; } 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg)] rels [#112] rule [ExpandConversionRule] rels [#115] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#89] rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg)] rels [#112] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#204: Apply rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg)] to [rel#112:LogicalTableModify] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#124 via JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg) 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#204: Full plan for rule input [rel#112:LogicalTableModify]: LogicalTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#116:RelSubset#0.NONE.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#204: Rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:NONE,out:JDBC.pg)] produced [rel#124:JdbcTableModify] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#204: Full plan for [rel#124:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#123:RelSubset#0.JDBC.pg.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true) in rel#125:RelSubset#2.JDBC.pg.ANY([]).[] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#204 generated 1 successors: [rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true)] 2022-12-28 19:03:07,339 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; } 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [ExpandConversionRule] rels [#115] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#89] rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [ExpandConversionRule] rels [#115] 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#206: Apply rule [ExpandConversionRule] to [rel#115:AbstractConverter] 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#206 generated 0 successors. 2022-12-28 19:03:07,340 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; } 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#89] rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#89] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223: Apply rule [JDBC_PREL_ConverterJDBC.mysql] to [rel#118:VertexDrel,rel#89:JdbcTableScan] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#126 via JDBC_PREL_ConverterJDBC.mysql 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223: Full plan for rule input [rel#118:VertexDrel]: VertexDrel JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223: Full plan for rule input [rel#89:JdbcTableScan]: JdbcTableScan(table=[[mysql, test, t1]]) 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223: Rule [JDBC_PREL_ConverterJDBC.mysql] produced [rel#126:JdbcIntermediatePrel] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223: Full plan for [rel#126:JdbcIntermediatePrel]: JdbcIntermediatePrel JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]) in rel#109:RelSubset#0.JDBC.mysql.ANY([]).[] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [ExpandConversionRule] rels [#128] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]) in rel#119:RelSubset#0.LOGICAL.ANY([]).[] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [ExpandConversionRule] rels [#129] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]) in rel#123:RelSubset#0.JDBC.pg.ANY([]).[] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [ExpandConversionRule] rels [#130] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Subset cost changed: subset [rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]] cost was {inf} now {1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109) in rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#223 generated 1 successors: [rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109)] 2022-12-28 19:03:07,341 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; } 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] rule [ExpandConversionRule] rels [#128] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] rels [#120] 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#230: Apply rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] to [rel#120:DrillTableModify] 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#131 via JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql) 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#230: Full plan for rule input [rel#120:DrillTableModify]: DrillTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#230: Rule [JdbcTableModificationRule(in:NONE,out:JDBC.mysql)(in:LOGICAL,out:JDBC.mysql)] produced [rel#131:JdbcTableModify] 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#230: Full plan for [rel#131:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register: rel#131 is equivalent to rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true) 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#230 generated 1 successors: [rel#131:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true)] 2022-12-28 19:03:07,342 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; } 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] rule [ExpandConversionRule] rels [#128] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] rels [#120] 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#232: Apply rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] to [rel#120:DrillTableModify] 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#132 via JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg) 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#232: Full plan for rule input [rel#120:DrillTableModify]: DrillTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#232: Rule [JdbcTableModificationRule(in:NONE,out:JDBC.pg)(in:LOGICAL,out:JDBC.pg)] produced [rel#132:JdbcTableModify] 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#232: Full plan for [rel#132:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#123:RelSubset#0.JDBC.pg.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register: rel#132 is equivalent to rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true) 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#232 generated 1 successors: [rel#132:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true)] 2022-12-28 19:03:07,343 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: DrillTableModify(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E10 rows, 0.0 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}, id = 120 VertexDrel(subset=[rel#119:RelSubset#0.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 2.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 118 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#120 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120[color=blue]; rel120 -> subset119[color=blue]; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; } 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] rule [ExpandConversionRule] rels [#128] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#121] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#239: Apply rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] to [rel#121:JdbcTableModify] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#133 via VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL) 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#239: Full plan for rule input [rel#121:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#239: Rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] produced [rel#133:VertexDrel] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#239: Full plan for [rel#133:VertexDrel]: VertexDrel JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Subset cost changed: subset [rel#114:RelSubset#2.LOGICAL.ANY([]).[]] cost was {1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} now {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122) in rel#114:RelSubset#2.LOGICAL.ANY([]).[] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#239 generated 1 successors: [rel#133:VertexDrel.LOGICAL.ANY([]).[](input=JdbcTableModify#121)] 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,345 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; } 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] rule [ExpandConversionRule] rels [#128] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#124] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#246: Apply rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] to [rel#124:JdbcTableModify] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#135 via VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL) 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#246: Full plan for rule input [rel#124:JdbcTableModify]: JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#123:RelSubset#0.JDBC.pg.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#246: Rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] produced [rel#135:VertexDrel] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#246: Full plan for [rel#135:VertexDrel]: VertexDrel JdbcTableModify(table=[[pg, public, t1]], operation=[INSERT], flattened=[true]) JdbcTableScan(subset=[rel#123:RelSubset#0.JDBC.pg.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125) in rel#114:RelSubset#2.LOGICAL.ANY([]).[] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule-match queued: rule [JDBC_PREL_ConverterJDBC.pg] rels [#136,#124] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#246 generated 1 successors: [rel#135:VertexDrel.LOGICAL.ANY([]).[](input=JdbcTableModify#124)] 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,346 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125), rowcount=1.0E9, cumulative cost={inf} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel136 [label="rel#136:VertexDrel\ninput=RelSubset#125\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; subset114 -> rel136; rel136 -> subset125; } 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [ExpandConversionRule] rels [#128] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] rule [JDBC_PREL_ConverterJDBC.pg] rels [#136,#124] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [ExpandConversionRule] rels [#128] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#248: Apply rule [ExpandConversionRule] to [rel#128:AbstractConverter] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#248 generated 0 successors. 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125), rowcount=1.0E9, cumulative cost={inf} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel136 [label="rel#136:VertexDrel\ninput=RelSubset#125\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; subset114 -> rel136; rel136 -> subset125; } 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] rule [JDBC_PREL_ConverterJDBC.pg] rels [#136,#124] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [JDBC_PREL_ConverterJDBC.mysql] rels [#118,#128] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254: Apply rule [JDBC_PREL_ConverterJDBC.mysql] to [rel#118:VertexDrel,rel#128:AbstractConverter] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#137 via JDBC_PREL_ConverterJDBC.mysql 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254: Full plan for rule input [rel#118:VertexDrel]: VertexDrel JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254: Full plan for rule input [rel#128:AbstractConverter]: AbstractConverter(convention=[JDBC.mysql], DrillDistributionTraitDef=[ANY([])], sort=[[]]) JdbcIntermediatePrel(subset=[rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254: Rule [JDBC_PREL_ConverterJDBC.mysql] produced [rel#137:JdbcIntermediatePrel] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254: Full plan for [rel#137:JdbcIntermediatePrel]: JdbcIntermediatePrel JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register: rel#137 is equivalent to rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109) 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#254 generated 1 successors: [rel#137:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109)] 2022-12-28 19:03:07,347 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125), rowcount=1.0E9, cumulative cost={inf} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel136 [label="rel#136:VertexDrel\ninput=RelSubset#125\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; subset114 -> rel136; rel136 -> subset125; } 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] rule [JDBC_PREL_ConverterJDBC.pg] rels [#136,#124] 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] rels [#128] 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#256: Apply rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] to [rel#128:AbstractConverter] 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Transform to: rel#138 via VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL) 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#256: Full plan for rule input [rel#128:AbstractConverter]: AbstractConverter(convention=[JDBC.mysql], DrillDistributionTraitDef=[ANY([])], sort=[[]]) JdbcIntermediatePrel(subset=[rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#256: Rule [VertexDrelConverterRuleJDBC.mysql(in:JDBC.mysql,out:LOGICAL)] produced [rel#138:VertexDrel] 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#256: Full plan for [rel#138:VertexDrel]: VertexDrel AbstractConverter(convention=[JDBC.mysql], DrillDistributionTraitDef=[ANY([])], sort=[[]]) JdbcIntermediatePrel(subset=[rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]]) JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]) 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Register: rel#139 is equivalent to rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109) 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#256 generated 1 successors: [rel#138:VertexDrel.LOGICAL.ANY([]).[](input=AbstractConverter#128)] 2022-12-28 19:03:07,348 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125), rowcount=1.0E9, cumulative cost={inf} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel136 [label="rel#136:VertexDrel\ninput=RelSubset#125\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; subset114 -> rel136; rel136 -> subset125; } 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Rule queue: rule [ExpandConversionRule] rels [#129] rule [ExpandConversionRule] rels [#130] rule [VertexDrelConverterRuleJDBC.pg(in:JDBC.pg,out:LOGICAL)] rels [#130] rule [JDBC_PREL_ConverterJDBC.mysql] rels [#134,#121] rule [JDBC_PREL_ConverterJDBC.pg] rels [#136,#124] 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Pop match: rule [ExpandConversionRule] rels [#129] 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#258: Apply rule [ExpandConversionRule] to [rel#129:AbstractConverter] 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - call#258 generated 0 successors. 2022-12-28 19:03:07,349 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] DEBUG o.apache.calcite.plan.RelOptPlanner - Best cost before rule match: {1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} 2022-12-28 19:03:07,350 [1c53dd94-4277-9ab0-effe-18b1ab8989ac:foreman] TRACE o.apache.calcite.plan.RelOptPlanner - Root: rel#114:RelSubset#2.LOGICAL.ANY([]).[] Original rel: VertexDrel(subset=[rel#114:RelSubset#2.LOGICAL.ANY([]).[]]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 1.0E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 JdbcTableModify(subset=[rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]], table=[[pg, public, t1]], operation=[INSERT], flattened=[true]): rowcount = 1.0E9, cumulative cost = {1.0E8 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 121 JdbcTableScan(subset=[rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]], table=[[mysql, test, t1]]): rowcount = 1.0E9, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 89 Sets: Set#0, type: RecordType(INTEGER c1, INTEGER c2) rel#109:RelSubset#0.JDBC.mysql.ANY([]).[], best=rel#89 rel#89:JdbcTableScan.JDBC.mysql.ANY([]).[](table=[mysql, test, t1]), rowcount=1.0E9, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#128:AbstractConverter.JDBC.mysql.ANY([]).[](input=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#116:RelSubset#0.NONE.ANY([]).[], best=null rel#119:RelSubset#0.LOGICAL.ANY([]).[], best=rel#118 rel#118:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#129:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#123:RelSubset#0.JDBC.pg.ANY([]).[], best=null rel#130:AbstractConverter.JDBC.pg.ANY([]).[](input=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[], best=rel#126 rel#126:JdbcIntermediatePrel.PHYSICAL.SINGLETON([]).[](input=RelSubset#109), rowcount=1.0E9, cumulative cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory} Set#2, type: RecordType(BIGINT ROWCOUNT) rel#113:RelSubset#2.NONE.ANY([]).[], best=null rel#112:LogicalTableModify.NONE.ANY([]).[](input=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} rel#114:RelSubset#2.LOGICAL.ANY([]).[], best=rel#134 rel#115:AbstractConverter.LOGICAL.ANY([]).[](input=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.0E9, cumulative cost={inf} rel#120:DrillTableModify.LOGICAL.ANY([]).[](input=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory} rel#134:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#122), rowcount=1.0E9, cumulative cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#136:VertexDrel.LOGICAL.ANY([]).[](input=RelSubset#125), rowcount=1.0E9, cumulative cost={inf} rel#122:RelSubset#2.JDBC.mysql.ANY([]).[], best=rel#121 rel#121:JdbcTableModify.JDBC.mysql.ANY([]).[](input=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory} rel#125:RelSubset#2.JDBC.pg.ANY([]).[], best=null rel#124:JdbcTableModify.JDBC.pg.ANY([]).[](input=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true), rowcount=1.0E9, cumulative cost={inf} Graphviz: digraph G { root [style=filled,label="Root"]; subgraph cluster0{ label="Set 0 RecordType(INTEGER c1, INTEGER c2)"; rel89 [label="rel#89:JdbcTableScan\ntable=[mysql, test, t1]\nrows=1.0E9, cost={100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel118 [label="rel#118:VertexDrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.000001E8 rows, 2.00000101E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel128 [label="rel#128:AbstractConverter\ninput=RelSubset#127,convention=JDBC.mysql,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel129 [label="rel#129:AbstractConverter\ninput=RelSubset#127,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel130 [label="rel#130:AbstractConverter\ninput=RelSubset#127,convention=JDBC.pg,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel126 [label="rel#126:JdbcIntermediatePrel\ninput=RelSubset#109\nrows=1.0E9, cost={1.0000001E9 rows, 1.000000101E9 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] subset109 [label="rel#109:RelSubset#0.JDBC.mysql.ANY([]).[]"] subset116 [label="rel#116:RelSubset#0.NONE.ANY([]).[]",color=red] subset119 [label="rel#119:RelSubset#0.LOGICAL.ANY([]).[]"] subset123 [label="rel#123:RelSubset#0.JDBC.pg.ANY([]).[]",color=red] subset127 [label="rel#127:RelSubset#0.PHYSICAL.SINGLETON([]).[]"] } subgraph cluster2{ label="Set 2 RecordType(BIGINT ROWCOUNT)"; rel112 [label="rel#112:LogicalTableModify\ninput=RelSubset#116,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel115 [label="rel#115:AbstractConverter\ninput=RelSubset#113,convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]\nrows=1.0E9, cost={inf}",shape=box] rel120 [label="rel#120:DrillTableModify\ninput=RelSubset#119,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={1.01000001E10 rows, 2.00000101E8 cpu, 1.000000001E10 io, 0.0 network, 0.0 memory}",shape=box] rel121 [label="rel#121:JdbcTableModify\ninput=RelSubset#109,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={101.0 rows, 102.0 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel124 [label="rel#124:JdbcTableModify\ninput=RelSubset#123,table=[pg, public, t1],operation=INSERT,flattened=true\nrows=1.0E9, cost={inf}",shape=box] rel134 [label="rel#134:VertexDrel\ninput=RelSubset#122\nrows=1.0E9, cost={1.00000101E8 rows, 1.00000102E8 cpu, 0.0 io, 0.0 network, 0.0 memory}",color=blue,shape=box] rel136 [label="rel#136:VertexDrel\ninput=RelSubset#125\nrows=1.0E9, cost={inf}",shape=box] subset113 [label="rel#113:RelSubset#2.NONE.ANY([]).[]"] subset114 [label="rel#114:RelSubset#2.LOGICAL.ANY([]).[]"] subset122 [label="rel#122:RelSubset#2.JDBC.mysql.ANY([]).[]"] subset125 [label="rel#125:RelSubset#2.JDBC.pg.ANY([]).[]"] } root -> subset114; subset109 -> rel89[color=blue]; subset119 -> rel118[color=blue]; rel118 -> subset109[color=blue]; subset109 -> rel128; rel128 -> subset127; subset119 -> rel129; rel129 -> subset127; subset123 -> rel130; rel130 -> subset127; subset127 -> rel126[color=blue]; rel126 -> subset109[color=blue]; subset113 -> rel112; rel112 -> subset116; subset114 -> rel115; rel115 -> subset113; subset114 -> rel120; rel120 -> subset119; subset122 -> rel121[color=blue]; rel121 -> subset109[color=blue]; subset125 -> rel124; rel124 -> subset123; subset114 -> rel134[color=blue]; rel134 -> subset122[color=blue]; subset114 -> rel136; rel136 -> subset125; } -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org