@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user