当前位置: 首页>>代码示例>>Java>>正文


Java Sort.getCollation方法代码示例

本文整理汇总了Java中org.apache.calcite.rel.core.Sort.getCollation方法的典型用法代码示例。如果您正苦于以下问题:Java Sort.getCollation方法的具体用法?Java Sort.getCollation怎么用?Java Sort.getCollation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.calcite.rel.core.Sort的用法示例。


在下文中一共展示了Sort.getCollation方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: rewriteRel

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public void rewriteRel(Sort rel) {
  RelCollation oldCollation = rel.getCollation();
  final RelNode oldChild = rel.getInput();
  final RelNode newChild = getNewForOldRel(oldChild);
  final Mappings.TargetMapping mapping =
      getNewForOldInputMapping(oldChild);

  // validate
  for (RelFieldCollation field : oldCollation.getFieldCollations()) {
    int oldInput = field.getFieldIndex();
    RelDataType sortFieldType =
        oldChild.getRowType().getFieldList().get(oldInput).getType();
    if (sortFieldType.isStruct()) {
      // TODO jvs 10-Feb-2005
      throw Util.needToImplement("sorting on structured types");
    }
  }
  RelCollation newCollation = RexUtil.apply(mapping, oldCollation);
  Sort newRel =
      LogicalSort.create(newChild, newCollation, rel.offset, rel.fetch);
  setNewForOldRel(rel, newRel);
}
 
开发者ID:apache,项目名称:calcite,代码行数:23,代码来源:RelStructuredTypeFlattener.java

示例2: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
@Override
public RelNode convert(RelNode r) {
  Sort rel = (Sort) r;
  return new SortPrel(rel.getCluster(),
                      rel.getInput().getTraitSet().replace(Prel.DRILL_PHYSICAL).plus(rel.getCollation()),
                      convert(rel.getInput(), rel.getInput().getTraitSet().replace(Prel.DRILL_PHYSICAL)),
                      rel.getCollation());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:9,代码来源:SortConvertPrule.java

示例3: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
@Override
public RelNode convert(RelNode r) {
  Sort rel = (Sort) r;
  return new SortPrel(rel.getCluster(),
                      rel.getInput().getTraitSet().replace(Prel.PHYSICAL).plus(rel.getCollation()),
                      convert(rel.getInput(), rel.getInput().getTraitSet().replace(Prel.PHYSICAL).simplify()),
                      rel.getCollation());
}
 
开发者ID:dremio,项目名称:dremio-oss,代码行数:9,代码来源:SortConvertPrule.java

示例4: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
@Override public RelNode convert(RelNode rel) {
  Sort sort = (Sort) rel;
  final RelNode input = sort.getInput();
  return new BeamSortRel(
      sort.getCluster(),
      sort.getTraitSet().replace(BeamLogicalConvention.INSTANCE),
      convert(input, input.getTraitSet().replace(BeamLogicalConvention.INSTANCE)),
      sort.getCollation(),
      sort.offset,
      sort.fetch
  );
}
 
开发者ID:apache,项目名称:beam,代码行数:13,代码来源:BeamSortRule.java

示例5: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(RelNode rel) {
    final Sort sort = (Sort) rel;
    if (sort.offset != null || sort.fetch != null) {
        // Cannot implement "OFFSET n FETCH n" currently.
        return null;
    }
    final RelTraitSet traitSet = sort.getTraitSet().replace(getOut());
    return new JdbcSort(rel.getCluster(), traitSet,
            convert(sort.getInput(), traitSet), sort.getCollation());
}
 
开发者ID:bitnine-oss,项目名称:octopus,代码行数:11,代码来源:JdbcRules.java

示例6: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
@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);
}
 
开发者ID:apache,项目名称:kylin,代码行数:11,代码来源:OLAPSortRule.java

示例7: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(Sort sort, CassandraFilter filter) {
  final RelTraitSet traitSet =
      sort.getTraitSet().replace(CassandraRel.CONVENTION)
          .replace(sort.getCollation());
  return new CassandraSort(sort.getCluster(), traitSet,
      convert(sort.getInput(), traitSet.replace(RelCollations.EMPTY)),
      sort.getCollation());
}
 
开发者ID:apache,项目名称:calcite,代码行数:9,代码来源:CassandraRules.java

示例8: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(RelNode rel) {
  final Sort sort = (Sort) rel;
  final RelTraitSet traitSet =
      sort.getTraitSet().replace(out)
          .replace(sort.getCollation());
  return new MongoSort(rel.getCluster(), traitSet,
      convert(sort.getInput(), traitSet.replace(RelCollations.EMPTY)),
      sort.getCollation(), sort.offset, sort.fetch);
}
 
开发者ID:apache,项目名称:calcite,代码行数:10,代码来源:MongoRules.java

示例9: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(RelNode rel) {
  final Sort sort = (Sort) rel;
  final RelTraitSet traitSet = sort.getTraitSet().replace(out);
  return new JdbcSort(rel.getCluster(), traitSet,
      convert(sort.getInput(), traitSet), sort.getCollation(), sort.offset,
      sort.fetch);
}
 
开发者ID:apache,项目名称:calcite,代码行数:8,代码来源:JdbcRules.java

示例10: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
@Override public RelNode convert(RelNode relNode) {
  final Sort sort = (Sort) relNode;
  final RelTraitSet traitSet = sort.getTraitSet().replace(out).replace(sort.getCollation());
  return new ElasticsearchSort(relNode.getCluster(), traitSet,
    convert(sort.getInput(), traitSet.replace(RelCollations.EMPTY)), sort.getCollation(),
    sort.offset, sort.fetch);
}
 
开发者ID:apache,项目名称:calcite,代码行数:8,代码来源:ElasticsearchRules.java

示例11: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(RelNode rel) {
  final Sort sort = (Sort) rel;
  final RelTraitSet traitSet =
      sort.getTraitSet().replace(BindableConvention.INSTANCE);
  final RelNode input = sort.getInput();
  return new BindableSort(rel.getCluster(), traitSet,
      convert(input,
          input.getTraitSet().replace(BindableConvention.INSTANCE)),
      sort.getCollation(), sort.offset, sort.fetch);
}
 
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:Bindables.java

示例12: convert

import org.apache.calcite.rel.core.Sort; //导入方法依赖的package包/类
public RelNode convert(RelNode rel) {
  final Sort sort = (Sort) rel;
  final RelNode input = convert(sort.getInput(),
      rel.getCluster().traitSetOf(PHYSICAL));
  return new PhysSort(
      rel.getCluster(),
      input.getTraitSet().plus(sort.getCollation()),
      convert(input, input.getTraitSet().replace(PHYSICAL)),
      sort.getCollation(),
      null,
      null);
}
 
开发者ID:apache,项目名称:calcite,代码行数:13,代码来源:TraitPropagationTest.java


注:本文中的org.apache.calcite.rel.core.Sort.getCollation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。