call.getPlanner().setImportance(aggregate, 0.0);
call.getPlanner().setImportance(second, 0.0);
); call.getPlanner().setImportance(project, 0.0);
call.getPlanner().setImportance(filter, 0.0);
call.getPlanner().setImportance(hiveScanRel, 0.0); } catch (final Exception e) { logger.warn("Failed to convert HiveScan to HiveDrillNativeParquetScan", e);
call.getPlanner().setImportance(filter, 0.0);
call.getPlanner().setImportance(sort, 0.0); return; sort.copy(sort.getTraitSet(), input, RelCollations.of(collationsList)); call.transformTo(result); call.getPlanner().setImportance(sort, 0.0);
call.getPlanner().setImportance(sort, 0.0); return; sort.copy(sort.getTraitSet(), input, RelCollations.of(collationsList)); call.transformTo(result); call.getPlanner().setImportance(sort, 0.0);
call.getPlanner().setImportance(aggregate, 0.0);
call.getPlanner().setImportance(aggregate, 0.0);
call.getPlanner().setImportance(second, 0.0);
@Override public void onMatch(RelOptRuleCall call) { final Project project = call.rel(0); final RelMetadataQuery mq = call.getMetadataQuery(); final RelOptPredicateList predicates = mq.getPulledUpPredicates(project.getInput()); final List<RexNode> expList = Lists.newArrayList(project.getProjects()); if (reduceExpressions(project, expList, predicates, false, matchNullability)) { call.transformTo( call.builder() .push(project.getInput()) .project(expList, project.getRowType().getFieldNames()) .build()); // New plan is absolutely better than old plan. call.getPlanner().setImportance(project, 0.0); } } }
call.getPlanner().setImportance(calc, 0.0);
@Override public void onMatch(RelOptRuleCall call) { final Project project = call.rel(0); final RelMetadataQuery mq = call.getMetadataQuery(); final RelOptPredicateList predicates = mq.getPulledUpPredicates(project.getInput()); final List<RexNode> expList = Lists.newArrayList(project.getProjects()); if (reduceExpressions(project, expList, predicates, false, matchNullability)) { call.transformTo( call.builder() .push(project.getInput()) .project(expList, project.getRowType().getFieldNames()) .build()); // New plan is absolutely better than old plan. call.getPlanner().setImportance(project, 0.0); } } }
call.getPlanner().setImportance(filter, 0.0);
call.getPlanner().setImportance(filter, 0.0);
call.getPlanner().setImportance(join, 0.0);
call.getPlanner().setImportance(topCalc, 0.0);
call.getPlanner().setImportance(join, 0.0);
call.getPlanner().setImportance(topCalc, 0.0);