Fix: core at oceanbase::common::ObTimeConverter::str_to_offset at ./deps/oblib/src/lib/timezone/ob_time_convert.cpp
This commit is contained in:
@ -3706,10 +3706,14 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c
|
|||||||
|
|
||||||
// update the current session's array if there is no updated deserialization sys_var.
|
// update the current session's array if there is no updated deserialization sys_var.
|
||||||
if (!sys_var_inc_info_.all_has_sys_var_id(sys_var_id)) {
|
if (!sys_var_inc_info_.all_has_sys_var_id(sys_var_id)) {
|
||||||
sys_var_inc_info_.add_sys_var_id(sys_var_id);
|
if (OB_SUCC(ret) && OB_FAIL(sys_var_inc_info_.add_sys_var_id(sys_var_id))) {
|
||||||
|
LOG_WARN("fail to add sys var id", K(sys_var_id), K(ret));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// add all deserialize sys_var id.
|
// add all deserialize sys_var id.
|
||||||
tmp_sys_var_inc_info.add_sys_var_id(sys_var_id);
|
if (OB_SUCC(ret) && OB_FAIL(tmp_sys_var_inc_info.add_sys_var_id(sys_var_id))) {
|
||||||
|
LOG_WARN("fail to add sys var id", K(sys_var_id), K(ret));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const ObIArray<ObSysVarClassType> &ids = sys_var_inc_info_.get_all_sys_var_ids();
|
const ObIArray<ObSysVarClassType> &ids = sys_var_inc_info_.get_all_sys_var_ids();
|
||||||
int64_t store_idx = -1;
|
int64_t store_idx = -1;
|
||||||
@ -3728,23 +3732,12 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c
|
|||||||
LOG_WARN("create sys var is NULL", K(ret));
|
LOG_WARN("create sys var is NULL", K(ret));
|
||||||
} else {
|
} else {
|
||||||
ObObj tmp_obj = ObSysVariables::get_default_value(store_idx);
|
ObObj tmp_obj = ObSysVariables::get_default_value(store_idx);
|
||||||
if (ob_is_string_type(tmp_obj.get_type())) {
|
|
||||||
if (OB_FAIL(deep_copy_sys_variable(*sys_var, ids.at(i), tmp_obj))) {
|
|
||||||
LOG_WARN("fail to update system variable", K(ret));
|
|
||||||
}
|
|
||||||
} else if (ob_is_number_tc(tmp_obj.get_type())) {
|
|
||||||
if (OB_FAIL(deep_copy_sys_variable(*sys_var, ids.at(i), tmp_obj))) {
|
|
||||||
LOG_WARN("fail to update system variable", K(ret));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// int, bool, enum, uint do not need to do deep copy
|
|
||||||
sys_vars_[store_idx]->set_value(tmp_obj);
|
sys_vars_[store_idx]->set_value(tmp_obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (OB_SUCC(ret) && OB_FAIL(sys_var_inc_info_.assign(tmp_sys_var_inc_info))) {
|
||||||
if (OB_FAIL(sys_var_inc_info_.assign(tmp_sys_var_inc_info))) {
|
|
||||||
LOG_WARN("fail to assign sys var delta info",K(ret));
|
LOG_WARN("fail to assign sys var delta info",K(ret));
|
||||||
} else {
|
} else {
|
||||||
//do nothing.
|
//do nothing.
|
||||||
|
|||||||
Reference in New Issue
Block a user