diff --git a/src/share/system_variable/ob_sys_var_class_type.h b/src/share/system_variable/ob_sys_var_class_type.h index caae386ac8..e07fdf7ff6 100644 --- a/src/share/system_variable/ob_sys_var_class_type.h +++ b/src/share/system_variable/ob_sys_var_class_type.h @@ -264,8 +264,6 @@ enum ObSysVarClassType SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD = 10158, SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION = 10159, SYS_VAR_LC_TIME_NAMES = 10160, - SYS_VAR__AFFECTED_ROWS = 10161, - SYS_VAR__FOUND_ROWS = 10162, }; } diff --git a/src/share/system_variable/ob_system_variable_alias.h b/src/share/system_variable/ob_system_variable_alias.h index d8e8eb5be9..9e983d3172 100644 --- a/src/share/system_variable/ob_system_variable_alias.h +++ b/src/share/system_variable/ob_system_variable_alias.h @@ -259,8 +259,6 @@ namespace share static const char* const OB_SV_DEFAULT_LOB_INROW_THRESHOLD = "ob_default_lob_inrow_threshold"; static const char* const OB_SV__ENABLE_STORAGE_CARDINALITY_ESTIMATION = "_enable_storage_cardinality_estimation"; static const char* const OB_SV_LC_TIME_NAMES = "lc_time_names"; - static const char* const OB_SV__AFFECTED_ROWS = "_affected_rows"; - static const char* const OB_SV__FOUND_ROWS = "_found_rows"; } } diff --git a/src/share/system_variable/ob_system_variable_factory.cpp b/src/share/system_variable/ob_system_variable_factory.cpp index a000f1162f..df10b4d38f 100644 --- a/src/share/system_variable/ob_system_variable_factory.cpp +++ b/src/share/system_variable/ob_system_variable_factory.cpp @@ -123,7 +123,6 @@ const char *ObSysVarParallelDegreePolicy::PARALLEL_DEGREE_POLICY_NAMES[] = { }; const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = { - "_affected_rows", "_aggregation_optimization_settings", "_clear_last_archive_timestamp", "_create_audit_purge_job", @@ -137,7 +136,6 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = { "_force_parallel_ddl_dop", "_force_parallel_dml_dop", "_force_parallel_query_dop", - "_found_rows", "_groupby_nopushdown_cut_ratio", "_nlj_batching_enabled", "_ob_ols_policy_session_labels", @@ -371,7 +369,6 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = { }; const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = { - SYS_VAR__AFFECTED_ROWS, SYS_VAR__AGGREGATION_OPTIMIZATION_SETTINGS, SYS_VAR__CLEAR_LAST_ARCHIVE_TIMESTAMP, SYS_VAR__CREATE_AUDIT_PURGE_JOB, @@ -385,7 +382,6 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = { SYS_VAR__FORCE_PARALLEL_DDL_DOP, SYS_VAR__FORCE_PARALLEL_DML_DOP, SYS_VAR__FORCE_PARALLEL_QUERY_DOP, - SYS_VAR__FOUND_ROWS, SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO, SYS_VAR__NLJ_BATCHING_ENABLED, SYS_VAR__OB_OLS_POLICY_SESSION_LABELS, @@ -861,9 +857,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = { "ob_enable_pl_cache", "ob_default_lob_inrow_threshold", "_enable_storage_cardinality_estimation", - "lc_time_names", - "_affected_rows", - "_found_rows" + "lc_time_names" }; bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2) @@ -1275,8 +1269,6 @@ int ObSysVarFactory::create_all_sys_vars() + sizeof(ObSysVarObDefaultLobInrowThreshold) + sizeof(ObSysVarEnableStorageCardinalityEstimation) + sizeof(ObSysVarLcTimeNames) - + sizeof(ObSysVarAffectedRows) - + sizeof(ObSysVarFoundRows) ; void *ptr = NULL; if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) { @@ -3472,24 +3464,6 @@ int ObSysVarFactory::create_all_sys_vars() ptr = (void *)((char *)ptr + sizeof(ObSysVarLcTimeNames)); } } - if (OB_SUCC(ret)) { - if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAffectedRows())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAffectedRows", K(ret)); - } else { - store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__AFFECTED_ROWS))] = sys_var_ptr; - ptr = (void *)((char *)ptr + sizeof(ObSysVarAffectedRows)); - } - } - if (OB_SUCC(ret)) { - if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarFoundRows())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarFoundRows", K(ret)); - } else { - store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__FOUND_ROWS))] = sys_var_ptr; - ptr = (void *)((char *)ptr + sizeof(ObSysVarFoundRows)); - } - } } return ret; @@ -6173,28 +6147,6 @@ int ObSysVarFactory::create_sys_var(ObIAllocator &allocator_, ObSysVarClassType } break; } - case SYS_VAR__AFFECTED_ROWS: { - void *ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAffectedRows)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAffectedRows))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAffectedRows())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAffectedRows", K(ret)); - } - break; - } - case SYS_VAR__FOUND_ROWS: { - void *ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarFoundRows)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarFoundRows))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarFoundRows())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarFoundRows", K(ret)); - } - break; - } default: { ret = OB_ERR_UNEXPECTED; diff --git a/src/share/system_variable/ob_system_variable_factory.h b/src/share/system_variable/ob_system_variable_factory.h index 31089c65f1..11cdb5c538 100644 --- a/src/share/system_variable/ob_system_variable_factory.h +++ b/src/share/system_variable/ob_system_variable_factory.h @@ -1754,20 +1754,6 @@ public: inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LC_TIME_NAMES; } inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(242); } }; -class ObSysVarAffectedRows : public ObIntSysVar -{ -public: - ObSysVarAffectedRows() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} - inline virtual ObSysVarClassType get_type() const { return SYS_VAR__AFFECTED_ROWS; } - inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(243); } -}; -class ObSysVarFoundRows : public ObIntSysVar -{ -public: - ObSysVarFoundRows() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} - inline virtual ObSysVarClassType get_type() const { return SYS_VAR__FOUND_ROWS; } - inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(244); } -}; class ObSysVarFactory @@ -1788,7 +1774,7 @@ public: static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id); const static int64_t MYSQL_SYS_VARS_COUNT = 97; - const static int64_t OB_SYS_VARS_COUNT = 148; + const static int64_t OB_SYS_VARS_COUNT = 146; const static int64_t ALL_SYS_VARS_COUNT = MYSQL_SYS_VARS_COUNT + OB_SYS_VARS_COUNT; const static int64_t INVALID_MAX_READ_STALE_TIME = -1; diff --git a/src/share/system_variable/ob_system_variable_init.cpp b/src/share/system_variable/ob_system_variable_init.cpp index 4d02fd4256..dd6e5475fc 100644 --- a/src/share/system_variable/ob_system_variable_init.cpp +++ b/src/share/system_variable/ob_system_variable_init.cpp @@ -3429,43 +3429,13 @@ static struct VarsInit{ ObSysVars[242].alias_ = "OB_SV_LC_TIME_NAMES" ; }(); - [&] (){ - ObSysVars[243].default_value_ = "-1" ; - ObSysVars[243].info_ = "affected rows." ; - ObSysVars[243].name_ = "_affected_rows" ; - ObSysVars[243].data_type_ = ObIntType ; - ObSysVars[243].min_val_ = "-1" ; - ObSysVars[243].max_val_ = "9223372036854775807" ; - ObSysVars[243].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::NEED_SERIALIZE ; - ObSysVars[243].id_ = SYS_VAR__AFFECTED_ROWS ; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__AFFECTED_ROWS)) ; - ObSysVarsIdToArrayIdx[SYS_VAR__AFFECTED_ROWS] = 243 ; - ObSysVars[243].base_value_ = "-1" ; - ObSysVars[243].alias_ = "OB_SV__AFFECTED_ROWS" ; - }(); - - [&] (){ - ObSysVars[244].default_value_ = "1" ; - ObSysVars[244].info_ = "found rows." ; - ObSysVars[244].name_ = "_found_rows" ; - ObSysVars[244].data_type_ = ObIntType ; - ObSysVars[244].min_val_ = "-1" ; - ObSysVars[244].max_val_ = "9223372036854775807" ; - ObSysVars[244].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::NEED_SERIALIZE ; - ObSysVars[244].id_ = SYS_VAR__FOUND_ROWS ; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__FOUND_ROWS)) ; - ObSysVarsIdToArrayIdx[SYS_VAR__FOUND_ROWS] = 244 ; - ObSysVars[244].base_value_ = "1" ; - ObSysVars[244].alias_ = "OB_SV__FOUND_ROWS" ; - }(); - if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) { HasInvalidSysVar = true; } } }vars_init; -static int64_t var_amount = 245; +static int64_t var_amount = 243; int64_t ObSysVariables::get_all_sys_var_count(){ return ObSysVarFactory::ALL_SYS_VARS_COUNT;} ObSysVarClassType ObSysVariables::get_sys_var_id(int64_t i){ return ObSysVars[i].id_;} diff --git a/src/share/system_variable/ob_system_variable_init.json b/src/share/system_variable/ob_system_variable_init.json index 7ce24d4403..d5951f874a 100644 --- a/src/share/system_variable/ob_system_variable_init.json +++ b/src/share/system_variable/ob_system_variable_init.json @@ -3459,35 +3459,5 @@ "info_cn": "", "background_cn": "", "ref_url": "" - }, - "_affected_rows": { - "id": 10161, - "name": "_affected_rows", - "default_value": "-1", - "base_value": "-1", - "data_type": "int", - "info": "affected rows.", - "flags": "SESSION | INVISIBLE | NEED_SERIALIZE", - "min_val": "-1", - "max_val": "9223372036854775807", - "publish_version": "", - "info_cn": "", - "background_cn": "", - "ref_url": "" - }, - "_found_rows": { - "id": 10162, - "name": "_found_rows", - "default_value": "1", - "base_value": "1", - "data_type": "int", - "info": "found rows.", - "flags": "SESSION | INVISIBLE | NEED_SERIALIZE", - "min_val": "-1", - "max_val": "9223372036854775807", - "publish_version": "", - "info_cn": "", - "background_cn": "", - "ref_url": "" } } diff --git a/src/sql/ob_result_set.cpp b/src/sql/ob_result_set.cpp index e48276eef2..2e3b1be73d 100644 --- a/src/sql/ob_result_set.cpp +++ b/src/sql/ob_result_set.cpp @@ -604,7 +604,7 @@ OB_INLINE void ObResultSet::store_affected_rows(ObPhysicalPlanCtx &plan_ctx) affected_row = get_affected_rows(); } NG_TRACE_EXT(affected_rows, OB_ID(affected_rows), affected_row); - my_session_.update_sys_variable(SYS_VAR__AFFECTED_ROWS, affected_row); + my_session_.set_affected_rows(affected_row); } OB_INLINE void ObResultSet::store_found_rows(ObPhysicalPlanCtx &plan_ctx) @@ -620,7 +620,7 @@ OB_INLINE void ObResultSet::store_found_rows(ObPhysicalPlanCtx &plan_ctx) int64_t found_rows = -1; found_rows = plan_ctx.get_found_rows(); rows = found_rows == 0 ? return_rows_ : found_rows; - my_session_.update_sys_variable(SYS_VAR__FOUND_ROWS, rows); + my_session_.set_found_rows(rows); NG_TRACE_EXT(store_found_rows, OB_ID(found_rows), found_rows, OB_ID(return_rows), return_rows_); diff --git a/src/sql/session/ob_basic_session_info.cpp b/src/sql/session/ob_basic_session_info.cpp index b782ccc4ac..7b15a35838 100644 --- a/src/sql/session/ob_basic_session_info.cpp +++ b/src/sql/session/ob_basic_session_info.cpp @@ -79,8 +79,6 @@ ObBasicSessionInfo::ObBasicSessionInfo(const uint64_t tenant_id) sess_bt_buff_pos_(0), sess_ref_cnt_(0), sess_ref_seq_(0), - found_rows_(1), - affected_rows_(-1), block_allocator_(SMALL_BLOCK_SIZE, common::OB_MALLOC_NORMAL_BLOCK_SIZE - 32, //这里减32是为了适配ObMalloc对齐规则, 防止超8k的内存分配 ObMalloc(lib::ObMemAttr(orig_tenant_id_, ObModIds::OB_SQL_SESSION_SBLOCK))), @@ -438,8 +436,6 @@ void ObBasicSessionInfo::reset(bool skip_sys_var) last_update_tz_time_ = 0; is_client_sessid_support_ = false; sess_bt_buff_pos_ = 0; - found_rows_ = 1; - affected_rows_ = -1; ATOMIC_SET(&sess_ref_cnt_ , 0); // 最后再重置所有allocator // 否则thread_data_.user_name_之类的属性会有野指针,在session_mgr的foreach接口遍历时可能core掉。 @@ -2673,18 +2669,6 @@ OB_INLINE int ObBasicSessionInfo::process_session_variable(ObSysVarClassType var OX (sys_vars_cache_.set_default_lob_inrow_threshold(int_val)); break; } - case SYS_VAR__AFFECTED_ROWS: { - int64_t affect_rows = 0; - OZ (val.get_int(affect_rows), val); - set_affected_rows(affect_rows); - break; - } - case SYS_VAR__FOUND_ROWS: { - int64_t found_rows = 0; - OZ (val.get_int(found_rows), val); - set_found_rows(found_rows); - break; - } default: { //do nothing } @@ -4412,9 +4396,7 @@ OB_DEF_SERIALIZE(ObBasicSessionInfo) flt_vars_.row_traceformat_, flt_vars_.last_flt_span_id_, exec_min_cluster_version_, - is_client_sessid_support_, - found_rows_, - affected_rows_); + is_client_sessid_support_); }(); return ret; } @@ -4616,9 +4598,7 @@ OB_DEF_DESERIALIZE(ObBasicSessionInfo) } if (OB_SUCC(ret) && pos < data_len) { LST_DO_CODE(OB_UNIS_DECODE, - is_client_sessid_support_, - found_rows_, - affected_rows_); + is_client_sessid_support_); } // deep copy string. if (OB_SUCC(ret)) { @@ -4933,9 +4913,7 @@ OB_DEF_SERIALIZE_SIZE(ObBasicSessionInfo) flt_vars_.row_traceformat_, flt_vars_.last_flt_span_id_, exec_min_cluster_version_, - is_client_sessid_support_, - found_rows_, - affected_rows_); + is_client_sessid_support_); return len; } diff --git a/src/sql/session/ob_basic_session_info.h b/src/sql/session/ob_basic_session_info.h index 45b9356a1f..de52b6edaf 100644 --- a/src/sql/session/ob_basic_session_info.h +++ b/src/sql/session/ob_basic_session_info.h @@ -586,13 +586,6 @@ public: sql_select_limit = sys_vars_cache_.get_sql_select_limit(); return common::OB_SUCCESS; } - void set_found_rows(const int64_t count) { found_rows_ = count; } - int64_t get_found_rows() const { return found_rows_; } - void set_affected_rows(const int64_t count) - { - affected_rows_ = count; - } - int64_t get_affected_rows() const { return affected_rows_; } // session保留compatible mode,主要用于传递mode,方便后续进行guard切换,如inner sql connection等 // 其他需要用mode地方请尽量使用线程上的is_oracle|mysql_mode // 同时可以使用check_compatibility_mode来检查线程与session上的mode是否一致 @@ -2078,8 +2071,6 @@ private: int sess_bt_buff_pos_; int32_t sess_ref_cnt_; int32_t sess_ref_seq_; - int64_t found_rows_; - int64_t affected_rows_; protected: // alloc at most SMALL_BLOCK_SIZE bytes for each alloc() call. diff --git a/src/sql/session/ob_sql_session_info.h b/src/sql/session/ob_sql_session_info.h index 0e3b9ac068..061317f7f5 100644 --- a/src/sql/session/ob_sql_session_info.h +++ b/src/sql/session/ob_sql_session_info.h @@ -846,6 +846,10 @@ public: transaction::ObTxClass get_trans_type() const { return trans_type_; } void get_session_priv_info(share::schema::ObSessionPrivInfo &session_priv) const; + void set_found_rows(const int64_t count) { found_rows_ = count; } + int64_t get_found_rows() const { return found_rows_; } + void set_affected_rows(const int64_t count) { affected_rows_ = count; } + int64_t get_affected_rows() const { return affected_rows_; } bool has_user_super_privilege() const; bool has_user_process_privilege() const; int check_read_only_privilege(const bool read_only,