简书付费文章

第10节:重点Event UPDATE_ROWS_EVENT/X

2020-03-09  本文已影响0人  重庆八怪

一、UPDATE_ROWS_EVENT

(1)UPDATE_ROWS_EVENT 的作用

本Event是‘Update’语句生成的Event。主要用于记录‘Update’语句的before_image实际数据和after_image实际数据。其中还包含table_id、映像位图、字段数量、行数据位图等信息。

(2)源码重要接口(不关心源码可以不理会)
主库端
初始化构造 Update_rows_log_event::Update_rows_log_event(THD *thd_arg, TABLE tbl_arg,const Table_id& tid,bool is_transactional,const uchar extra_row_info)
数据写入函数 Rows_log_event::do_add_row_data
写入binlog cache Rows_log_event::write_data_header Rows_log_event::write_data_body
从库端
读取Event构造 Update_rows_log_event::Update_rows_log_event(const char *buf, uintevent_len,const Format_description_event *description_event)
应用 Rows_log_event::do_apply_event
(3)主体格式

因为本Event的格式更加复杂一些,因此我使用了更加丰富的原色来区别如下(图10-1):

上一篇下一篇

猜你喜欢

热点阅读