He3DB的CreateCheckPoint函数是如何记录checkpoint开始时redo日志在wal的具体位置与时间线等信息的?
Checkpoint发生后,checkPoint变量记录当前时间线,以及当前checkpoint要写wal日志的位置,为了避免多进程操作共享内存xlog写,使用WALInsertLockAcquireExclusive排它锁控制。
Insert->CurrBytePos为逻辑地址,日志最终写到文件中以page管理,会增加一些page头信息,curInsert为转化带page头部信息的物理地址。
checkPoint的redo、ThisTimeLineID会记录本次checkpoint开始的位置与时间线。