org.apache.calcite.rel.RelNode.getTraitSet()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(127)

本文整理了Java中org.apache.calcite.rel.RelNode.getTraitSet方法的一些代码示例,展示了RelNode.getTraitSet的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelNode.getTraitSet方法的具体详情如下:
包路径:org.apache.calcite.rel.RelNode
类名称:RelNode
方法名:getTraitSet

RelNode.getTraitSet介绍

暂无

代码示例

代码示例来源:origin: apache/incubator-druid

public static DruidUnionRel create(
  final QueryMaker queryMaker,
  final RelDataType rowType,
  final List<RelNode> rels,
  final int limit
)
{
 Preconditions.checkState(rels.size() > 0, "rels must be nonempty");
 return new DruidUnionRel(
   rels.get(0).getCluster(),
   rels.get(0).getTraitSet(),
   queryMaker,
   rowType,
   new ArrayList<>(rels),
   limit
 );
}

代码示例来源:origin: apache/incubator-druid

public RelTrait[] getRelTraits()
{
 return leafRel().getTraitSet().toArray(new RelTrait[0]);
}

代码示例来源:origin: apache/hive

public RelNode align(RelNode rel, List<RelFieldCollation> collations) {
 ImmutableList.Builder<RelNode> newInputs = new ImmutableList.Builder<>();
 for (RelNode input : rel.getInputs()) {
  newInputs.add(dispatchAlign(input, ImmutableList.<RelFieldCollation>of()));
 }
 return rel.copy(rel.getTraitSet(), newInputs.build());
}

代码示例来源:origin: apache/hive

@Override
 public RelNode createAggregate(RelNode child, boolean indicator,
     ImmutableBitSet groupSet, ImmutableList<ImmutableBitSet> groupSets,
     List<AggregateCall> aggCalls) {
   if (indicator) {
    throw new IllegalStateException("Hive does not support indicator columns but Calcite "
        + "created an Aggregate operator containing them");
   }
   return new HiveAggregate(child.getCluster(), child.getTraitSet(), child,
       groupSet, groupSets, aggCalls);
 }
}

代码示例来源:origin: apache/storm

private RelNode convertToStormRel(RelNode relNode) throws RelConversionException {
  RelTraitSet traitSet = relNode.getTraitSet();
  traitSet = traitSet.simplify();
  // PlannerImpl.transform() optimizes RelNode with ruleset
  return planner.transform(STORM_REL_CONVERSION_RULES, traitSet.plus(StreamsLogicalConvention.INSTANCE), relNode);
}

代码示例来源:origin: apache/hive

@Override
 public RelNode createSemiJoin(RelNode left, RelNode right,
     RexNode condition) {
  final JoinInfo joinInfo = JoinInfo.of(left, right, condition);
  final RelOptCluster cluster = left.getCluster();
  return HiveSemiJoin.getSemiJoin(cluster, left.getTraitSet(), left, right, condition,
    joinInfo.leftKeys, joinInfo.rightKeys);
 }
}

代码示例来源:origin: apache/hive

@Override
 public RelNode createProject(RelNode child,
   List<? extends RexNode> childExprs, List<String> fieldNames) {
  RelOptCluster cluster = child.getCluster();
  RelDataType rowType = RexUtil.createStructType(cluster.getTypeFactory(), childExprs, fieldNames);
  RelTraitSet trait = TraitsUtil.getDefaultTraitSet(cluster, child.getTraitSet());
  RelNode project = HiveProject.create(cluster, child,
    childExprs, rowType, trait, Collections.<RelCollation> emptyList());
  return project;
 }
}

代码示例来源:origin: apache/drill

@Override
public RelNode convert(RelNode in) {
 return new JdbcDrel(in.getCluster(), in.getTraitSet().replace(DrillRel.DRILL_LOGICAL),
   convert(in, in.getTraitSet().replace(this.getInTrait()).simplify()));
}

代码示例来源:origin: apache/drill

@Override
 public RelNode createProject(RelNode child,
   List<? extends RexNode> childExprs, List<String> fieldNames) {
  RelOptCluster cluster = child.getCluster();
  RelDataType rowType = RexUtil.createStructType(cluster.getTypeFactory(), childExprs, fieldNames);
  RelTraitSet trait = TraitsUtil.getDefaultTraitSet(cluster, child.getTraitSet());
  RelNode project = HiveProject.create(cluster, child,
    childExprs, rowType, trait, Collections.<RelCollation> emptyList());
  return project;
 }
}

代码示例来源:origin: apache/kylin

@Override
public RelNode convert(RelNode rel) {
  RelTraitSet newTraitSet = rel.getTraitSet().replace(getOutConvention());
  return new OLAPToEnumerableConverter(rel.getCluster(), newTraitSet, rel);
}

代码示例来源:origin: apache/drill

public RelNode convert(RelNode rel) {
 LogicalFilter filter = (LogicalFilter) rel;
 return new JdbcRules.JdbcFilter(rel.getCluster(), rel.getTraitSet().replace(this.out), convert(filter.getInput(),
   filter.getInput().getTraitSet().replace(this.out).simplify()), filter.getCondition());
}

代码示例来源:origin: apache/drill

@Override
public RelNode convert(RelNode in) {
 return new JdbcIntermediatePrel(
   in.getCluster(),
   in.getTraitSet().replace(getOutTrait()),
   in.getInput(0));
}

代码示例来源:origin: apache/hive

public void onMatch(RelOptRuleCall call) {
 final HiveFilter filter = call.rel(0);
 final HiveSortLimit sort = call.rel(1);
 final RelNode newFilter = filter.copy(sort.getInput().getTraitSet(),
     ImmutableList.<RelNode>of(sort.getInput()));
 final HiveSortLimit newSort = sort.copy(sort.getTraitSet(),
     newFilter, sort.collation, sort.offset, sort.fetch);
 call.transformTo(newSort);
}

代码示例来源:origin: apache/storm

@Override
  public RelNode convert(RelNode rel) {
    final Filter filter = (Filter) rel;
    final RelNode input = filter.getInput();

    return new StreamsFilterRel(filter.getCluster(),
                  filter.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
                  convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)),
                  filter.getCondition());
  }
}

代码示例来源:origin: apache/storm

@Override
  public RelNode convert(RelNode rel) {
    final Calc calc = (Calc) rel;
    final RelNode input = calc.getInput();

    return new StreamsCalcRel(calc.getCluster(), calc.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
                 convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)),
                 calc.getProgram());
  }
}

代码示例来源:origin: apache/storm

@Override
  public RelNode convert(RelNode rel) {
    final Project project = (Project) rel;
    final RelNode input = project.getInput();

    return new StreamsProjectRel(project.getCluster(),
                   project.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
                   convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)), project.getProjects(),
                   project.getRowType());
  }
}

代码示例来源:origin: apache/kylin

@Override
public RelNode convert(RelNode rel) {
  final Sort sort = (Sort) rel;
  if (sort.offset != null || sort.fetch != null) {
    return null;
  }
  final RelTraitSet traitSet = sort.getTraitSet().replace(OLAPRel.CONVENTION);
  final RelNode input = sort.getInput();
  return new OLAPSortRel(rel.getCluster(), traitSet, convert(input, input.getTraitSet().replace(OLAPRel.CONVENTION)), sort.getCollation(), sort.offset, sort.fetch);
}

代码示例来源:origin: apache/kylin

@Override
  public RelNode convert(RelNode rel) {
    final Window window = (Window) rel;
    final RelTraitSet traitSet = window.getTraitSet().replace(OLAPRel.CONVENTION);
    final RelNode input = window.getInput();
    return new OLAPWindowRel(rel.getCluster(), traitSet,
        convert(input, input.getTraitSet().replace(OLAPRel.CONVENTION)), window.constants, window.getRowType(),
        window.groups);
  }
}

代码示例来源:origin: apache/drill

public void onMatch(RelOptRuleCall call) {
 final HiveFilter filter = call.rel(0);
 final HiveSortLimit sort = call.rel(1);
 final RelNode newFilter = filter.copy(sort.getInput().getTraitSet(),
     ImmutableList.<RelNode>of(sort.getInput()));
 final HiveSortLimit newSort = sort.copy(sort.getTraitSet(),
     newFilter, sort.collation, sort.offset, sort.fetch);
 call.transformTo(newSort);
}

代码示例来源:origin: apache/kylin

@Override
  public RelNode convert(RelNode rel) {
    LogicalFilter filter = (LogicalFilter) rel;

    RelTraitSet origTraitSet = filter.getTraitSet();
    RelTraitSet traitSet = origTraitSet.replace(OLAPRel.CONVENTION).simplify();

    return new OLAPFilterRel(filter.getCluster(), traitSet,
        convert(filter.getInput(), filter.getInput().getTraitSet().replace(OLAPRel.CONVENTION)),
        filter.getCondition());
  }
}

相关文章