diff --git a/src/sql/session/ob_basic_session_info.cpp b/src/sql/session/ob_basic_session_info.cpp index eef989890..153d64542 100644 --- a/src/sql/session/ob_basic_session_info.cpp +++ b/src/sql/session/ob_basic_session_info.cpp @@ -4064,7 +4064,7 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c } } if (OB_SUCC(ret) && !is_error_sync) { - if (OB_FAIL(sync_default_sys_vars(sys_var_inc_info_, tmp_sys_var_inc_info, + if (OB_FAIL(sync_default_sys_vars(tmp_sys_var_inc_info, is_influence_plan_cache_sys_var))) { LOG_WARN("fail to sync default sys vars",K(ret)); } else if (OB_FAIL(sys_var_inc_info_.assign(tmp_sys_var_inc_info))) { @@ -4087,8 +4087,7 @@ int ObBasicSessionInfo::deserialize_sync_sys_vars(int64_t &deserialize_sys_var_c } // Deserialization scenario, synchronization of default system variables -int ObBasicSessionInfo::sync_default_sys_vars(SysVarIncInfo sys_var_inc_info_, - SysVarIncInfo tmp_sys_var_inc_info, +int ObBasicSessionInfo::sync_default_sys_vars(SysVarIncInfo &tmp_sys_var_inc_info, bool &is_influence_plan_cache_sys_var) { int ret = OB_SUCCESS; @@ -4121,6 +4120,8 @@ int ObBasicSessionInfo::sync_default_sys_vars(SysVarIncInfo sys_var_inc_info_, LOG_TRACE("sync sys var set default value", K(sys_var_id), K(sessid_), K(proxy_sessid_)); } + } else if (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)); } } diff --git a/src/sql/session/ob_basic_session_info.h b/src/sql/session/ob_basic_session_info.h index f1fa40aef..e5d3d9e49 100644 --- a/src/sql/session/ob_basic_session_info.h +++ b/src/sql/session/ob_basic_session_info.h @@ -1297,7 +1297,7 @@ public: int serialize_sync_sys_vars(common::ObIArray &sys_var_delta_ids, char *buf, const int64_t &buf_len, int64_t &pos); int deserialize_sync_sys_vars(int64_t &deserialize_sys_var_count, const char *buf, const int64_t &data_len, int64_t &pos, bool is_error_sync = false); int deserialize_sync_error_sys_vars(int64_t &deserialize_sys_var_count, const char *buf, const int64_t &data_len, int64_t &pos); - int sync_default_sys_vars(SysVarIncInfo sys_var_inc_info_, SysVarIncInfo tmp_sys_var_inc_info, bool &is_influence_plan_cache_sys_var); + int sync_default_sys_vars(SysVarIncInfo &tmp_sys_var_inc_info, bool &is_influence_plan_cache_sys_var); int get_sync_sys_vars(common::ObIArray &sys_var_delta_ids) const; int get_error_sync_sys_vars(ObIArray &sys_var_delta_ids) const; int get_sync_sys_vars_size(common::ObIArray &sys_var_delta_ids, int64_t &len) const;