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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]