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.
|
||||
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.
|
||||
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();
|
||||
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));
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (OB_FAIL(sys_var_inc_info_.assign(tmp_sys_var_inc_info))) {
|
||||
if (OB_SUCC(ret) && OB_FAIL(sys_var_inc_info_.assign(tmp_sys_var_inc_info))) {
|
||||
LOG_WARN("fail to assign sys var delta info",K(ret));
|
||||
} else {
|
||||
//do nothing.
|
||||
|
||||
Reference in New Issue
Block a user