postgresql/src/backend/access
Heikki Linnakangas 023430abf7 Fix handling of all-zero pages in SP-GiST vacuum.
SP-GiST initialized an all-zeros page at vacuum, but that was not
WAL-logged, which is not safe. You might get a torn page write, when it gets
flushed to disk, and end-up with a half-initialized index page. To fix,
leave it in the all-zeros state, and add it to the FSM. It will be
initialized when reused. Also don't set the page-deleted flag when recycling
an empty page. That was also not WAL-logged, and a torn write of that would
cause the page to have an invalid checksum.

Backpatch to 9.2, where SP-GiST indexes were added.
2015-07-27 12:28:21 +03:00
..
brin Improve BRIN documentation somewhat 2015-07-20 12:16:40 +02:00
common Remove obsolete heap_formtuple/modifytuple/deformtuple functions. 2015-07-02 21:21:23 +03:00
gin Initialize GIN metapage correctly when replaying metapage-update WAL record. 2015-06-30 00:06:00 +03:00
gist pgindent run for 9.5 2015-05-23 21:35:49 -04:00
hash
heap Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
index pgindent run for 9.5 2015-05-23 21:35:49 -04:00
nbtree Avoid calling PageGetSpecialPointer() on an all-zeros page. 2015-07-27 12:24:27 +03:00
rmgrdesc Use appendStringInfoString/Char et al where appropriate. 2015-07-02 12:36:03 +03:00
spgist Fix handling of all-zero pages in SP-GiST vacuum. 2015-07-27 12:28:21 +03:00
tablesample Dodge portability issue (apparent compiler bug) in new tablesample code. 2015-07-25 19:42:32 -04:00
transam Fix off-by-one error in calculating subtrans/multixact truncation point. 2015-07-23 01:29:59 +03:00
Makefile