]> granicus.if.org Git - postgresql/commit
Fix handling of non-upgraded B-tree metapages
authorTeodor Sigaev <teodor@sigaev.ru>
Thu, 5 Apr 2018 14:56:00 +0000 (17:56 +0300)
committerTeodor Sigaev <teodor@sigaev.ru>
Thu, 5 Apr 2018 14:56:00 +0000 (17:56 +0300)
commit0a64b45152b593c5eb95f2e88fbce7fbfe84ae7b
treef28cd056f3df8f09549dedb400eb890d333f8100
parent01b88b4df5e2df0365cceaf79a039214d9f05273
Fix handling of non-upgraded B-tree metapages

857f9c36 bumps B-tree metapage version while upgrade is performed "on the fly"
when needed. However, some asserts fired when old version metapage was
cached to rel->rd_amcache. Despite new metadata fields are never used from
rel->rd_amcache, that needs to be fixed. This patch introduces metadata
upgrade during its caching, which fills unavailable fields with their default
values. contrib/pageinspect is also patched to handle non-upgraded metapages
in the same way.

Author: Alexander Korotkov
contrib/pageinspect/btreefuncs.c
src/backend/access/nbtree/nbtpage.c