Обсуждение: pgsql: Fix handling of non-upgraded B-tree metapages

Поиск
Список
Период
Сортировка

pgsql: Fix handling of non-upgraded B-tree metapages

От
Teodor Sigaev
Дата:
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0a64b45152b593c5eb95f2e88fbce7fbfe84ae7b

Modified Files
--------------
contrib/pageinspect/btreefuncs.c    | 17 ++++++++++++--
src/backend/access/nbtree/nbtpage.c | 47 ++++++++++++++++++++++++++++++++-----
2 files changed, 56 insertions(+), 8 deletions(-)