@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { return super.computeSelfCost(planner, mq).multiplyBy(.05); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { return super.computeSelfCost(planner, mq).multiplyBy(factor); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { return super.computeSelfCost(planner, mq).multiplyBy(.05); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { return super.computeSelfCost(planner, mq).multiplyBy(factor); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } double numRows = mq.getRowCount(this); double cpuCost = DremioCost.COMPARE_CPU_COST * numRows; Factory costFactory = (Factory)planner.getCostFactory(); return costFactory.makeCost(numRows, cpuCost, 0, 0); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner, mq).multiplyBy(.1); } double numRows = estimateRowCount(mq); double cpuCost = DrillCostBase.COMPARE_CPU_COST * numRows; DrillCostFactory costFactory = (DrillCostFactory)planner.getCostFactory(); return costFactory.makeCost(numRows, cpuCost, 0, 0); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery relMetadataQuery) { if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } // by default, assume cost is proportional to number of rows double rowCount = relMetadataQuery.getRowCount(this); Factory costFactory = (Factory)planner.getCostFactory(); return costFactory.makeCost(rowCount, rowCount, 0, 0).multiplyBy(0.1); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner, mq).multiplyBy(.1); } // by default, assume cost is proportional to number of rows double rowCount = mq.getRowCount(this); DrillCostFactory costFactory = (DrillCostFactory)planner.getCostFactory(); return costFactory.makeCost(rowCount, rowCount, 0, 0).multiplyBy(0.1); }
@Override public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) { if(PrelUtil.getSettings(getCluster()).useDefaultCosting()) { return super.computeSelfCost(planner).multiplyBy(.1); } // cost is proportional to the number of rows and number of columns being projected double rowCount = this.estimateRowCount(mq); double cpuCost = DremioCost.PROJECT_CPU_COST * rowCount; Factory costFactory = (Factory)planner.getCostFactory(); if (numProjectsPushed > 0) { return costFactory.makeCost(rowCount, cpuCost, 0, 0).multiplyBy(1/numProjectsPushed); } else { return costFactory.makeCost(rowCount, cpuCost, 0, 0); } }