本文整理汇总了Java中org.apache.calcite.plan.volcano.RelSubset.getBest方法的典型用法代码示例。如果您正苦于以下问题:Java RelSubset.getBest方法的具体用法?Java RelSubset.getBest怎么用?Java RelSubset.getBest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.calcite.plan.volcano.RelSubset
的用法示例。
在下文中一共展示了RelSubset.getBest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDistinctRowCount
import org.apache.calcite.plan.volcano.RelSubset; //导入方法依赖的package包/类
public Double getDistinctRowCount(RelSubset rel, RelMetadataQuery mq,
ImmutableBitSet groupKey, RexNode predicate) {
final RelNode best = rel.getBest();
if (best != null) {
return mq.getDistinctRowCount(best, groupKey, predicate);
}
if (!Bug.CALCITE_1048_FIXED) {
return getDistinctRowCount((RelNode) rel, mq, groupKey, predicate);
}
Double d = null;
for (RelNode r2 : rel.getRels()) {
try {
Double d2 = mq.getDistinctRowCount(r2, groupKey, predicate);
d = NumberUtil.min(d, d2);
} catch (CyclicMetadataException e) {
// Ignore this relational expression; there will be non-cyclic ones
// in this set.
}
}
return d;
}
示例2: shouldIntercept
import org.apache.calcite.plan.volcano.RelSubset; //导入方法依赖的package包/类
private boolean shouldIntercept(RelNode rel) {
for (RelNode input : rel.getInputs()) {
if (input instanceof RelSubset) {
RelSubset relSubset = (RelSubset) input;
if (relSubset.getBest() != null
&& relSubset.getBest().getClass().getCanonicalName().endsWith("OLAPToEnumerableConverter")) {
return true;
}
}
}
return false;
}