Hi all!
I have been looking at indexRootPage::splitIndexPage, and a small part
of it seems a little strange to me. It will not provoke a bug, but it is
confusing when reading it.
The method is declared to return a bool. When splitting an index page,
the method will recursively call itself if the parent page also needs to
be split. The recursion will stop when the parent page does not need to
be split, or the root page is split. In this case, it will return false.
The recursion looks like this
...
if (splitIndexPage (dbb, indexId, parentBdb, transId, result, &splitKey,
splitPageNumber, (parentBdb->pageNumber
== rootPageNumber)))
return true;
...
However, this is the only place the method returns true, so therefore it
can actually never return true.
The return value, which will always be false is also used in a branch in
IndexRootPage::addIndexEntry.
Do you agree with this? It is ok if I rewrite this to be a void method
instead? It will improve the readability, and we will avoid the
possibility that someone will use the return value in the future.
Best,
Lars-Erik