本文整理汇总了Java中org.apache.calcite.rel.logical.LogicalSort类的典型用法代码示例。如果您正苦于以下问题:Java LogicalSort类的具体用法?Java LogicalSort怎么用?Java LogicalSort使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LogicalSort类属于org.apache.calcite.rel.logical包,在下文中一共展示了LogicalSort类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: convert
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
public RelNode convert(
RelOptPlanner planner,
RelNode rel,
RelCollation toCollation,
boolean allowInfiniteCostConverters) {
if (toCollation.getFieldCollations().isEmpty()) {
// An empty sort doesn't make sense.
return null;
}
// Create a logical sort, then ask the planner to convert its remaining
// traits (e.g. convert it to an EnumerableSortRel if rel is enumerable
// convention)
final Sort sort = LogicalSort.create(rel, toCollation, null, null);
RelNode newRel = planner.register(sort, rel);
final RelTraitSet newTraitSet = rel.getTraitSet().replace(toCollation);
if (!newRel.getTraitSet().equals(newTraitSet)) {
newRel = planner.changeTraits(newRel, newTraitSet);
}
return newRel;
}
开发者ID:apache,项目名称:calcite,代码行数:22,代码来源:RelCollationTraitDef.java
示例2: rewriteRel
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的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
示例3: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
@Override
public RelNode visit(LogicalSort sort) {
if (isLimit0(sort.fetch)) {
contains = true;
return sort;
}
return super.visit(sort);
}
开发者ID:skhalifa,项目名称:QDrill,代码行数:10,代码来源:FindLimit0Visitor.java
示例4: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
@Override
public RelNode visit(LogicalSort sort) {
final RelNode input = sort.getInput().accept(this);
return new LogicalSort(
cluster,
copyOf(sort.getTraitSet()),
input,
sort.getCollation(),
copyOf(sort.offset),
copyOf(sort.fetch)
);
}
开发者ID:dremio,项目名称:dremio-oss,代码行数:13,代码来源:CopyWithCluster.java
示例5: onMatch
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
@Override public void onMatch(RelOptRuleCall call) {
final Delta delta = call.rel(0);
Util.discard(delta);
final Sort sort = call.rel(1);
final LogicalDelta newDelta =
LogicalDelta.create(sort.getInput());
final LogicalSort newSort =
LogicalSort.create(newDelta, sort.collation, sort.offset, sort.fetch);
call.transformTo(newSort);
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:StreamRules.java
示例6: DrillLimitRule
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
private DrillLimitRule() {
super(RelOptHelper.any(LogicalSort.class, Convention.NONE), "DrillLimitRule");
}
开发者ID:skhalifa,项目名称:QDrill,代码行数:4,代码来源:DrillLimitRule.java
示例7: createEmptyEmptyRelHelper
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
private static RelNode createEmptyEmptyRelHelper(SingleRel input) {
return LogicalSort.create(input.getInput(), RelCollations.EMPTY,
input.getCluster().getRexBuilder().makeExactLiteral(BigDecimal.valueOf(0)),
input.getCluster().getRexBuilder().makeExactLiteral(BigDecimal.valueOf(0)));
}
开发者ID:skhalifa,项目名称:QDrill,代码行数:6,代码来源:DrillReduceExpressionsRule.java
示例8: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
@Override
public RelNode visit(LogicalSort sort) {
return visit((RelNode) sort);
}
开发者ID:dremio,项目名称:dremio-oss,代码行数:5,代码来源:RoutingShuttle.java
示例9: LimitRule
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
private LimitRule() {
super(RelOptHelper.any(LogicalSort.class, Convention.NONE), "LimitRule");
}
开发者ID:dremio,项目名称:dremio-oss,代码行数:4,代码来源:LimitRule.java
示例10: BeamSortRule
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
private BeamSortRule() {
super(LogicalSort.class, Convention.NONE,
BeamLogicalConvention.INSTANCE, "BeamSortRule");
}
开发者ID:apache,项目名称:beam,代码行数:5,代码来源:BeamSortRule.java
示例11: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
@Override public RelNode visit(LogicalSort sort) {
return visit((RelNode) sort);
}
开发者ID:apache,项目名称:calcite,代码行数:4,代码来源:RelHomogeneousShuttle.java
示例12: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
public RelNode visit(LogicalSort sort) {
return visitChildren(sort);
}
开发者ID:apache,项目名称:calcite,代码行数:4,代码来源:RelShuttleImpl.java
示例13: createSort
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
public RelNode createSort(RelNode input, RelCollation collation,
RexNode offset, RexNode fetch) {
return LogicalSort.create(input, collation, offset, fetch);
}
开发者ID:apache,项目名称:calcite,代码行数:5,代码来源:RelFactories.java
示例14: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
public RelNode visit(LogicalSort sort) {
return sort;
}
开发者ID:apache,项目名称:calcite,代码行数:4,代码来源:CalciteMaterializer.java
示例15: visit
import org.apache.calcite.rel.logical.LogicalSort; //导入依赖的package包/类
RelNode visit(LogicalSort sort);
开发者ID:apache,项目名称:calcite,代码行数:2,代码来源:RelShuttle.java
注:本文中的org.apache.calcite.rel.logical.LogicalSort类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论