]> granicus.if.org Git - postgresql/commit
Avoid looping through line pointers twice in PageRepairFragmentation().
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Nov 2017 21:21:59 +0000 (17:21 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Nov 2017 21:21:59 +0000 (17:21 -0400)
commita9169f0200fc57e01cbd216bbd41c9ea3a79a7b0
tree58e6a30aa84fae179f5469f1c0a4b1f9d5aa31f9
parent4c11d2c559e76892156fd08d6a3cf5e1848a017f
Avoid looping through line pointers twice in PageRepairFragmentation().

There doesn't seem to be any good reason to do the filling of the
itemidbase[] array separately from the first traversal of the pointers.
It's certainly not a win if there are any line pointers with storage,
and even if there aren't, this change doesn't insert code into the part
of the first loop that will be traversed in that case.  So let's just
merge the two loops.

Yura Sokolov, reviewed by Claudio Freire

Discussion: https://postgr.es/m/e49befcc6f1d7099834c6fdf5c675a60@postgrespro.ru
src/backend/storage/page/bufpage.c