[FEAT MERGE] support auto dop

This commit is contained in:
obdev
2023-04-28 15:11:52 +00:00
committed by ob-robot
parent 642f1c7d84
commit b41dc0ebdd
106 changed files with 3815 additions and 2844 deletions

View File

@ -298,7 +298,7 @@ double ObOptEstCost::cost_quals(double rows,
return get_model(model_type).cost_quals(rows, quals, need_scale);
}
int ObOptEstCost::cost_table(ObCostTableScanInfo &est_cost_info,
int ObOptEstCost::cost_table(const ObCostTableScanInfo &est_cost_info,
int64_t parallel,
double query_range_row_count,
double phy_query_range_row_count,
@ -318,6 +318,28 @@ int ObOptEstCost::cost_table(ObCostTableScanInfo &est_cost_info,
return ret;
}
int ObOptEstCost::cost_table_for_parallel(const ObCostTableScanInfo &est_cost_info,
const int64_t parallel,
const double part_cnt_per_dop,
double query_range_row_count,
double phy_query_range_row_count,
double &px_cost,
double &cost,
MODEL_TYPE model_type)
{
int ret = OB_SUCCESS;
if (OB_FAIL(get_model(model_type).cost_table_for_parallel(est_cost_info,
parallel,
part_cnt_per_dop,
query_range_row_count,
phy_query_range_row_count,
px_cost,
cost))) {
LOG_WARN("failed to est cost for table scan parallel", K(model_type), K(ret));
}
return ret;
}
double ObOptEstCost::cost_late_materialization_table_get(int64_t column_cnt, MODEL_TYPE model_type)
{
return get_model(model_type).cost_late_materialization_table_get(column_cnt);