Hi Kristian,
I've gotten to a "sort of" stable state with binlog_row_image. It's not 100% complete as I did not add any tests for the new use cases.
Also there are a couple of changes that I am not 100% sure if they are complete or correct.
I would like some input on these changes:
The unpack_current_row being a very iffy change for me. I understand why it is needed in the Update_rows_event::do_exec_row code, as the after image has other columns that get written as opposed to the before image. Thing is I've just made it in an attempt to fix a HA_ERR_SAME_KEY error that I kept getting on the slave and it seems to have worked.
Do you think the implementation that MySQL chose is the correct one? The changes are mostly the same as the MySQL variant, except they have V2 ROW LOG EVENTS which seem to pass some extra info which we don't use (need?).
There are a lot of changes made and I've tried my best to not miss anything. I agree that the git history could be better. I will rewrite it when I get the final code variant.
Regards,
Vicentiu