]> granicus.if.org Git - postgresql/commit
Suppress useless searches for unused line pointers in PageAddItem. To do
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2007 00:48:44 +0000 (00:48 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2007 00:48:44 +0000 (00:48 +0000)
commitfb276438b61efc8d6b16ffbca03212305bbf7e84
treed81efefaa244e77761f483d3721656651e7a0666
parent44f72c6e9e4e8c3d9c64fc606202b2c90ec1ceda
Suppress useless searches for unused line pointers in PageAddItem.  To do
this, add a 16-bit "flags" field to page headers by stealing some bits from
pd_tli.  We use one flag bit as a hint to indicate whether there are any
unused line pointers; the remaining 15 are available for future use.

This is a cut-down form of an idea proposed by Hiroki Kataoka in July 2005.
At the time it was rejected because the original patch increased the size of
page headers and it wasn't clear that the benefit outweighed the distributed
cost.  The flag-bit approach gets most of the benefit without requiring an
increase in the page header size.

Heikki Linnakangas and Tom Lane
doc/src/sgml/storage.sgml
src/backend/storage/page/bufpage.c
src/include/catalog/catversion.h
src/include/storage/bufpage.h