Remove incorrect Asserts in buffile.c
authorDavid Rowley <[email protected]>
Wed, 3 Jul 2024 21:44:34 +0000 (09:44 +1200)
committerDavid Rowley <[email protected]>
Wed, 3 Jul 2024 21:44:34 +0000 (09:44 +1200)
Both BufFileSize() and BufFileAppend() contained Asserts to ensure the
given BufFile(s) had a valid fileset.  A valid fileset isn't required in
either of these functions, so remove the Asserts and adjust the
comments accordingly.

This was noticed while work was being done on a new patch to call
BufFileSize() on a BufFile without a valid fileset.  It seems there's
currently no code in the tree which could trigger these Asserts, so no
need to backpatch this, for now.

Reviewed-by: Peter Geoghegan, Matthias van de Meent, Tom Lane
Discussion: https://postgr.es/m/CAApHDvofgZT0VzydhyGH5MMb-XZzNDqqAbzf1eBZV5HDm3%2BosQ%40mail.gmail.com

src/backend/storage/file/buffile.c

index a263875fd5a25e640905ceaf598d61c67b63e635..a27f51f62207e796a2f2ce67d1949ae1c6c207bc 100644 (file)
@@ -857,9 +857,9 @@ BufFileSeekBlock(BufFile *file, int64 blknum)
 }
 
 /*
- * Return the current fileset based BufFile size.
+ * Returns the amount of data in the given BufFile, in bytes.
  *
- * Counts any holes left behind by BufFileAppend as part of the size.
+ * Returned value includes the size of any holes left behind by BufFileAppend.
  * ereport()s on failure.
  */
 int64
@@ -867,8 +867,6 @@ BufFileSize(BufFile *file)
 {
    int64       lastFileSize;
 
-   Assert(file->fileset != NULL);
-
    /* Get the size of the last physical file. */
    lastFileSize = FileSize(file->files[file->numFiles - 1]);
    if (lastFileSize < 0)
@@ -883,8 +881,7 @@ BufFileSize(BufFile *file)
 }
 
 /*
- * Append the contents of source file (managed within fileset) to
- * end of target file (managed within same fileset).
+ * Append the contents of the source file to the end of the target file.
  *
  * Note that operation subsumes ownership of underlying resources from
  * "source".  Caller should never call BufFileClose against source having
@@ -908,10 +905,8 @@ BufFileAppend(BufFile *target, BufFile *source)
    int         newNumFiles = target->numFiles + source->numFiles;
    int         i;
 
-   Assert(target->fileset != NULL);
    Assert(source->readOnly);
    Assert(!source->dirty);
-   Assert(source->fileset != NULL);
 
    if (target->resowner != source->resowner)
        elog(ERROR, "could not append BufFile with non-matching resource owner");