@Override public RelNode run( RelOptPlanner planner, RelNode rel, RelTraitSet requiredOutputTraits, List<RelOptMaterialization> materializations, List<RelOptLattice> lattices ) { final RelNode decorrelatedRel = RelDecorrelator.decorrelateQuery(rel); final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(decorrelatedRel.getCluster(), null); return new RelFieldTrimmer(null, relBuilder).trim(decorrelatedRel); } }
public static RelNode trimFields(final RelNode relNode, boolean shouldLog) { final Stopwatch w = Stopwatch.createStarted(); final RelFieldTrimmer trimmer = DremioFieldTrimmer.of(relNode.getCluster()); final RelNode trimmed = trimmer.trim(relNode); if(shouldLog) { log(PlannerType.HEP, PlannerPhase.FIELD_TRIMMING, trimmed, logger, w); } return trimmed; }
public RelNode run(RelOptPlanner planner, RelNode rel, RelTraitSet requiredOutputTraits, List<RelOptMaterialization> materializations, List<RelOptLattice> lattices) { final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(rel.getCluster(), null); return new RelFieldTrimmer(null, relBuilder).trim(rel); } }
public RelNode run(RelOptPlanner planner, RelNode rel, RelTraitSet requiredOutputTraits, List<RelOptMaterialization> materializations, List<RelOptLattice> lattices) { final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(rel.getCluster(), null); return new RelFieldTrimmer(null, relBuilder).trim(rel); } }
public RelNode run(RelOptPlanner planner, RelNode rel, RelTraitSet requiredOutputTraits, List<RelOptMaterialization> materializations, List<RelOptLattice> lattices) { final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(rel.getCluster(), null); return new RelFieldTrimmer(null, relBuilder).trim(rel); } }
@Override public RelNode run( RelOptPlanner planner, RelNode rel, RelTraitSet requiredOutputTraits, List<RelOptMaterialization> materializations, List<RelOptLattice> lattices ) { final RelNode decorrelatedRel = RelDecorrelator.decorrelateQuery(rel); final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(decorrelatedRel.getCluster(), null); return new RelFieldTrimmer(null, relBuilder).trim(decorrelatedRel); } }
final List<RelCollation> collations = rootRel.getTraitSet().getTraits(RelCollationTraitDef.INSTANCE); rootRel = trimmer.trim(rootRel); if (!ordered && collations != null
final List<RelCollation> collations = rootRel.getTraitSet().getTraits(RelCollationTraitDef.INSTANCE); rootRel = trimmer.trim(rootRel); if (!ordered && collations != null
final List<RelCollation> collations = rootRel.getTraitSet().getTraits(RelCollationTraitDef.INSTANCE); rootRel = trimmer.trim(rootRel); if (!ordered && collations != null
final List<RelCollation> collations = rootRel.getTraitSet().getTraits(RelCollationTraitDef.INSTANCE); rootRel = trimmer.trim(rootRel); if (!ordered && collations != null
public void assertConvertsTo( String sql, String plan, boolean trim) { String sql2 = getDiffRepos().expand("sql", sql); RelNode rel = convertSqlToRel(sql2).project(); assertTrue(rel != null); assertValid(rel); if (trim) { final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(rel.getCluster(), null); final RelFieldTrimmer trimmer = createFieldTrimmer(relBuilder); rel = trimmer.trim(rel); assertTrue(rel != null); assertValid(rel); } // NOTE jvs 28-Mar-2006: insert leading newline so // that plans come out nicely stacked instead of first // line immediately after CDATA start String actual = NL + RelOptUtil.toString(rel); diffRepos.assertEquals("plan", plan, actual); }
public void assertConvertsTo( String sql, String plan, boolean trim) { String sql2 = getDiffRepos().expand("sql", sql); RelNode rel = convertSqlToRel(sql2).project(); assertTrue(rel != null); assertValid(rel); if (trim) { final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create(rel.getCluster(), null); final RelFieldTrimmer trimmer = createFieldTrimmer(relBuilder); rel = trimmer.trim(rel); assertTrue(rel != null); assertValid(rel); } // NOTE jvs 28-Mar-2006: insert leading newline so // that plans come out nicely stacked instead of first // line immediately after CDATA start String actual = NL + RelOptUtil.toString(rel); diffRepos.assertEquals("plan", plan, actual); }