Tabnine Logo
RelMdUtil.guessSelectivity
Code IndexAdd Tabnine to your IDE (free)

How to use
guessSelectivity
method
in
org.apache.calcite.rel.metadata.RelMdUtil

Best Java code snippets using org.apache.calcite.rel.metadata.RelMdUtil.guessSelectivity (Showing top 20 results out of 315)

origin: apache/hive

double residualSelectivity = RelMdUtil.guessSelectivity(constraintBasedResult.right);
double rowCount;
if (constraintBasedResult.left.isPKSideSimple) {
origin: apache/drill

selectivity = RelMdUtil.guessSelectivity(condition);
guess = true;
origin: Qihoo360/Quicksql

/**
 * Returns default estimates for selectivities, in the absence of stats.
 *
 * @param predicate predicate for which selectivity will be computed; null
 *                  means true, so gives selectity of 1.0
 * @return estimated selectivity
 */
public static double guessSelectivity(RexNode predicate) {
 return guessSelectivity(predicate, false);
}
origin: Qihoo360/Quicksql

 public Double getSelectivity(RelNode rel, RelMetadataQuery mq,
   RexNode predicate) {
  return RelMdUtil.guessSelectivity(predicate);
 }
}
origin: org.apache.calcite/calcite-core

/**
 * Returns default estimates for selectivities, in the absence of stats.
 *
 * @param predicate predicate for which selectivity will be computed; null
 *                  means true, so gives selectity of 1.0
 * @return estimated selectivity
 */
public static double guessSelectivity(RexNode predicate) {
 return guessSelectivity(predicate, false);
}
origin: org.apache.calcite/calcite-core

 public Double getSelectivity(RelNode rel, RelMetadataQuery mq,
   RexNode predicate) {
  return RelMdUtil.guessSelectivity(predicate);
 }
}
origin: dremio/dremio-oss

 private Double getDistinctRowCountFromEstimateRowCount(RelNode rel, RelMetadataQuery mq, ImmutableBitSet groupKey, RexNode predicate) {
  final int groupKeySize = groupKey.cardinality();
  return rel.estimateRowCount(mq) * (1.0 - Math.pow(0.9, groupKeySize)) * RelMdUtil.guessSelectivity(predicate);
 }
}
origin: org.apache.drill.exec/drill-java-exec

private Double getSelectivity(RelSubset rel, RexNode predicate) {
 if (rel.getBest() != null) {
  return getSelectivity(rel.getBest(), predicate);
 } else {
  List<RelNode> list = rel.getRelList();
  if (list != null && list.size() > 0) {
   return getSelectivity(list.get(0), predicate);
  }
 }
 return RelMdUtil.guessSelectivity(predicate);
}
origin: Qihoo360/Quicksql

public Double getDistinctRowCount(Values rel, RelMetadataQuery mq,
  ImmutableBitSet groupKey, RexNode predicate) {
 if (predicate == null || predicate.isAlwaysTrue()) {
  if (groupKey.isEmpty()) {
   return 1D;
  }
 }
 double selectivity = RelMdUtil.guessSelectivity(predicate);
 // assume half the rows are duplicates
 double nRows = rel.estimateRowCount(mq) / 2;
 return RelMdUtil.numDistinctVals(nRows, nRows * selectivity);
}
origin: org.apache.calcite/calcite-core

public Double getDistinctRowCount(Values rel, RelMetadataQuery mq,
  ImmutableBitSet groupKey, RexNode predicate) {
 if (predicate == null || predicate.isAlwaysTrue()) {
  if (groupKey.isEmpty()) {
   return 1D;
  }
 }
 double selectivity = RelMdUtil.guessSelectivity(predicate);
 // assume half the rows are duplicates
 double nRows = rel.estimateRowCount(mq) / 2;
 return RelMdUtil.numDistinctVals(nRows, nRows * selectivity);
}
origin: org.apache.drill.exec/drill-java-exec

   filter, filterRows, totalRows, sel);
} else {
 sel = RelMdUtil.guessSelectivity(filter);
 if (stats.isStatsAvailable()) {
  logger.debug("index_plan_info: Filter row count is UNKNOWN for filter: {}, using guess {}", filter, sel);
 logger.debug("index_plan_info: Selectivity of index columns remainder filters: {}", remainderSel);
} else {
 remainderSel = RelMdUtil.guessSelectivity(indexColumnsRemainderFilter);
 if (stats.isStatsAvailable()) {
  logger.debug("index_plan_info: Filter row count is UNKNOWN for remainder filter : {}, using guess {}",
origin: Qihoo360/Quicksql

public Double getSelectivity(Aggregate rel, RelMetadataQuery mq,
  RexNode predicate) {
 final List<RexNode> notPushable = new ArrayList<>();
 final List<RexNode> pushable = new ArrayList<>();
 RelOptUtil.splitFilters(
   rel.getGroupSet(),
   predicate,
   pushable,
   notPushable);
 final RexBuilder rexBuilder = rel.getCluster().getRexBuilder();
 RexNode childPred =
   RexUtil.composeConjunction(rexBuilder, pushable, true);
 Double selectivity = mq.getSelectivity(rel.getInput(), childPred);
 if (selectivity == null) {
  return null;
 } else {
  RexNode pred =
    RexUtil.composeConjunction(rexBuilder, notPushable, true);
  return selectivity * RelMdUtil.guessSelectivity(pred);
 }
}
origin: org.apache.calcite/calcite-core

public Double getSelectivity(Aggregate rel, RelMetadataQuery mq,
  RexNode predicate) {
 final List<RexNode> notPushable = new ArrayList<>();
 final List<RexNode> pushable = new ArrayList<>();
 RelOptUtil.splitFilters(
   rel.getGroupSet(),
   predicate,
   pushable,
   notPushable);
 final RexBuilder rexBuilder = rel.getCluster().getRexBuilder();
 RexNode childPred =
   RexUtil.composeConjunction(rexBuilder, pushable, true);
 Double selectivity = mq.getSelectivity(rel.getInput(), childPred);
 if (selectivity == null) {
  return null;
 } else {
  RexNode pred =
    RexUtil.composeConjunction(rexBuilder, notPushable, true);
  return selectivity * RelMdUtil.guessSelectivity(pred);
 }
}
origin: org.apache.drill.contrib/drill-format-mapr

selectivity = RelMdUtil.guessSelectivity(condition);
guess = true;
origin: Qihoo360/Quicksql

RexNode preds =
  RexUtil.composeConjunction(rexBuilder, notPushable, true);
return distinctRowCount * RelMdUtil.guessSelectivity(preds);
origin: Qihoo360/Quicksql

public Double getSelectivity(Project rel, RelMetadataQuery mq,
  RexNode predicate) {
 final List<RexNode> notPushable = new ArrayList<>();
 final List<RexNode> pushable = new ArrayList<>();
 RelOptUtil.splitFilters(
   ImmutableBitSet.range(rel.getRowType().getFieldCount()),
   predicate,
   pushable,
   notPushable);
 final RexBuilder rexBuilder = rel.getCluster().getRexBuilder();
 RexNode childPred =
   RexUtil.composeConjunction(rexBuilder, pushable, true);
 RexNode modifiedPred;
 if (childPred == null) {
  modifiedPred = null;
 } else {
  modifiedPred = RelOptUtil.pushPastProject(childPred, rel);
 }
 Double selectivity = mq.getSelectivity(rel.getInput(), modifiedPred);
 if (selectivity == null) {
  return null;
 } else {
  RexNode pred =
    RexUtil.composeConjunction(rexBuilder, notPushable, true);
  return selectivity * RelMdUtil.guessSelectivity(pred);
 }
}
origin: org.apache.calcite/calcite-core

public Double getSelectivity(Project rel, RelMetadataQuery mq,
  RexNode predicate) {
 final List<RexNode> notPushable = new ArrayList<>();
 final List<RexNode> pushable = new ArrayList<>();
 RelOptUtil.splitFilters(
   ImmutableBitSet.range(rel.getRowType().getFieldCount()),
   predicate,
   pushable,
   notPushable);
 final RexBuilder rexBuilder = rel.getCluster().getRexBuilder();
 RexNode childPred =
   RexUtil.composeConjunction(rexBuilder, pushable, true);
 RexNode modifiedPred;
 if (childPred == null) {
  modifiedPred = null;
 } else {
  modifiedPred = RelOptUtil.pushPastProject(childPred, rel);
 }
 Double selectivity = mq.getSelectivity(rel.getInput(), modifiedPred);
 if (selectivity == null) {
  return null;
 } else {
  RexNode pred =
    RexUtil.composeConjunction(rexBuilder, notPushable, true);
  return selectivity * RelMdUtil.guessSelectivity(pred);
 }
}
origin: org.apache.calcite/calcite-core

RexNode preds =
  RexUtil.composeConjunction(rexBuilder, notPushable, true);
return distinctRowCount * RelMdUtil.guessSelectivity(preds);
origin: Qihoo360/Quicksql

RexNode preds =
  RexUtil.composeConjunction(rexBuilder, notPushable, true);
distinctRowCount *= RelMdUtil.guessSelectivity(preds);
origin: org.apache.calcite/calcite-core

RexNode preds =
  RexUtil.composeConjunction(rexBuilder, notPushable, true);
distinctRowCount *= RelMdUtil.guessSelectivity(preds);
org.apache.calcite.rel.metadataRelMdUtilguessSelectivity

Javadoc

Returns default estimates for selectivities, in the absence of stats.

Popular methods of RelMdUtil

  • areColumnsDefinitelyUnique
    Returns true if the columns represented in a bit mask are definitely known to form a unique column s
  • areColumnsDefinitelyUniqueWhenNullsFiltered
    Returns true if the columns represented in a bit mask are definitely known to form a unique column s
  • getJoinDistinctRowCount
    Computes the number of distinct rows for a set of keys returned from a join. Also known as NDV (numb
  • minusPreds
    Takes the difference between two predicates, removing from the first any predicates also in the seco
  • estimateFilteredRows
  • linear
    Returns a point on a line.The result is always a value between minY and maxY, even if x is not betwe
  • getJoinRowCount
    Returns an estimate of the number of rows returned by a Join.
  • areColumnsUnique
  • areColumnsUniqueWhenNullsFiltered
  • capInfinity
    Caps a double value at Double.MAX_VALUE if it's currently infinity
  • cardOfProjExpr
    Computes the cardinality of a particular expression from the projection list.
  • checkInputForCollationAndLimit
    Returns whether a relational expression is already sorted and has fewer rows than the sum of offset
  • cardOfProjExpr,
  • checkInputForCollationAndLimit,
  • computeSemiJoinSelectivity,
  • getJoinPopulationSize,
  • getMinusRowCount,
  • getSelectivityValue,
  • getSemiJoinRowCount,
  • getUnionAllRowCount,
  • makeSemiJoinSelectivityRexNode

Popular in Java

  • Creating JSON documents from java classes using gson
  • setContentView (Activity)
  • setScale (BigDecimal)
  • notifyDataSetChanged (ArrayAdapter)
  • ByteBuffer (java.nio)
    A buffer for bytes. A byte buffer can be created in either one of the following ways: * #allocate
  • HashSet (java.util)
    HashSet is an implementation of a Set. All optional operations (adding and removing) are supported.
  • UUID (java.util)
    UUID is an immutable representation of a 128-bit universally unique identifier (UUID). There are mul
  • Pattern (java.util.regex)
    Patterns are compiled regular expressions. In many cases, convenience methods such as String#matches
  • XPath (javax.xml.xpath)
    XPath provides access to the XPath evaluation environment and expressions. Evaluation of XPath Expr
  • Runner (org.openjdk.jmh.runner)
  • Best plugins for Eclipse
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now