本文整理了Java中org.apache.calcite.rel.RelNode.getDigest
方法的一些代码示例,展示了RelNode.getDigest
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelNode.getDigest
方法的具体详情如下:
包路径:org.apache.calcite.rel.RelNode
类名称: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;
内容来源于网络,如有侵权,请联系作者删除!