Repair plan cache mode error about spm.

This commit is contained in:
obdev
2023-01-28 19:23:32 +08:00
committed by ob-robot
parent c24c75ed20
commit 91f036ae7c
8 changed files with 22 additions and 19 deletions

View File

@ -28,6 +28,7 @@ void UDRBackupRecoveryGuard::backup()
{
is_prepare_protocol_ = sql_ctx_.is_prepare_protocol_;
cur_sql_ = sql_ctx_.cur_sql_;
mode_ = pc_ctx_.mode_;
}
void UDRBackupRecoveryGuard::recovery()
@ -36,8 +37,8 @@ void UDRBackupRecoveryGuard::recovery()
sql_ctx_.cur_sql_ = cur_sql_;
pc_ctx_.is_rewrite_sql_ = false;
pc_ctx_.def_name_ctx_ = nullptr;
pc_ctx_.mode_ = mode_;
if (!is_prepare_protocol_) {
pc_ctx_.mode_ = PC_INVALID_MODE;
const_cast<ObString &>(pc_ctx_.raw_sql_) = cur_sql_;
pc_ctx_.is_parameterized_execute_ = false;
pc_ctx_.fp_result_.parameterized_params_.reuse();

View File

@ -10,6 +10,7 @@
#include "sql/udr/ob_udr_sql_service.h"
#include "sql/udr/ob_udr_item_mgr.h"
#include "lib/task/ob_timer.h"
#include "sql/plan_cache/ob_plan_cache_struct.h"
namespace oceanbase
@ -42,6 +43,7 @@ private:
ObPlanCacheCtx &pc_ctx_;
bool is_prepare_protocol_;
common::ObString cur_sql_;
PlanCacheMode mode_;
};
class UDRTmpAllocatorGuard