[dbms_stats]: bugfix for online optimizer stats gather.
This commit is contained in:
@ -134,6 +134,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
|
||||
"_ob_proxy_session_temporary_table_used",
|
||||
"_ob_px_bcast_optimization",
|
||||
"_ob_px_slave_mapping_threshold",
|
||||
"_optimizer_gather_stats_on_load",
|
||||
"_optimizer_null_aware_antijoin",
|
||||
"_px_broadcast_fudge_factor",
|
||||
"_px_dist_agg_partial_rollup_pushdown",
|
||||
@ -270,7 +271,6 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
|
||||
"ob_trx_idle_timeout",
|
||||
"ob_trx_lock_timeout",
|
||||
"ob_trx_timeout",
|
||||
"online_opt_stat_gather",
|
||||
"optimizer_capture_sql_plan_baselines",
|
||||
"optimizer_use_sql_plan_baselines",
|
||||
"parallel_servers_target",
|
||||
@ -360,6 +360,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
|
||||
SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED,
|
||||
SYS_VAR__OB_PX_BCAST_OPTIMIZATION,
|
||||
SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD,
|
||||
SYS_VAR__OPTIMIZER_GATHER_STATS_ON_LOAD,
|
||||
SYS_VAR__OPTIMIZER_NULL_AWARE_ANTIJOIN,
|
||||
SYS_VAR__PX_BROADCAST_FUDGE_FACTOR,
|
||||
SYS_VAR__PX_DIST_AGG_PARTIAL_ROLLUP_PUSHDOWN,
|
||||
@ -496,7 +497,6 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
|
||||
SYS_VAR_OB_TRX_IDLE_TIMEOUT,
|
||||
SYS_VAR_OB_TRX_LOCK_TIMEOUT,
|
||||
SYS_VAR_OB_TRX_TIMEOUT,
|
||||
SYS_VAR_ONLINE_OPT_STAT_GATHER,
|
||||
SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES,
|
||||
SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES,
|
||||
SYS_VAR_PARALLEL_SERVERS_TARGET,
|
||||
@ -791,7 +791,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = {
|
||||
"ob_sql_plan_memory_percentage",
|
||||
"log_row_value_options",
|
||||
"ob_max_read_stale_time",
|
||||
"online_opt_stat_gather",
|
||||
"_optimizer_gather_stats_on_load",
|
||||
"_set_reverse_dblink_infos"
|
||||
};
|
||||
|
||||
@ -1181,7 +1181,7 @@ int ObSysVarFactory::create_all_sys_vars()
|
||||
+ sizeof(ObSysVarObSqlPlanMemoryPercentage)
|
||||
+ sizeof(ObSysVarLogRowValueOptions)
|
||||
+ sizeof(ObSysVarObMaxReadStaleTime)
|
||||
+ sizeof(ObSysVarOnlineOptStatGather)
|
||||
+ sizeof(ObSysVarOptimizerGatherStatsOnLoad)
|
||||
+ sizeof(ObSysVarSetReverseDblinkInfos)
|
||||
;
|
||||
void *ptr = NULL;
|
||||
@ -3181,12 +3181,12 @@ int ObSysVarFactory::create_all_sys_vars()
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOnlineOptStatGather())) {
|
||||
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerGatherStatsOnLoad())) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_ERROR("fail to new ObSysVarOnlineOptStatGather", K(ret));
|
||||
LOG_ERROR("fail to new ObSysVarOptimizerGatherStatsOnLoad", K(ret));
|
||||
} else {
|
||||
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_ONLINE_OPT_STAT_GATHER))] = sys_var_ptr;
|
||||
ptr = (void *)((char *)ptr + sizeof(ObSysVarOnlineOptStatGather));
|
||||
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR__OPTIMIZER_GATHER_STATS_ON_LOAD))] = sys_var_ptr;
|
||||
ptr = (void *)((char *)ptr + sizeof(ObSysVarOptimizerGatherStatsOnLoad));
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
@ -5655,14 +5655,14 @@ int ObSysVarFactory::create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SYS_VAR_ONLINE_OPT_STAT_GATHER: {
|
||||
case SYS_VAR__OPTIMIZER_GATHER_STATS_ON_LOAD: {
|
||||
void *ptr = NULL;
|
||||
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOnlineOptStatGather)))) {
|
||||
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerGatherStatsOnLoad)))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOnlineOptStatGather)));
|
||||
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOnlineOptStatGather())) {
|
||||
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerGatherStatsOnLoad)));
|
||||
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerGatherStatsOnLoad())) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_ERROR("fail to new ObSysVarOnlineOptStatGather", K(ret));
|
||||
LOG_ERROR("fail to new ObSysVarOptimizerGatherStatsOnLoad", K(ret));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user