Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b029395

Browse files
Refactor nbtree fastpath optimization.
Commit 2b27273, which added the fastpath rightmost leaf page cache insert optimization, added code to _bt_doinsert() to handle using and invalidating the backend local block cache. It doesn't seem like a good place to handle these low level details, though. _bt_doinsert() is supposed to be a high level function -- it is the main entry point to nbtinsert.c. Restructure the code by placing handling of the rightmost block cache at the start of a new _bt_search() shim function, _bt_search_insert(). The new function is called from _bt_doinsert(), which uses it as a _bt_search() variant that conveniently accepts its BTInsertState state as an argument. _bt_doinsert() no longer needs to directly consider the fastpath optimization. Discussion: https://postgr.es/m/CAH2-Wzk59cxKJRd=rfbyub6-V4yWRjsOYRkUNHBLT1P1GdtCQQ@mail.gmail.com
1 parent a2b1faa commit b029395

File tree

1 file changed

+160
-125
lines changed

1 file changed

+160
-125
lines changed

0 commit comments

Comments
 (0)