首先我們要明確
m_ids
表示創建 ReadView 時,系統中所有活躍(未提交)事務的事務 ID 列表。
僅包含當前未提交的事務,與事務 ID 的數值范圍無關。
min_trx_id
是 m_ids 中的最小值。若 m_ids 為空,則 min_trx_id 等于 max_trx_id。
max_trx_id
是系統即將分配給下一個事務的 ID,即當前最大事務 ID + 1。
注意這個當前事務最大ID并不是ID列表的最后一個值,因為當前創建ReadView的時候,有的事務沒提交,有的事務提交了
比如(1,3,5,6)沒提交,他們就是m_ids。但是(2,4,7)提交了已經,最大ID是7。
所以當我們遇見了在[min_trx_id,max_trx_id)之間的事務,我們得去判斷它到底在不在m_ids里面。