diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2018-05-30 19:45:39 +0300 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2018-05-30 19:45:39 +0300 |
commit | 08186dc05b3eed9c1f29b3349b122487d84ef3eb (patch) | |
tree | 9287f13a5243d46f8d2c70ee936e8b255e5d97ef /src/backend/access/nbtree/nbtinsert.c | |
parent | 3c9cf069454d80b0b4a54a0a90941a88a97b1122 (diff) |
Move _bt_upgrademetapage() into critical section.
Any changes on page should be done in critical section, so move
_bt_upgrademetapage into critical section. Improve comment. Found by Amit
Kapila during post-commit review of 857f9c36.
Author: Amit Kapila
Diffstat (limited to 'src/backend/access/nbtree/nbtinsert.c')
-rw-r--r-- | src/backend/access/nbtree/nbtinsert.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index 3d5936f186e..907cce07241 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -2150,10 +2150,6 @@ _bt_newroot(Relation rel, Buffer lbuf, Buffer rbuf) metapg = BufferGetPage(metabuf); metad = BTPageGetMeta(metapg); - /* upgrade metapage if needed */ - if (metad->btm_version < BTREE_VERSION) - _bt_upgrademetapage(metapg); - /* * Create downlink item for left page (old root). Since this will be the * first item in a non-leaf page, it implicitly has minus-infinity key @@ -2178,6 +2174,10 @@ _bt_newroot(Relation rel, Buffer lbuf, Buffer rbuf) /* NO EREPORT(ERROR) from here till newroot op is logged */ START_CRIT_SECTION(); + /* upgrade metapage if needed */ + if (metad->btm_version < BTREE_VERSION) + _bt_upgrademetapage(metapg); + /* set btree special data */ rootopaque = (BTPageOpaque) PageGetSpecialPointer(rootpage); rootopaque->btpo_prev = rootopaque->btpo_next = P_NONE; |