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

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

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

RelNode.getDigest介绍

暂无

代码示例

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

/** Returns whether the vertex is valid. */
private boolean belongsToDag(HepRelVertex vertex) {
 String digest = vertex.getCurrentRel().getDigest();
 return mapDigestToVertex.get(digest) != null;
}

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

/** Returns whether the vertex is valid. */
private boolean belongsToDag(HepRelVertex vertex) {
 String digest = vertex.getCurrentRel().getDigest();
 return mapDigestToVertex.get(digest) != null;
}

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

/** Computes the key for {@link #mapDigestToRel}. */
private static Pair<String, RelDataType> key(RelNode rel) {
 return Pair.of(rel.getDigest(), rel.getRowType());
}

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

/** Computes the key for {@link #mapDigestToRel}. */
private static Pair<String, RelDataType> key(RelNode rel) {
 return Pair.of(rel.getDigest(), rel.getRowType());
}

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

private StringBuilder printAllRelNode(RelNode relNode, StringBuilder result) {
  if (relNode.getDigest().contains(".")) {
    //for subQuery
    result.append(relNode.getDigest().split("\\.")[0]).append("-");
  } else {
    result.append(relNode.getDigest().split("#")[0]).append("-");
  }
  List<RelNode> childs = relNode.getInputs();
  for (RelNode child : childs) {
    printAllRelNode(child, result);
  }
  return result;
}

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

private void updateVertex(HepRelVertex vertex, RelNode rel) {
 if (rel != vertex.getCurrentRel()) {
  // REVIEW jvs 5-Apr-2006:  We'll do this again later
  // during garbage collection.  Or we could get rid
  // of mark/sweep garbage collection and do it precisely
  // at this point by walking down to all rels which are only
  // reachable from here.
  notifyDiscard(vertex.getCurrentRel());
 }
 String oldDigest = vertex.getCurrentRel().toString();
 if (mapDigestToVertex.get(oldDigest) == vertex) {
  mapDigestToVertex.remove(oldDigest);
 }
 String newDigest = rel.getDigest();
 // When a transformation happened in one rule apply, support
 // vertex2 replace vertex1, but the current relNode of
 // vertex1 and vertex2 is same,
 // then the digest is also same. but we can't remove vertex2,
 // otherwise the digest will be removed wrongly in the mapDigestToVertex
 //  when collectGC
 // so it must update the digest that map to vertex
 mapDigestToVertex.put(newDigest, vertex);
 if (rel != vertex.getCurrentRel()) {
  vertex.replaceRel(rel);
 }
 notifyEquivalence(
   rel,
   vertex,
   false);
}

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

private void updateVertex(HepRelVertex vertex, RelNode rel) {
 if (rel != vertex.getCurrentRel()) {
  // REVIEW jvs 5-Apr-2006:  We'll do this again later
  // during garbage collection.  Or we could get rid
  // of mark/sweep garbage collection and do it precisely
  // at this point by walking down to all rels which are only
  // reachable from here.
  notifyDiscard(vertex.getCurrentRel());
 }
 String oldDigest = vertex.getCurrentRel().toString();
 if (mapDigestToVertex.get(oldDigest) == vertex) {
  mapDigestToVertex.remove(oldDigest);
 }
 String newDigest = rel.getDigest();
 // When a transformation happened in one rule apply, support
 // vertex2 replace vertex1, but the current relNode of
 // vertex1 and vertex2 is same,
 // then the digest is also same. but we can't remove vertex2,
 // otherwise the digest will be removed wrongly in the mapDigestToVertex
 //  when collectGC
 // so it must update the digest that map to vertex
 mapDigestToVertex.put(newDigest, vertex);
 if (rel != vertex.getCurrentRel()) {
  vertex.replaceRel(rel);
 }
 notifyEquivalence(
   rel,
   vertex,
   false);
}

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

final String oldDigest = rel.getDigest();
if (fixUpInputs(rel)) {
 final Pair<String, RelDataType> oldKey =

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

final String oldDigest = rel.getDigest();
if (fixUpInputs(rel)) {
 final Pair<String, RelDataType> oldKey =

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

String digest = rel.getDigest();
HepRelVertex equivVertex = mapDigestToVertex.get(digest);
if (equivVertex != null) {

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

String digest = rel.getDigest();
HepRelVertex equivVertex = mapDigestToVertex.get(digest);
if (equivVertex != null) {

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

LOGGER.trace(
    "Register #{} {} (and merge sets, because it is a conversion)",
    rel.getId(), rel.getDigest());
  merge(set, childSet);
  registerCount++;
assert xx == null || xx == rel : rel.getDigest();

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

LOGGER.trace(
    "Register #{} {} (and merge sets, because it is a conversion)",
    rel.getId(), rel.getDigest());
  merge(set, childSet);
  registerCount++;
assert xx == null || xx == rel : rel.getDigest();

代码示例来源:origin: org.apache.drill.exec/drill-java-exec

upperProject==null?indexContext.getFilter().getDigest(): upperProject.getDigest(), finalRel.getDigest());
return finalRel;

代码示例来源:origin: org.apache.drill.exec/drill-java-exec

finalRel.toString(), indexContext.getScan().toString(),
    indexContext.getLowerProject()!=null?indexContext.getLowerProject().getDigest(): indexContext.getScan().getDigest(),
    finalRel.getDigest());
return finalRel;

相关文章