reset spm ctx before batched multi stmt fallback to execute one by one
This commit is contained in:
@ -498,6 +498,7 @@ int ObMPQuery::process_single_stmt(const ObMultiStmtItem &multi_stmt_item,
|
|||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
FLTSpanGuard(mpquery_single_stmt);
|
FLTSpanGuard(mpquery_single_stmt);
|
||||||
|
ctx_.spm_ctx_.reset();
|
||||||
bool need_response_error = true;
|
bool need_response_error = true;
|
||||||
const bool enable_trace_log = lib::is_trace_log_enabled();
|
const bool enable_trace_log = lib::is_trace_log_enabled();
|
||||||
session.get_raw_audit_record().request_memory_used_ = 0;
|
session.get_raw_audit_record().request_memory_used_ = 0;
|
||||||
|
|||||||
@ -416,6 +416,7 @@ struct ObSpmCacheCtx
|
|||||||
ObSpmCacheCtx()
|
ObSpmCacheCtx()
|
||||||
: bl_key_()
|
: bl_key_()
|
||||||
{}
|
{}
|
||||||
|
inline void reset() { bl_key_.reset(); }
|
||||||
ObBaselineKey bl_key_;
|
ObBaselineKey bl_key_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -297,6 +297,7 @@ struct ObSpmCacheCtx : public ObILibCacheCtx
|
|||||||
BASELINE_PLAN,
|
BASELINE_PLAN,
|
||||||
MAX_TYPE
|
MAX_TYPE
|
||||||
};
|
};
|
||||||
|
void reset();
|
||||||
void set_get_normal_mode(uint64_t v) { plan_hash_value_ = v; handle_cache_mode_ = MODE_GET_NORMAL; }
|
void set_get_normal_mode(uint64_t v) { plan_hash_value_ = v; handle_cache_mode_ = MODE_GET_NORMAL; }
|
||||||
void set_get_offset_mode() { handle_cache_mode_ = MODE_GET_OFFSET; }
|
void set_get_offset_mode() { handle_cache_mode_ = MODE_GET_OFFSET; }
|
||||||
void set_get_for_update_mode(uint64_t v) { plan_hash_value_ = v; handle_cache_mode_ = MODE_GET_FOR_UPDATE; }
|
void set_get_for_update_mode(uint64_t v) { plan_hash_value_ = v; handle_cache_mode_ = MODE_GET_FOR_UPDATE; }
|
||||||
|
|||||||
Reference in New Issue
Block a user