You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by vl...@apache.org on 2014/12/14 14:32:00 UTC
incubator-calcite git commit: [CALCITE-527] Drop rowType field and
constructor/copy argument of Calc
Repository: incubator-calcite
Updated Branches:
refs/heads/master 039f7cb08 -> 076ac11a8
[CALCITE-527] Drop rowType field and constructor/copy argument of Calc
Project: http://git-wip-us.apache.org/repos/asf/incubator-calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-calcite/commit/076ac11a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-calcite/tree/076ac11a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-calcite/diff/076ac11a
Branch: refs/heads/master
Commit: 076ac11a8b8eddb3200f199051414421db7fbdad
Parents: 039f7cb
Author: Vladimir Sitnikov <si...@gmail.com>
Authored: Sun Dec 14 16:27:35 2014 +0300
Committer: Vladimir Sitnikov <si...@gmail.com>
Committed: Sun Dec 14 16:28:54 2014 +0300
----------------------------------------------------------------------
.../calcite/adapter/enumerable/EnumerableCalc.java | 6 ++----
.../calcite/adapter/enumerable/EnumerableCalcRule.java | 1 -
.../adapter/enumerable/EnumerableFilterToCalcRule.java | 1 -
.../enumerable/EnumerableProjectToCalcRule.java | 3 ---
.../main/java/org/apache/calcite/plan/RelOptUtil.java | 1 -
.../main/java/org/apache/calcite/rel/core/Calc.java | 13 +------------
.../org/apache/calcite/rel/logical/LogicalCalc.java | 6 ++----
.../org/apache/calcite/rel/logical/LogicalWindow.java | 4 ++--
.../org/apache/calcite/rel/rules/CalcRelSplitter.java | 3 ---
.../apache/calcite/rel/rules/FilterCalcMergeRule.java | 1 -
.../org/apache/calcite/rel/rules/FilterToCalcRule.java | 1 -
.../apache/calcite/rel/rules/ProjectCalcMergeRule.java | 2 --
.../apache/calcite/rel/rules/ProjectToCalcRule.java | 3 ---
.../apache/calcite/rel/rules/ProjectToWindowRule.java | 8 +-------
.../apache/calcite/rel/rules/ReduceDecimalsRule.java | 1 -
.../calcite/rel/rules/ReduceExpressionsRule.java | 1 -
.../calcite/sql2rel/RelStructuredTypeFlattener.java | 1 -
17 files changed, 8 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
index 8a849fb..b467163 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalc.java
@@ -31,7 +31,6 @@ import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.core.Calc;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexProgram;
import org.apache.calcite.util.BuiltInMethod;
import org.apache.calcite.util.Pair;
@@ -54,10 +53,9 @@ public class EnumerableCalc extends Calc implements EnumerableRel {
RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
- RelDataType rowType,
RexProgram program,
List<RelCollation> collationList) {
- super(cluster, traitSet, child, rowType, program, collationList);
+ super(cluster, traitSet, child, program, collationList);
assert getConvention() instanceof EnumerableConvention;
assert !program.containsAggs();
}
@@ -66,7 +64,7 @@ public class EnumerableCalc extends Calc implements EnumerableRel {
RexProgram program, List<RelCollation> collationList) {
// we do not need to copy program; it is immutable
return new EnumerableCalc(getCluster(), traitSet, child,
- program.getOutputRowType(), program, collationList);
+ program, collationList);
}
public Result implement(EnumerableRelImplementor implementor, Prefer pref) {
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalcRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalcRule.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalcRule.java
index 05d907a..35c83dd 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalcRule.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableCalcRule.java
@@ -52,7 +52,6 @@ class EnumerableCalcRule extends ConverterRule {
calc.getInput(),
calc.getInput().getTraitSet()
.replace(EnumerableConvention.INSTANCE)),
- calc.getRowType(),
program,
calc.getCollationList());
}
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.java
index 901dc6b..09ad78b 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableFilterToCalcRule.java
@@ -52,7 +52,6 @@ public class EnumerableFilterToCalcRule extends RelOptRule {
filter.getCluster(),
filter.getTraitSet(),
rel,
- inputRowType,
program,
ImmutableList.<RelCollation>of());
call.transformTo(calc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.java
index 988eb46..c654d19 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableProjectToCalcRule.java
@@ -20,7 +20,6 @@ import org.apache.calcite.plan.RelOptRule;
import org.apache.calcite.plan.RelOptRuleCall;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelNode;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexProgram;
import com.google.common.collect.ImmutableList;
@@ -35,7 +34,6 @@ public class EnumerableProjectToCalcRule extends RelOptRule {
public void onMatch(RelOptRuleCall call) {
final EnumerableProject project = call.rel(0);
final RelNode child = project.getInput();
- final RelDataType rowType = project.getRowType();
final RexProgram program =
RexProgram.create(child.getRowType(),
project.getProjects(),
@@ -47,7 +45,6 @@ public class EnumerableProjectToCalcRule extends RelOptRule {
project.getCluster(),
project.getTraitSet(),
child,
- rowType,
program,
ImmutableList.<RelCollation>of());
call.transformTo(calc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java b/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
index 7d7093b..3c31ed2 100644
--- a/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
+++ b/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
@@ -2834,7 +2834,6 @@ public abstract class RelOptUtil {
rel.getCluster(),
rel.getTraitSet(),
rel,
- program.getOutputRowType(),
program,
ImmutableList.<RelCollation>of());
}
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/core/Calc.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/core/Calc.java b/core/src/main/java/org/apache/calcite/rel/core/Calc.java
index e337b7a..47240f0 100644
--- a/core/src/main/java/org/apache/calcite/rel/core/Calc.java
+++ b/core/src/main/java/org/apache/calcite/rel/core/Calc.java
@@ -28,7 +28,6 @@ import org.apache.calcite.rel.RelWriter;
import org.apache.calcite.rel.SingleRel;
import org.apache.calcite.rel.logical.LogicalFilter;
import org.apache.calcite.rel.metadata.RelMetadataQuery;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexProgram;
import com.google.common.collect.ImmutableList;
@@ -53,7 +52,6 @@ public abstract class Calc extends SingleRel {
* @param cluster Cluster
* @param traits Traits
* @param child Input relation
- * @param rowType Output row type
* @param program Calc program
* @param collationList Description of the physical ordering (or orderings)
* of this relational expression. Never null
@@ -62,11 +60,10 @@ public abstract class Calc extends SingleRel {
RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
- RelDataType rowType,
RexProgram program,
List<RelCollation> collationList) {
super(cluster, traits, child);
- this.rowType = rowType;
+ this.rowType = program.getOutputRowType();
this.program = program;
this.collationList = ImmutableList.copyOf(collationList);
assert isValid(true);
@@ -106,14 +103,6 @@ public abstract class Calc extends SingleRel {
fail)) {
return false;
}
- if (!RelOptUtil.equal(
- "rowtype of program",
- program.getOutputRowType(),
- "declared rowtype of rel",
- rowType,
- fail)) {
- return false;
- }
if (!program.isValid(fail)) {
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/logical/LogicalCalc.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/logical/LogicalCalc.java b/core/src/main/java/org/apache/calcite/rel/logical/LogicalCalc.java
index 3d74fab..1f7dfbe 100644
--- a/core/src/main/java/org/apache/calcite/rel/logical/LogicalCalc.java
+++ b/core/src/main/java/org/apache/calcite/rel/logical/LogicalCalc.java
@@ -24,7 +24,6 @@ import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.core.Calc;
import org.apache.calcite.rel.rules.FilterToCalcRule;
import org.apache.calcite.rel.rules.ProjectToCalcRule;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexNode;
import org.apache.calcite.rex.RexProgram;
@@ -63,10 +62,9 @@ public final class LogicalCalc extends Calc {
RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
- RelDataType rowType,
RexProgram program,
List<RelCollation> collationList) {
- super(cluster, traits, child, rowType, program, collationList);
+ super(cluster, traits, child, program, collationList);
}
//~ Methods ----------------------------------------------------------------
@@ -74,7 +72,7 @@ public final class LogicalCalc extends Calc {
@Override public LogicalCalc copy(RelTraitSet traitSet, RelNode child,
RexProgram program, List<RelCollation> collationList) {
return new LogicalCalc(getCluster(), traitSet, child,
- program.getOutputRowType(), program, collationList);
+ program, collationList);
}
@Override public void collectVariablesUsed(Set<String> variableSet) {
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/logical/LogicalWindow.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/logical/LogicalWindow.java b/core/src/main/java/org/apache/calcite/rel/logical/LogicalWindow.java
index 4534d56..3d3b761 100644
--- a/core/src/main/java/org/apache/calcite/rel/logical/LogicalWindow.java
+++ b/core/src/main/java/org/apache/calcite/rel/logical/LogicalWindow.java
@@ -82,8 +82,8 @@ public final class LogicalWindow extends Window {
RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
- final RexProgram program,
- RelDataType outRowType) {
+ final RexProgram program) {
+ final RelDataType outRowType = program.getOutputRowType();
// Build a list of distinct groups, partitions and aggregate
// functions.
final Multimap<WindowKey, RexOver> windowMap =
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java b/core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java
index 5797273..989e1fc 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java
@@ -224,7 +224,6 @@ public abstract class CalcRelSplitter {
relType.makeRel(
cluster,
traits,
- program1.getOutputRowType(),
rel,
program1);
@@ -773,14 +772,12 @@ public abstract class CalcRelSplitter {
protected RelNode makeRel(
RelOptCluster cluster,
RelTraitSet traits,
- RelDataType rowType,
RelNode child,
RexProgram program) {
return new LogicalCalc(
cluster,
traits,
child,
- rowType,
program,
Collections.<RelCollation>emptyList());
}
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/FilterCalcMergeRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/FilterCalcMergeRule.java b/core/src/main/java/org/apache/calcite/rel/rules/FilterCalcMergeRule.java
index 5257ee6..fdc8415 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/FilterCalcMergeRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/FilterCalcMergeRule.java
@@ -87,7 +87,6 @@ public class FilterCalcMergeRule extends RelOptRule {
calc.getCluster(),
calc.getTraitSet(),
calc.getInput(),
- filter.getRowType(),
mergedProgram,
Collections.<RelCollation>emptyList());
call.transformTo(newCalc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/FilterToCalcRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/FilterToCalcRule.java b/core/src/main/java/org/apache/calcite/rel/rules/FilterToCalcRule.java
index 6df80d2..68044bf 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/FilterToCalcRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/FilterToCalcRule.java
@@ -74,7 +74,6 @@ public class FilterToCalcRule extends RelOptRule {
filter.getCluster(),
filter.getTraitSet(),
rel,
- inputRowType,
program,
ImmutableList.<RelCollation>of());
call.transformTo(calc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/ProjectCalcMergeRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ProjectCalcMergeRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ProjectCalcMergeRule.java
index 40f4aab..f2c832a 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ProjectCalcMergeRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ProjectCalcMergeRule.java
@@ -83,7 +83,6 @@ public class ProjectCalcMergeRule extends RelOptRule {
cluster,
project.getTraitSet(),
calc,
- project.getRowType(),
program,
Collections.<RelCollation>emptyList());
call.transformTo(projectAsCalc);
@@ -113,7 +112,6 @@ public class ProjectCalcMergeRule extends RelOptRule {
cluster,
project.getTraitSet(),
calc.getInput(),
- project.getRowType(),
mergedProgram,
Collections.<RelCollation>emptyList());
call.transformTo(newCalc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToCalcRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToCalcRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ProjectToCalcRule.java
index c6fc5fe..6233fc1 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToCalcRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ProjectToCalcRule.java
@@ -22,7 +22,6 @@ import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.logical.LogicalCalc;
import org.apache.calcite.rel.logical.LogicalProject;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexProgram;
import com.google.common.collect.ImmutableList;
@@ -57,7 +56,6 @@ public class ProjectToCalcRule extends RelOptRule {
public void onMatch(RelOptRuleCall call) {
final LogicalProject project = call.rel(0);
final RelNode child = project.getInput();
- final RelDataType rowType = project.getRowType();
final RexProgram program =
RexProgram.create(
child.getRowType(),
@@ -70,7 +68,6 @@ public class ProjectToCalcRule extends RelOptRule {
project.getCluster(),
project.getTraitSet(),
child,
- rowType,
program,
ImmutableList.<RelCollation>of());
call.transformTo(calc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToWindowRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToWindowRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ProjectToWindowRule.java
index b3a8023..685b925 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ProjectToWindowRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ProjectToWindowRule.java
@@ -29,7 +29,6 @@ import org.apache.calcite.rel.core.Project;
import org.apache.calcite.rel.logical.LogicalCalc;
import org.apache.calcite.rel.logical.LogicalFilter;
import org.apache.calcite.rel.logical.LogicalWindow;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rex.RexCall;
import org.apache.calcite.rex.RexDynamicParam;
import org.apache.calcite.rex.RexFieldAccess;
@@ -114,7 +113,6 @@ public abstract class ProjectToWindowRule extends RelOptRule {
Project project = call.rel(0);
assert RexOver.containsOver(project.getProjects(), null);
final RelNode child = project.getInput();
- final RelDataType rowType = project.getRowType();
final RexProgram program =
RexProgram.create(
child.getRowType(),
@@ -128,7 +126,6 @@ public abstract class ProjectToWindowRule extends RelOptRule {
project.getCluster(),
project.getTraitSet(),
child,
- rowType,
program,
ImmutableList.<RelCollation>of());
CalcRelSplitter transform = new WindowedAggRelSplitter(calc) {
@@ -203,7 +200,6 @@ public abstract class ProjectToWindowRule extends RelOptRule {
protected RelNode makeRel(
RelOptCluster cluster,
RelTraitSet traits,
- RelDataType rowType,
RelNode child,
RexProgram program) {
assert !program.containsAggs();
@@ -212,7 +208,6 @@ public abstract class ProjectToWindowRule extends RelOptRule {
return super.makeRel(
cluster,
traits,
- rowType,
child,
program);
}
@@ -241,14 +236,13 @@ public abstract class ProjectToWindowRule extends RelOptRule {
protected RelNode makeRel(
RelOptCluster cluster,
RelTraitSet traits,
- RelDataType rowType,
RelNode child,
RexProgram program) {
Util.permAssert(
program.getCondition() == null,
"WindowedAggregateRel cannot accept a condition");
return LogicalWindow.create(
- cluster, traits, child, program, rowType);
+ cluster, traits, child, program);
}
}
});
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java
index 9d9cc2d..a3ecf19 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java
@@ -115,7 +115,6 @@ public class ReduceDecimalsRule extends RelOptRule {
calc.getCluster(),
calc.getTraitSet(),
calc.getInput(),
- newProgram.getOutputRowType(),
newProgram,
Collections.<RelCollation>emptyList());
call.transformTo(newCalc);
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
index 5bf65de..c41a99d 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ReduceExpressionsRule.java
@@ -277,7 +277,6 @@ public abstract class ReduceExpressionsRule extends RelOptRule {
calc.getCluster(),
calc.getTraitSet(),
calc.getInput(),
- calc.getRowType(),
builder.getProgram(),
calc.getCollationList()));
http://git-wip-us.apache.org/repos/asf/incubator-calcite/blob/076ac11a/core/src/main/java/org/apache/calcite/sql2rel/RelStructuredTypeFlattener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/sql2rel/RelStructuredTypeFlattener.java b/core/src/main/java/org/apache/calcite/sql2rel/RelStructuredTypeFlattener.java
index c66b1a2..b34ea40 100644
--- a/core/src/main/java/org/apache/calcite/sql2rel/RelStructuredTypeFlattener.java
+++ b/core/src/main/java/org/apache/calcite/sql2rel/RelStructuredTypeFlattener.java
@@ -548,7 +548,6 @@ public class RelStructuredTypeFlattener implements ReflectiveVisitor {
cluster,
rel.getTraitSet(),
newChild,
- newProgram.getOutputRowType(),
newProgram,
Collections.<RelCollation>emptyList());
setNewForOldRel(rel, newRel);