Remove EXTENSION_DONT_CHECK_SIZE from md.c.
authorThomas Munro <[email protected]>
Sat, 14 Dec 2024 07:59:58 +0000 (20:59 +1300)
committerThomas Munro <[email protected]>
Sat, 14 Dec 2024 08:52:10 +0000 (21:52 +1300)
Commits 7bb3102c and 3eb77eba removed the only user of the
EXTENSION_DONT_CHECK_SIZE flag, which had previously been required to
checkpoint truncated relations.  Since 7bb3102c, segments have been
opened directly for synchronization without calling _mdfd_getseg(), so
it doesn't need a mode that tolerates non-final short segments.  Remove
the redundant flag and associated comments.

Reported-by: Andres Freund <[email protected]>
Discussion: https://postgr.es/m/nyj4k7yur5t27rtygvx2i2lrlp6rqfvvhoiiwx4fznynksf2et%404hj2sp42alpe

src/backend/storage/smgr/md.c

index cc8a80ee96186e94d03e08b380fd2222a9e929ef..4a897a83593b42b209db3568c8dbd3497534e36d 100644 (file)
@@ -106,14 +106,6 @@ static MemoryContext MdCxt;        /* context for all MdfdVec objects */
 #define EXTENSION_CREATE           (1 << 2)
 /* create new segments if needed during recovery */
 #define EXTENSION_CREATE_RECOVERY  (1 << 3)
-/*
- * Allow opening segments which are preceded by segments smaller than
- * RELSEG_SIZE, e.g. inactive segments (see above). Note that this breaks
- * mdnblocks() and related functionality henceforth - which currently is ok,
- * because this is only required in the checkpointer which never uses
- * mdnblocks().
- */
-#define EXTENSION_DONT_CHECK_SIZE  (1 << 4)
 /* don't try to open a segment, if not already open */
 #define EXTENSION_DONT_OPEN            (1 << 5)
 
@@ -1683,14 +1675,12 @@ _mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno,
            }
            flags = O_CREAT;
        }
-       else if (!(behavior & EXTENSION_DONT_CHECK_SIZE) &&
-                nblocks < ((BlockNumber) RELSEG_SIZE))
+       else if (nblocks < ((BlockNumber) RELSEG_SIZE))
        {
            /*
-            * When not extending (or explicitly including truncated
-            * segments), only open the next segment if the current one is
-            * exactly RELSEG_SIZE.  If not (this branch), either return NULL
-            * or fail.
+            * When not extending, only open the next segment if the current
+            * one is exactly RELSEG_SIZE.  If not (this branch), either
+            * return NULL or fail.
             */
            if (behavior & EXTENSION_RETURN_NULL)
            {