From c71007cee07c59572c949de3c4156affb784398e Mon Sep 17 00:00:00 2001 From: wangt1xiuyi <13547954130@163.com> Date: Mon, 4 Mar 2024 10:50:10 +0000 Subject: [PATCH] disable sample temp_table_ssid expr in dynamic sampling and disable print timeout error msg in inner sql --- src/observer/mysql/ob_async_plan_driver.cpp | 2 +- src/observer/mysql/ob_sync_plan_driver.cpp | 2 +- src/sql/ob_sql.cpp | 2 ++ src/sql/optimizer/ob_dynamic_sampling.cpp | 3 ++- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/observer/mysql/ob_async_plan_driver.cpp b/src/observer/mysql/ob_async_plan_driver.cpp index 67d9938ad0..85e86902be 100644 --- a/src/observer/mysql/ob_async_plan_driver.cpp +++ b/src/observer/mysql/ob_async_plan_driver.cpp @@ -144,7 +144,7 @@ int ObAsyncPlanDriver::response_result(ObMySQLResultSet &result) K(ret), K(async_resp_used), K(retry_ctrl_.need_retry())); //if the error code is ob_timeout, we add more error info msg for dml query. - if (OB_TIMEOUT == ret) { + if (OB_TIMEOUT == ret && session_.is_user_session()) { LOG_USER_ERROR(OB_TIMEOUT, THIS_WORKER.get_timeout_ts() - session_.get_query_start_time()); } diff --git a/src/observer/mysql/ob_sync_plan_driver.cpp b/src/observer/mysql/ob_sync_plan_driver.cpp index f6f580254b..d36c121cb9 100644 --- a/src/observer/mysql/ob_sync_plan_driver.cpp +++ b/src/observer/mysql/ob_sync_plan_driver.cpp @@ -248,7 +248,7 @@ int ObSyncPlanDriver::response_result(ObMySQLResultSet &result) } } //if the error code is ob_timeout, we add more error info msg for dml query. - if (OB_TIMEOUT == ret) { + if (OB_TIMEOUT == ret && session_.is_user_session()) { LOG_USER_ERROR(OB_TIMEOUT, THIS_WORKER.get_timeout_ts() - session_.get_query_start_time()); } diff --git a/src/sql/ob_sql.cpp b/src/sql/ob_sql.cpp index e14c365f78..4c1a5f0ef2 100644 --- a/src/sql/ob_sql.cpp +++ b/src/sql/ob_sql.cpp @@ -1185,6 +1185,7 @@ int ObSql::do_real_prepare(const ObString &sql, } //if the error code is ob_timeout, we add more error info msg for dml query. if (OB_TIMEOUT == ret && + session.is_user_session() && parse_result.result_tree_ != NULL && parse_result.result_tree_->children_ != NULL && parse_result.result_tree_->num_child_ >= 1 && @@ -4931,6 +4932,7 @@ OB_NOINLINE int ObSql::handle_physical_plan(const ObString &trimed_stmt, #endif //if the error code is ob_timeout, we add more error info msg for dml query. if (OB_TIMEOUT == ret && + result.get_session().is_user_session() && parse_result.result_tree_ != NULL && parse_result.result_tree_->children_ != NULL && parse_result.result_tree_->num_child_ >= 1 && diff --git a/src/sql/optimizer/ob_dynamic_sampling.cpp b/src/sql/optimizer/ob_dynamic_sampling.cpp index 414c511bcf..84ff3518e7 100644 --- a/src/sql/optimizer/ob_dynamic_sampling.cpp +++ b/src/sql/optimizer/ob_dynamic_sampling.cpp @@ -1361,7 +1361,8 @@ int ObDynamicSamplingUtils::check_ds_can_use_filter(const ObRawExpr *filter, filter->get_expr_type() == T_FUN_ENUM_TO_STR || filter->get_expr_type() == T_OP_GET_PACKAGE_VAR || (filter->get_expr_type() >= T_FUN_SYS_IS_JSON && - filter->get_expr_type() <= T_FUN_SYS_TREAT)) { + filter->get_expr_type() <= T_FUN_SYS_TREAT) || + filter->get_expr_type() == T_FUN_GET_TEMP_TABLE_SESSID) { no_use = true; } else if (filter->get_expr_type() == T_FUN_SYS_LNNVL) { const ObRawExpr *real_expr = NULL;