Skip to content

Commit b1565a9

Browse files
Update lab5.5-Recover.md
1 parent 7d88093 commit b1565a9

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/lab5/lab5.5-Recover.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ COMMIT TX100
2828
3. 提交事务:
2929
1.`COMMIT`标记写入`WAL`日志中。(此时的`WAL`日志可能存在于缓冲区, 没有刷入文件)
3030
2.`WAL`日志刷入磁盘。(此时`WAL`日志已经刷入磁盘)
31-
3. 如果隔离级别不是`Read Committed`, 则将暂存的`PUT/DELETE`操作应用到数据库
31+
3. 如果隔离级别不是`Read Uncommitted`, 则将暂存的`PUT/DELETE`操作应用到数据库
3232
4. 返回给`client`成功或失败
3333
4. 之前事务的`PUT/DELETE`操作的变化应用到数据库仍然是位于`MemTable`中的, 其会稍后输入`SST`
3434

@@ -40,9 +40,9 @@ COMMIT TX100
4040
3. 提交事务:
4141
1.`COMMIT`标记写入`WAL`日志中。(此时的`WAL`日志可能存在于缓冲区, 没有刷入文件)
4242
2.`WAL`日志刷入磁盘。(此时`WAL`日志已经刷入磁盘)
43-
3. 如果隔离级别不是`Read Committed`, 则将暂存的`PUT/DELETE`操作应用到数据库
43+
3. 如果隔离级别不是`Read Uncommitted`, 则将暂存的`PUT/DELETE`操作应用到数据库
4444
4. 返回给`client`成功或失败
45-
4. 之前事务的`PUT/DELETE`操作的变化应用到数据库仍然是位于`MemTable`中的, 其稍后输入`SST`奔溃
45+
4. 之前事务的`PUT/DELETE`操作的变化应用到数据库仍然是位于`MemTable`中的, 其稍后刷入`SST`奔溃
4646
5. 数据库重启后执行崩溃回复
4747
1. 检查`WAL`文件的记录
4848
2. 整合事务`id`每条记录, 忽略以`Rollback`结尾的事务
@@ -59,7 +59,7 @@ COMMIT TX100
5959
1.`Rollback`标记写入`WAL`日志中。(此时的`WAL`日志可能存在于缓冲区, 没有刷入文件)
6060
2.`WAL`日志刷入磁盘。(此时`WAL`日志已经刷入磁盘)
6161
3. 如果隔离级别不是`Read Uncommitted`, 则将暂存的`PUT/DELETE`操作简单丢弃即可
62-
4. 如果隔离级别是`Read Committed`, 则将操作前的数据库状态进行还原(作者的设计是利用`TranContext`中的`rollback_map_`进行还原, 当然这取决于你之前的`Lab`实现)
62+
4. 如果隔离级别是`Read Uncommitted`, 则将操作前的数据库状态进行还原(作者的设计是利用`TranContext`中的`rollback_map_`进行还原, 当然这取决于你之前的`Lab`实现)
6363
5. 返回给`client`成功或失败
6464

6565
# 2 崩溃恢复代码实现

0 commit comments

Comments
 (0)