I have grepped and found few mentions about preupdate hookFixed. Updated patch below.
which you didn’t delete.
Firstly, it seems that you can remove struct PreUpdate.
Secondly, one comment in update.c (line 565):
* That (regNew==regnewPk+1) is true is also important for the
* pre-update hook. If the caller invokes preupdate_new(), the returned
* value is copied from memory cell (regNewPk+1+iCol), where iCol
* is the column index supplied by the user.
Remove it as well pls.