
回复
上次我们在插入第15行数据报错的时候结束:
首先,使用一个新的函数调用替换埋桩的代码。
这个函数会执行二叉搜索来查找子节点是否会包含给定的 Key。请记住,这些指向右子节点的 Key 都是他们指向的子节点中包含的最大 Key 。
所以我们的二叉搜索比较查找的 Key 和指向右边子节点的的指针。
另请记住,内部节点的子节点可以是叶节点,也可以是内部节点。在我们查找到正确的子节点后,会在节点上调用适合的搜索函数:
现在向一个多节点btree插入 key 不再会导致报错结果。所以我们可以更新我们的测例:
我觉得现在是反思一下我们的另一个测试的时候了。也就是尝试插入1400行数据。仍然会报错,但是报错信息变成新的其他报错。现在,当程序 crash 的时候,我们的测试不能很好的处理这种报错。如果发生这种报错情况,到目前为止我们只使用获得的输出。
下面显示出了我们在测试插入1400行时输出的报错:
看起来这是我们待办事项列表中的下一个!
文章转载自公众号:GreatSQL社区