]> granicus.if.org Git - postgresql/commit
Adjust btree index build procedure so that the btree metapage looks
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 29 Sep 2003 23:40:26 +0000 (23:40 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 29 Sep 2003 23:40:26 +0000 (23:40 +0000)
commite33f205a945e7497b9aecffffb7e3b0a199f8a29
treecf5d530e56ed7d44b379058f479949a98050291e
parent6b4caf53e632db88a7bae21a0494c50b54120e38
Adjust btree index build procedure so that the btree metapage looks
invalid (has the wrong magic number) until the build is entirely
complete.  This turns out to cost no additional writes in the normal
case, since we were rewriting the metapage at the end of the process
anyway.  In normal scenarios there's no real gain in security, because
a failed index build would roll back the transaction leaving an unused
index file, but for rebuilding shared system indexes this seems to add
some useful protection.
doc/src/sgml/ref/reindex.sgml
src/backend/access/nbtree/nbtpage.c
src/backend/access/nbtree/nbtree.c
src/backend/access/nbtree/nbtsort.c
src/backend/access/nbtree/nbtxlog.c
src/include/access/nbtree.h