返回数说广场
0
回滚到某个 savepoint,首先要从 m_savepoints 链表中找到这个 savepoint。
找到之后,根据其中保存的 binlog offset、undo 日志编号,执行 binlog 和 InnoDB 的回滚操作。
binlog 回滚就是丢弃 binlog offset 之后的 binlog 日志。
InnoDB 回滚就是根据产生时间,从后往前读取并解析 undo 日志,执行 undo 日志对应的回滚操作。
最后,就是删除在这个 savepoint 之后创建的其它 savepoint。
0
0 146
分享
评论
热门数说


