public List<RelCollation> get() { return RelMdCollation.values(mq, rowType, tuples); } }).replaceIf(RelDistributionTraitDef.INSTANCE, new Supplier<RelDistribution>() {
public static LogicalCalc create(final RelNode input, final RexProgram program) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSet() .replace(Convention.NONE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.calc(mq, input, program)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.calc(mq, input, program)); return new LogicalCalc(cluster, traitSet, input, program); }
/** Creates an EnumerableFilter. */ public static EnumerableFilter create(final RelNode input, RexNode condition) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(EnumerableConvention.INSTANCE) .replaceIfs( RelCollationTraitDef.INSTANCE, () -> RelMdCollation.filter(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.filter(mq, input)); return new EnumerableFilter(cluster, traitSet, input, condition); }
/** Creates an EnumerableLimit. */ public static EnumerableLimit create(final RelNode input, RexNode offset, RexNode fetch) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(EnumerableConvention.INSTANCE) .replaceIfs( RelCollationTraitDef.INSTANCE, () -> RelMdCollation.limit(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.limit(mq, input)); return new EnumerableLimit(cluster, traitSet, input, offset, fetch); }
public RelDistribution distribution(TableScan scan, RelMetadataQuery mq) { return table(scan.getTable()); }
public RelDistribution distribution(Exchange exchange, RelMetadataQuery mq) { return exchange(exchange.distribution); }
public RelDistribution distribution(Project project, RelMetadataQuery mq) { return project(mq, project.getInput(), project.getProjects()); }
/** Creates an EnumerableCalc. */ public static EnumerableCalc create(final RelNode input, final RexProgram program) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSet() .replace(EnumerableConvention.INSTANCE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.calc(mq, input, program)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.calc(mq, input, program)); return new EnumerableCalc(cluster, traitSet, input, program); }
/** Creates a LogicalFilter. */ public static LogicalFilter create(final RelNode input, RexNode condition, ImmutableSet<CorrelationId> variablesSet) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(Convention.NONE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.filter(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.filter(mq, input)); return new LogicalFilter(cluster, traitSet, input, condition, variablesSet); }
/** Creates an EnumerableLimit. */ public static EnumerableLimit create(final RelNode input, RexNode offset, RexNode fetch) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(EnumerableConvention.INSTANCE) .replaceIfs( RelCollationTraitDef.INSTANCE, () -> RelMdCollation.limit(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.limit(mq, input)); return new EnumerableLimit(cluster, traitSet, input, offset, fetch); }
public RelDistribution distribution(TableScan scan, RelMetadataQuery mq) { return table(scan.getTable()); }
public RelDistribution distribution(Exchange exchange, RelMetadataQuery mq) { return exchange(exchange.distribution); }
public RelDistribution distribution(Project project, RelMetadataQuery mq) { return project(mq, project.getInput(), project.getProjects()); }
public List<RelCollation> get() { return RelMdCollation.values(mq, rowType, tuples); } }).replaceIf(RelDistributionTraitDef.INSTANCE, new Supplier<RelDistribution>() {
public static LogicalCalc create(final RelNode input, final RexProgram program) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSet() .replace(Convention.NONE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.calc(mq, input, program)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.calc(mq, input, program)); return new LogicalCalc(cluster, traitSet, input, program); }
/** Creates a LogicalFilter. */ public static LogicalFilter create(final RelNode input, RexNode condition, ImmutableSet<CorrelationId> variablesSet) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(Convention.NONE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.filter(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.filter(mq, input)); return new LogicalFilter(cluster, traitSet, input, condition, variablesSet); }
public RelDistribution distribution(Values values, RelMetadataQuery mq) { return values(values.getRowType(), values.getTuples()); }
/** Creates an EnumerableCalc. */ public static EnumerableCalc create(final RelNode input, final RexProgram program) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSet() .replace(EnumerableConvention.INSTANCE) .replaceIfs(RelCollationTraitDef.INSTANCE, () -> RelMdCollation.calc(mq, input, program)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.calc(mq, input, program)); return new EnumerableCalc(cluster, traitSet, input, program); }
/** Creates an EnumerableFilter. */ public static EnumerableFilter create(final RelNode input, RexNode condition) { final RelOptCluster cluster = input.getCluster(); final RelMetadataQuery mq = cluster.getMetadataQuery(); final RelTraitSet traitSet = cluster.traitSetOf(EnumerableConvention.INSTANCE) .replaceIfs( RelCollationTraitDef.INSTANCE, () -> RelMdCollation.filter(mq, input)) .replaceIf(RelDistributionTraitDef.INSTANCE, () -> RelMdDistribution.filter(mq, input)); return new EnumerableFilter(cluster, traitSet, input, condition); }
public RelDistribution distribution(Values values, RelMetadataQuery mq) { return values(values.getRowType(), values.getTuples()); }