From a275936785ef8f30f5f218817ab5d2b29aa571ce Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 27 Apr 2023 02:44:55 +0000 Subject: [PATCH] fix nowait not param --- src/observer/virtual_table/ob_all_disk_stat.h | 13 ++++++------- src/sql/parser/sql_parser_mysql_mode.y | 3 +++ src/sql/plan_cache/ob_sql_parameterization.cpp | 3 +-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/observer/virtual_table/ob_all_disk_stat.h b/src/observer/virtual_table/ob_all_disk_stat.h index 6a465807f..966b9c84e 100644 --- a/src/observer/virtual_table/ob_all_disk_stat.h +++ b/src/observer/virtual_table/ob_all_disk_stat.h @@ -22,17 +22,17 @@ namespace common { class ObObj; } - -namespace observer -{ + +namespace observer +{ class ObInfoSchemaDiskStatTable : public common::ObVirtualTableScannerIterator { public: ObInfoSchemaDiskStatTable(); - virtual ~ObInfoSchemaDiskStatTable(); - virtual int inner_get_next_row(common::ObNewRow *&row); - virtual void reset(); + virtual ~ObInfoSchemaDiskStatTable(); + virtual int inner_get_next_row(common::ObNewRow *&row); + virtual void reset(); inline void set_addr(common::ObAddr &addr) {addr_ = &addr;} virtual int set_ip(common::ObAddr *addr); @@ -58,4 +58,3 @@ private: } } #endif /* OCEANBASE_OBSERVER_VIRTUAL_TABLE_OB_DISK_STAT_TABLE */ - diff --git a/src/sql/parser/sql_parser_mysql_mode.y b/src/sql/parser/sql_parser_mysql_mode.y index 925b9d203..7a9681bb0 100755 --- a/src/sql/parser/sql_parser_mysql_mode.y +++ b/src/sql/parser/sql_parser_mysql_mode.y @@ -9170,6 +9170,7 @@ opt_for_update_wait: { /* USE T_SFU_XXX to avoid being parsed by plan cache as template var */ malloc_terminal_node($$, result->malloc_pool_, T_SFU_INT); + $$->is_hidden_const_ = 1; $$->value_ = -1; } | WAIT DECIMAL_VAL @@ -9187,11 +9188,13 @@ opt_for_update_wait: { malloc_terminal_node($$, result->malloc_pool_, T_SFU_INT); $$->value_ = 0; + $$->is_hidden_const_ = 1; } | NO_WAIT { malloc_terminal_node($$, result->malloc_pool_, T_SFU_INT); $$->value_ = 0; + $$->is_hidden_const_ = 1; }; parameterized_trim: diff --git a/src/sql/plan_cache/ob_sql_parameterization.cpp b/src/sql/plan_cache/ob_sql_parameterization.cpp index e8db0346e..8f43dd3c7 100644 --- a/src/sql/plan_cache/ob_sql_parameterization.cpp +++ b/src/sql/plan_cache/ob_sql_parameterization.cpp @@ -246,6 +246,7 @@ int ObSqlParameterization::is_fast_parse_const(TransformTreeCtx &ctx) || (T_INT == ctx.tree_->type_ && true == ctx.tree_->is_hidden_const_) || (T_CAST_ARGUMENT == ctx.tree_->type_ && true == ctx.tree_->is_hidden_const_) || (T_DOUBLE == ctx.tree_->type_ && true == ctx.tree_->is_hidden_const_) + || (T_SFU_INT == ctx.tree_->type_ && true == ctx.tree_->is_hidden_const_) || (T_FLOAT == ctx.tree_->type_ && true == ctx.tree_->is_hidden_const_)) { ctx.is_fast_parse_const_ = false; } else { @@ -858,11 +859,9 @@ int ObSqlParameterization::check_and_generate_param_info(const ObIArray