Latches the leaf page or pages requested staticvoidbtr_cur_latch_leaves================= page_t page ! in leaf page where the search converged ulint space ! in space id ulint zip_size ! in
该函数用于对所需的叶子页进行锁定。
函数参数解析:
- page:叶子页,搜索结束后的页。
- space:页所在表空间的ID。
- zip_size:页的压缩大小(如果未压缩,则为0)。
- page_no:页号。
- latch_mode:表示锁定模式(BTR_SEARCH_LEAF,BTR_MODIFY_LEAF,BTR_MODIFY_TREE,BTR_SEARCH_PREV,BTR_MODIFY_PREV)。
- cursor:游标。
- mtr:Mini-Transaction。
根据不同的锁定模式,函数的处理方式也不同。
- BTR_SEARCH_LEAF 和 BTR_MODIFY_LEAF:对叶子页进行S锁或X锁。
- BTR_MODIFY_TREE:对兄弟页进行X锁,并对叶子页进行X锁。
- BTR_SEARCH_PREV 和 BTR_MODIFY_PREV:对左兄弟页进行S锁或X锁,并对叶子页进行S锁或X锁。
最后,该函数会设置一个标志,表示在刷新缓冲池时需要检查该页是否是索引页。
原文地址: https://www.cveoy.top/t/topic/eF2v 著作权归作者所有。请勿转载和采集!