Adjustments to the btree fastpath optimization.

Andrew Dunstan <andrew@dunslane.net>

Commit: 074251db6740a9abfbd922d13d39b27c4f338a20
Author: Andrew Dunstan <andrew@dunslane.net>
Date: 2018-04-10T22:21:03Z
Releases: 11.0
Adjustments to the btree fastpath optimization.

This optimization was introduced in commit 2b272734. The changes include
some additional comments and documentation, and also these more
substantive changes:
. ensure the optimization is only applied on the leaf node of a tree
whose root is on level 2 or more. It's of little value on small trees.
. Delay calling RelationSetTargetBlock() until after the critical
section of _bt_insertonpg
. ensure the optimization is also applied to unlogged tables.

Pavan Deolasee and Peter Geoghegan with some very light editing from me.

Discussion: https://postgr.es/m/CABOikdO8jhRarNC60nZLktZYhxt+TK8z_V97+Ny499YQdyAfug@mail.gmail.com

Files

PathChange+/−
src/backend/access/nbtree/nbtinsert.c modified +52 −11
src/backend/access/nbtree/README modified +19 −0

Discussion

Cited messages not in the archive: CABOikdO8jhRarNC60nZLktZYhxt+TK8z_V97+Ny499YQdyAfug@mail.gmail.com