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

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

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

RelNode.recomputeDigest介绍

[英]Computes the digest, assigns it, and returns it. For planner use only.
[中]计算摘要、分配它并返回它。仅供规划师使用。

代码示例

代码示例来源:origin: org.apache.calcite/calcite-core

private RelNode buildFinalPlan(HepRelVertex vertex) {
 RelNode rel = vertex.getCurrentRel();
 notifyChosen(rel);
 // Recursively process children, replacing this rel's inputs
 // with corresponding child rels.
 List<RelNode> inputs = rel.getInputs();
 for (int i = 0; i < inputs.size(); ++i) {
  RelNode child = inputs.get(i);
  if (!(child instanceof HepRelVertex)) {
   // Already replaced.
   continue;
  }
  child = buildFinalPlan((HepRelVertex) child);
  rel.replaceInput(i, child);
  rel.recomputeDigest();
 }
 return rel;
}

代码示例来源:origin: Qihoo360/Quicksql

private RelNode buildFinalPlan(HepRelVertex vertex) {
 RelNode rel = vertex.getCurrentRel();
 notifyChosen(rel);
 // Recursively process children, replacing this rel's inputs
 // with corresponding child rels.
 List<RelNode> inputs = rel.getInputs();
 for (int i = 0; i < inputs.size(); ++i) {
  RelNode child = inputs.get(i);
  if (!(child instanceof HepRelVertex)) {
   // Already replaced.
   continue;
  }
  child = buildFinalPlan((HepRelVertex) child);
  rel.replaceInput(i, child);
  rel.recomputeDigest();
 }
 return rel;
}

代码示例来源:origin: org.apache.calcite/calcite-core

public RelNode onRegister(RelOptPlanner planner) {
 List<RelNode> oldInputs = getInputs();
 List<RelNode> inputs = new ArrayList<>(oldInputs.size());
 for (final RelNode input : oldInputs) {
  RelNode e = planner.ensureRegistered(input, null);
  if (e != input) {
   // TODO: change 'equal' to 'eq', which is stronger.
   assert RelOptUtil.equal(
     "rowtype of rel before registration",
     input.getRowType(),
     "rowtype of rel after registration",
     e.getRowType(),
     Litmus.THROW);
  }
  inputs.add(e);
 }
 RelNode r = this;
 if (!Util.equalShallow(oldInputs, inputs)) {
  r = copy(getTraitSet(), inputs);
 }
 r.recomputeDigest();
 assert r.isValid(Litmus.THROW, null);
 return r;
}

代码示例来源:origin: Qihoo360/Quicksql

public RelNode onRegister(RelOptPlanner planner) {
 List<RelNode> oldInputs = getInputs();
 List<RelNode> inputs = new ArrayList<>(oldInputs.size());
 for (final RelNode input : oldInputs) {
  RelNode e = planner.ensureRegistered(input, null);
  if (e != input) {
   // TODO: change 'equal' to 'eq', which is stronger.
   assert RelOptUtil.equal(
     "rowtype of rel before registration",
     input.getRowType(),
     "rowtype of rel after registration",
     e.getRowType(),
     Litmus.THROW);
  }
  inputs.add(e);
 }
 RelNode r = this;
 if (!Util.equalShallow(oldInputs, inputs)) {
  r = copy(getTraitSet(), inputs);
 }
 r.recomputeDigest();
 assert r.isValid(Litmus.THROW, null);
 return r;
}

代码示例来源:origin: Qihoo360/Quicksql

final RelNode removed = mapDigestToRel.remove(oldKey);
assert removed == rel;
final String newDigest = rel.recomputeDigest();
LOGGER.trace("Rename #{} from '{}' to '{}'", rel.getId(), oldDigest, newDigest);
final Pair<String, RelDataType> key = key(rel);

代码示例来源:origin: org.apache.calcite/calcite-core

final RelNode removed = mapDigestToRel.remove(oldKey);
assert removed == rel;
final String newDigest = rel.recomputeDigest();
LOGGER.trace("Rename #{} from '{}' to '{}'", rel.getId(), oldDigest, newDigest);
final Pair<String, RelDataType> key = key(rel);

代码示例来源:origin: Qihoo360/Quicksql

rel.recomputeDigest();

代码示例来源:origin: org.apache.calcite/calcite-core

rel.recomputeDigest();

代码示例来源:origin: Qihoo360/Quicksql

rel.recomputeDigest();
key = key(rel);
RelNode equivRel = mapDigestToRel.get(key);

代码示例来源:origin: org.apache.calcite/calcite-core

rel.recomputeDigest();
key = key(rel);
RelNode equivRel = mapDigestToRel.get(key);

相关文章