diff --git a/src/gausskernel/ddes/adapter/ss_dms_bufmgr.cpp b/src/gausskernel/ddes/adapter/ss_dms_bufmgr.cpp index e0d49272e..b1fe367b2 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_bufmgr.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_bufmgr.cpp @@ -63,11 +63,11 @@ void InitDmsContext(dms_context_t *dmsContext) dmsContext->sess_id = (unsigned int)(t_thrd.proc ? t_thrd.proc->logictid : t_thrd.myLogicTid + TotalProcs); dmsContext->db_handle = t_thrd.proc; if (AmDmsReformProcProcess()) { - dmsContext->sess_rcy = DMS_SESSION_IN_REFORM; + dmsContext->sess_type = DMS_SESSION_REFORM; } else if (AmPageRedoProcess() || AmStartupProcess()) { - dmsContext->sess_rcy = DMS_SESSION_IN_RECOVERY; + dmsContext->sess_type = DMS_SESSION_RECOVER; } else { - dmsContext->sess_rcy = DMS_SESSION_NORMAL; + dmsContext->sess_type = DMS_SESSION_NORMAL; } dmsContext->is_try = 0; } diff --git a/src/include/ddes/dms/dms_api.h b/src/include/ddes/dms/dms_api.h index b9b44f9a5..ac6836a23 100644 --- a/src/include/ddes/dms/dms_api.h +++ b/src/include/ddes/dms/dms_api.h @@ -156,6 +156,12 @@ typedef enum en_drc_res_type { DRC_RES_LOCK_ITEM_TYPE, } drc_res_type_e; +typedef enum en_dms_session { + DMS_SESSION_NORMAL = 0, // can not access DRC when DRC is inaccessible + DMS_SESSION_REFORM = 1, // can access DRC when DRC is inaccessible + DMS_SESSION_RECOVER = 2, // can access DRC when DRC is inaccessible, buf if no owner, should set in recovery +} dms_session_e; + #define DMS_RESID_SIZE 32 #define DMS_DRID_SIZE sizeof(dms_drid_t) @@ -183,8 +189,7 @@ typedef struct st_dms_xmap_ctx { typedef struct st_dms_context { unsigned int inst_id; // current instance id unsigned int sess_id; // current session id - unsigned int sess_rcy; // request page: recovery session flag - + dms_session_e sess_type; // request page: recovery session flag void *db_handle; unsigned char is_try; unsigned char type; diff --git a/src/include/ddes/dms/ss_common_attr.h b/src/include/ddes/dms/ss_common_attr.h index ea064bd54..711162c36 100644 --- a/src/include/ddes/dms/ss_common_attr.h +++ b/src/include/ddes/dms/ss_common_attr.h @@ -158,8 +158,5 @@ typedef enum SSReformType { DMS_REFORM_TYPE_FOR_MAINTAIN } SSReformType; -#define DMS_SESSION_NORMAL 0 -#define DMS_SESSION_IN_REFORM 1 -#define DMS_SESSION_IN_RECOVERY 2 #endif