From 7425d5b1b9d30f0da75aabd94e862906f9635a60 Mon Sep 17 00:00:00 2001 From: Karina Litskevich Date: Fri, 30 Jun 2023 21:26:18 +0300 Subject: [PATCH v4] Remove always true checks Also add asserts that help understanding these checks are always true --- src/backend/storage/buffer/bufmgr.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 3c59bbd04e..7b1e2e1284 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -851,6 +851,8 @@ ExtendBufferedRelBy(ExtendBufferedWhat eb, { Assert((eb.rel != NULL) != (eb.smgr != NULL)); Assert(eb.smgr == NULL || eb.relpersistence != 0); + Assert(eb.rel != NULL || (flags & EB_SKIP_EXTENSION_LOCK) && + !(flags & EB_CREATE_FORK_IF_NEEDED)); Assert(extend_by > 0); if (eb.smgr == NULL) @@ -887,6 +889,8 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, Assert((eb.rel != NULL) != (eb.smgr != NULL)); Assert(eb.smgr == NULL || eb.relpersistence != 0); + Assert(eb.rel != NULL || (flags & EB_SKIP_EXTENSION_LOCK) && + !(flags & EB_CREATE_FORK_IF_NEEDED)); Assert(extend_to != InvalidBlockNumber && extend_to > 0); if (eb.smgr == NULL) @@ -908,8 +912,7 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, LockRelationForExtension(eb.rel, ExclusiveLock); /* could have been closed while waiting for lock */ - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + eb.smgr = RelationGetSmgr(eb.rel); /* recheck, fork might have been created concurrently */ if (!smgrexists(eb.smgr, fork)) @@ -1875,8 +1878,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, if (!(flags & EB_SKIP_EXTENSION_LOCK)) { LockRelationForExtension(eb.rel, ExclusiveLock); - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + eb.smgr = RelationGetSmgr(eb.rel); } /* -- 2.25.1