diff --git a/src/sql/ob_sql.h b/src/sql/ob_sql.h index 53d561d430..487d5652ff 100644 --- a/src/sql/ob_sql.h +++ b/src/sql/ob_sql.h @@ -494,12 +494,14 @@ private: ObSchemaGetterGuard &schema_guard, ObSqlTraits &sql_traits); int get_reconstructed_batch_stmt(ObPlanCacheCtx &pc_ctx, ObString& stmt_sql); - static int add_param_to_param_store(const ObObjParam ¶m, - ParamStore ¶m_store); int check_need_switch_thread(ObSqlCtx &ctx, const ObStmt *stmt, bool &need_switch); void rollback_implicit_trans_when_fail(ObResultSet &result, int &ret); typedef hash::ObHashMap PlanCacheMap; friend class ::test::TestOptimizerUtils; + +public: + static int add_param_to_param_store(const ObObjParam ¶m, + ParamStore ¶m_store); private: bool inited_; // BEGIN 全局单例依赖接口 diff --git a/src/sql/ob_sql_utils.cpp b/src/sql/ob_sql_utils.cpp index bb2bf462dc..0066f3cd76 100644 --- a/src/sql/ob_sql_utils.cpp +++ b/src/sql/ob_sql_utils.cpp @@ -5265,6 +5265,7 @@ int ObSQLUtils::get_one_group_params(int64_t &actual_pos, ParamStore &src, Param ObObj *data = NULL; if (OB_UNLIKELY(!obj.is_ext())) { OZ (obj_params.push_back(obj)); + OZ (ObSql::add_param_to_param_store(obj, obj_params)); } else { CK (OB_NOT_NULL(coll = reinterpret_cast(obj.get_ext()))); CK (coll->get_count() > actual_pos); @@ -5278,7 +5279,7 @@ int ObSQLUtils::get_one_group_params(int64_t &actual_pos, ParamStore &src, Param ++actual_pos; } } - OX (obj_params.push_back(*(data + actual_pos))); + OZ (ObSql::add_param_to_param_store(*(data + actual_pos), obj_params)); } } } @@ -5898,4 +5899,4 @@ bool ObSQLUtils::is_data_version_ge_423_or_431(uint64_t data_version) bool ObSQLUtils::is_data_version_ge_423_or_432(uint64_t data_version) { return ((MOCK_DATA_VERSION_4_2_3_0 <= data_version && data_version < DATA_VERSION_4_3_0_0) || data_version >= DATA_VERSION_4_3_2_0); -} \ No newline at end of file +}