[FIX] memory leak of plan cache
This commit is contained in:
@ -71,7 +71,7 @@ ObResultSet::~ObResultSet()
|
||||
inner_exec_ctx_->~ObExecContext();
|
||||
inner_exec_ctx_ = NULL;
|
||||
}
|
||||
ObPlanCache *pc = my_session_.get_plan_cache();
|
||||
ObPlanCache *pc = my_session_.get_plan_cache_directly();
|
||||
if (OB_NOT_NULL(pc)) {
|
||||
cache_obj_guard_.force_early_release(pc);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ class ObLCObjectManager
|
||||
public:
|
||||
typedef common::hash::ObHashMap<ObCacheObjID, ObILibCacheObject*> IdCacheObjectMap;
|
||||
|
||||
ObLCObjectManager() {}
|
||||
ObLCObjectManager() : object_id_(0) {}
|
||||
int init(int64_t hash_bucket, uint64_t tenant_id);
|
||||
int alloc(ObCacheObjGuard& guard,
|
||||
ObLibCacheNameSpace ns,
|
||||
|
@ -536,6 +536,7 @@ public:
|
||||
ObPrivSet get_user_priv_set() const { return user_priv_set_; }
|
||||
ObPrivSet get_db_priv_set() const { return db_priv_set_; }
|
||||
ObPlanCache *get_plan_cache();
|
||||
ObPlanCache *get_plan_cache_directly() const { return plan_cache_; };
|
||||
ObPsCache *get_ps_cache();
|
||||
ObPlanCacheManager *get_plan_cache_manager() { return plan_cache_manager_; }
|
||||
obmysql::ObMySQLRequestManager *get_request_manager();
|
||||
|
Reference in New Issue
Block a user