diff --git a/src/interface/dms_api.h b/src/interface/dms_api.h index 3f1ac67c83b90b0c86a0fbbd47acede267c94348..860c383257fac73b400bf386fd60c150cd1ba4ee 100644 --- a/src/interface/dms_api.h +++ b/src/interface/dms_api.h @@ -36,7 +36,7 @@ extern "C" { #define DMS_LOCAL_MINOR_VER_WEIGHT 1000 #define DMS_LOCAL_MAJOR_VERSION 0 #define DMS_LOCAL_MINOR_VERSION 0 -#define DMS_LOCAL_VERSION 179 +#define DMS_LOCAL_VERSION 180 #define DMS_SUCCESS 0 #define DMS_ERROR (-1) @@ -811,6 +811,11 @@ typedef struct st_dms_msg_stats { dms_stat_by_cmd_t stat_cmd[DMS_STAT_CMD_COUNT]; } dms_msg_stats_t; +typedef enum en_dms_reform_event { + DMS_REFORM_EVENT_INVALID = 0, + DMS_REFORM_EVENT_AFTER_PUSH_GCV, +} dms_reform_event_e; + typedef int(*dms_get_list_stable)(void *db_handle, unsigned long long *list_stable, unsigned char *reformer_id); typedef int(*dms_save_list_stable)(void *db_handle, unsigned long long list_stable, unsigned char reformer_id, unsigned long long list_in, unsigned int save_ctrl); @@ -927,6 +932,7 @@ typedef int (*dms_drc_xa_res_rebuild)(void *db_handle, unsigned char thread_inde typedef void (*dms_reform_shrink_xa_rms)(void *db_handle, unsigned char undo_seg_id); typedef void (*dms_ckpt_unblock_rcy_local)(void *db_handle, unsigned long long list_in); typedef int (*dms_drc_rebuild_parallel)(void *db_handle, unsigned char thread_index, unsigned char thread_num); +typedef int (*dms_reform_event_notify)(void *db_handle, dms_reform_event_e event); // for openGauss typedef void (*dms_thread_init_t)(unsigned char need_startup, char **reg_data); @@ -1052,8 +1058,9 @@ typedef struct st_dms_callback { dms_drc_xa_res_rebuild dms_reform_rebuild_xa_res; dms_reform_shrink_xa_rms dms_shrink_xa_rms; dms_ckpt_unblock_rcy_local ckpt_unblock_rcy_local; - dms_drc_rebuild_parallel rebuild_alock_parallel; + dms_reform_event_notify reform_event_notify; + // used in reform for opengauss dms_thread_init_t dms_thread_init; dms_thread_deinit_t dms_thread_deinit; diff --git a/src/rc/dms_reform_proc.c b/src/rc/dms_reform_proc.c index e3bda69bdf0acaea2d1b762c2514d28f2abd7e65..fe126b839b15b9065d678dce1ce8e38358678504 100644 --- a/src/rc/dms_reform_proc.c +++ b/src/rc/dms_reform_proc.c @@ -1854,6 +1854,12 @@ static int dms_reform_push_gcv_and_unlock(void) DMS_GLOBAL_CLUSTER_VER, g_dms.inst_id); LOG_RUN_FUNC_SUCCESS; +#ifndef OPENGAUSS + share_info_t *share_info = DMS_SHARE_INFO; + if (!REFORM_TYPE_IS_AZ_SWITCHOVER(share_info->reform_type)) { + d_dms.callback.reform_event_notify(g_dms.reform_ctx.handle_proc, DMS_REFORM_EVENT_AFTER_PUSH_GCV); + } +#endif dms_reform_next_step(); return DMS_SUCCESS; }